diff --git a/.github/workflows/ci_nextflow.yml b/.github/workflows/ci_nextflow.yml index 42e7d92..d06a9e3 100644 --- a/.github/workflows/ci_nextflow.yml +++ b/.github/workflows/ci_nextflow.yml @@ -23,7 +23,7 @@ jobs: run: | nextflow run ${GITHUB_WORKSPACE} -profile docker --fastq "test/data/tiny_{1,2}.*" \ --reference "test/data/tiny_reference.fasta" --max_cpus 2 --max_memory 4.GB \ - --abyss false --bcalm false --gatb_minia false --idba false --metahipmer2 false \ + --abyss false --gatb_minia false --idba false --metahipmer2 false \ --minia false --megahit false --metaspades false --spades false --unicycler false \ --velvetoptimiser false FILE=report/index.html @@ -50,7 +50,7 @@ jobs: run: | nextflow run ${GITHUB_WORKSPACE} -profile singularity --fastq "test/data/tiny_{1,2}.*" \ --reference "test/data/tiny_reference.fasta" --max_cpus 2 --max_memory 4.GB \ - --abyss false --bcalm false --gatb_minia false --idba false --metahipmer2 false \ + --abyss false --gatb_minia false --idba false --metahipmer2 false \ --minia false --megahit false --metaspades false --spades false --unicycler false \ --velvetoptimiser false FILE=report/index.html diff --git a/conf/containers.config b/conf/containers.config index 568d586..a39bb0c 100644 --- a/conf/containers.config +++ b/conf/containers.config @@ -1,13 +1,10 @@ process { withName: REFORMAT { - container = "pcerqueira/bbtools:38.44" + container = "pcerqueira/bbtools:38.44" } withName: ABYSS { container = "cimendes/abyss:2.3.1-1" } - withName: BCALM2 { - container = "cimendes/bcalm:2.2.3-1" - } withName: GATBMINIAPIPELINE { container = "cimendes/gatb-minia-pipeline:31.07.2020-1" } diff --git a/conf/params.config b/conf/params.config index a5147e0..856ac77 100644 --- a/conf/params.config +++ b/conf/params.config @@ -17,10 +17,6 @@ params { abyssKmerSize = 96 abyssBloomSize = '2G' - //BCALM2 - bcalm = false - bcalmKmerSize = 31 - //GATB Minia Pipeline gatb_minia = true gatbKmerSize = '21,61,101,141,181' diff --git a/docker/bcalm/Dockerfile b/docker/bcalm/Dockerfile deleted file mode 100644 index 8b467d7..0000000 --- a/docker/bcalm/Dockerfile +++ /dev/null @@ -1,29 +0,0 @@ -FROM ubuntu:16.04 - -LABEL software="BCALM" \ - software.version="2.2.3" \ - about.home="https://github.com/GATB/bcalm" \ - about.summary="Compacted de Bruijn graph construction in low memory" \ - about.documentation="https://github.com/GATB/bcalm#readme" \ - about.license="https://github.com/GATB/bcalm/blob/master/LICENSE" \ - author="InĂªs Mendes " - -RUN apt-get update && apt-get -y install build-essential \ - wget \ - git - -RUN apt-get -y install software-properties-common -RUN add-apt-repository ppa:ubuntu-toolchain-r/test -RUN apt-get update -RUN apt-get -y install gcc-4.9 -RUN apt-get -y upgrade libstdc++6 -WORKDIR /NGStools - -# Dependencies -# BCALM -RUN wget https://github.com/GATB/bcalm/releases/download/v2.2.3/bcalm-binaries-v2.2.3-Linux.tar.gz -RUN tar xf bcalm-binaries-v2.2.3-Linux.tar.gz && rm bcalm-binaries-v2.2.3-Linux.tar.gz - -ENV PATH="/NGStools/bcalm-binaries-v2.2.3-Linux/bin:${PATH}" - -WORKDIR /data \ No newline at end of file diff --git a/lib/CheckParams.groovy b/lib/CheckParams.groovy index 701a98f..3cd7762 100644 --- a/lib/CheckParams.groovy +++ b/lib/CheckParams.groovy @@ -9,11 +9,10 @@ class Params { if (params.fastq instanceof Boolean) {print_error("'--fastq' must be a path pattern. Provided value: '$params.fastq'")} // assembler skipping - if (!params.abyss && !params.bcalm && !params.gatb_minia && !params.idba && !params.metahipmer2 && !params.minia && !params.megahit && !params.metaspades && !params.spades && !params.skesa && !params.unicycler && !params.velvetoptimiser) {print_error("All assembly processes set to false. Exiting.")} + if (!params.abyss && !params.gatb_minia && !params.idba && !params.metahipmer2 && !params.minia && !params.megahit && !params.metaspades && !params.spades && !params.skesa && !params.unicycler && !params.velvetoptimiser) {print_error("All assembly processes set to false. Exiting.")} // assembler parameters - if (!params.abyssKmerSize.toString().isNumber()) {print_error("'--bcalmKmerSize' parameter must be a number. Provided value: '$params.abyssKmerSize'")} - if (!params.bcalmKmerSize.toString().isNumber()) {print_error("'--bcalmKmerSize' parameter must be a number. Provided value: '$params.bcalmKmerSize'")} + if (!params.abyssKmerSize.toString().isNumber()) {print_error("'--abyssKmerSize' parameter must be a number. Provided value: '$params.abyssKmerSize'")} if (!params.gatb_besst_iter.toString().isNumber()) {print_error("'--gatb_besst_iter' parameter must be a number. Provided value: '$params.gatb_besst_iter'")} if (params.metaspadesKmerSize.toString().split(" ").size() <= 1) {if (params.metaspadesKmerSize.toString() != 'auto') {print_error("'--metaspadesKmerSize' parameter must be a sequence of space separated numbers or 'auto'. Provided value: '$params.metaspadesKmerSize'")}} if (params.spadesKmerSize.toString().split(" ").size() <= 1) {if (params.spadesKmerSize.toString() != 'auto'){print_error("'--spadesKmerSize' parameter must be a sequence of space separated numbers or 'auto'. Provided value: '$params.spadesKmerSize'")}} diff --git a/lib/Helper.groovy b/lib/Helper.groovy index b583ae0..851ea32 100644 --- a/lib/Helper.groovy +++ b/lib/Helper.groovy @@ -12,7 +12,6 @@ class Help { println "" int nsamples = info.fastq / 2 println " Input FastQ : $nsamples" - println " Reference file : $info.referece" println " Reports are found in : ./reports" println " Results are found in : ./results" println " Profile : $profile" @@ -65,10 +64,6 @@ class Help { println " --abyssBloomSize Bloom filter size for the ABySS assembler." println " It must be a sting with a value and an unit." println " (default: $params.abyssBloomSize)" - println " --bcalm Boolean controling the execution of the BCALM2 assembler." - println " (default: $params.bcalm)" - println " --bcalmKmerSize K-mer size for the BCALM2 assembler, as an intiger." - println " (default $params.bcalmKmerSize)" println " --gatb_minia Boolean controling the execution of the GATB Minia Pipeline assembler." println " (default: $params.gatb_minia)" println " --gatbKmerSize K-mer sizes for the GATB Minia Pipeline assembler." diff --git a/main.nf b/main.nf index 3dd0470..9b56cde 100644 --- a/main.nf +++ b/main.nf @@ -49,11 +49,7 @@ if (params.containsKey('fastq')) { infoMap.put('fastq', file(params.fastq).size()) } if (params.containsKey('reference')) { - if (file(params.reference) instanceof LinkedList) { - infoMap.put('reference', file(params.reference).size()) - } else { - infoMap.put('fasta', 1) - } + infoMap.put('reference', file(params.reference).getName()) } Help.start_info(infoMap, "$workflow.start", "$workflow.profile", "$workflow.manifest.version") diff --git a/modules/assembly/assembly.nf b/modules/assembly/assembly.nf index cdf2101..0ba7758 100644 --- a/modules/assembly/assembly.nf +++ b/modules/assembly/assembly.nf @@ -53,41 +53,6 @@ process ABYSS { """ } -process BCALM2 { - - tag { sample_id } - label 'process_assembly' - publishDir "results/$sample_id/assembly/bcalm2/" - - when: - params.bcalm - - input: - tuple val(sample_id), path(fastq) - val KmerSize - - output: - tuple val(sample_id), val('BCALM2'), path('*_BCALM2.fasta'), emit: assembly - path('.*version'), emit: version - - script: - """ - ls -1 $fastq > list_reads - bcalm -version | head -n 1 | awk -F ', ' '{print \$2}' | awk -F ' ' '{print \$2}' | awk -F 'v' '{print \$2}' \ - > .${sample_id}_BCALM2_version - { - bcalm -in list_reads -out ${sample_id} -kmer-size $KmerSize - mv ${sample_id}.unitigs.fa ${sample_id}_BCALM2.fasta - echo pass > .status - } || { - echo fail > .status - :> ${sample_id}_BCALM2.fasta - } - # remove temp files - rm list_reads *.fa || true - """ -} - process GATBMINIAPIPELINE { tag { sample_id } @@ -440,7 +405,6 @@ workflow assembly_wf { abyssKmerSize = Channel.value(params.abyssKmerSize) abyssBloomSize = Channel.value(params.abyssBloomSize) - bcalmKmerSize = Channel.value(params.bcalmKmerSize) gatbKmerSize = Channel.value(params.gatbKmerSize) GATB_error_correction = params.gatb_error_correction ? 'true' : 'false' gatb_besst_iter = Channel.value(params.gatb_besst_iter) @@ -456,7 +420,6 @@ workflow assembly_wf { main: REFORMAT(IN_fastq_raw) ABYSS(IN_fastq_raw, abyssKmerSize, abyssBloomSize) - BCALM2(IN_fastq_raw, bcalmKmerSize) GATBMINIAPIPELINE(IN_fastq_raw, gatbKmerSize, GATB_error_correction, gatb_besst_iter) IDBA(REFORMAT.out) MEGAHIT(IN_fastq_raw, megahitKmerSize) @@ -469,8 +432,7 @@ workflow assembly_wf { VELVETOPTIMISER(IN_fastq_raw) emit: - all_assemblies = ABYSS.out.assembly | mix(BCALM2.out.assembly, - GATBMINIAPIPELINE.out.assembly, + all_assemblies = ABYSS.out.assembly | mix(GATBMINIAPIPELINE.out.assembly, IDBA.out.assembly, MEGAHIT.out.assembly, METAHIPMER2.out.assembly, @@ -480,8 +442,7 @@ workflow assembly_wf { SPADES.out.assembly, UNICYCLER.out.assembly, VELVETOPTIMISER.out.assembly) - all_versions = ABYSS.out.version | mix(BCALM2.out.version, - GATBMINIAPIPELINE.out.version, + all_versions = ABYSS.out.version | mix(GATBMINIAPIPELINE.out.version, IDBA.out.version, MEGAHIT.out.version, METAHIPMER2.out.version,