From b789faa34b60cb3ef62c8edc47ad8ddbe2724b56 Mon Sep 17 00:00:00 2001 From: Joon-Klaps Date: Thu, 28 Sep 2023 10:49:44 +0000 Subject: [PATCH] Catchin trinity errors --- conf/modules.config | 6 +++- .../local/fastq_spades_trinity_megahit.nf | 31 ++++++++----------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index 5e616530..360978bf 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -12,6 +12,7 @@ variant_caller = params.variant_caller intermediate_variant_caller = params.intermediate_variant_caller +assemblers = params.assemblers ? params.assemblers.split(',').collect{ it.trim().toLowerCase() } : [] process { @@ -219,7 +220,10 @@ process { withName: TRINITY { cpus = { check_max( 12 * task.attempt, 'cpus' ) } // defeault was 1 - errorStrategy = { task.exitStatus == 2 ? 'ignore' : 'retry' } // can fail with very few reads + errorStrategy = + 'megahit' in assemblers || 'spades' in assemblers ? + { task.exitStatus == 2 ? 'ignore' : 'retry' } : // can fail with very few reads see issue #21 + {'retry'} ext.args = "--min_contig_length ${params.min_contig_size} --NO_SEQTK" publishDir = [ path: { "${params.outdir}/assembly/assemblers/trinity/" }, diff --git a/subworkflows/local/fastq_spades_trinity_megahit.nf b/subworkflows/local/fastq_spades_trinity_megahit.nf index 419dcb02..d131a26f 100644 --- a/subworkflows/local/fastq_spades_trinity_megahit.nf +++ b/subworkflows/local/fastq_spades_trinity_megahit.nf @@ -16,10 +16,7 @@ workflow FASTQ_SPADES_TRINITY_MEGAHIT { main: ch_versions = Channel.empty() - ch_scaffolds = reads.map{meta,reads -> [meta]} - ch_scaffolds_spades = Channel.empty() - ch_scaffolds_trinity = Channel.empty() - ch_scaffolds_megahit = Channel.empty() + ch_scaffolds = Channel.empty() // SPADES if ('spades' in assemblers) { @@ -31,36 +28,37 @@ workflow FASTQ_SPADES_TRINITY_MEGAHIT { ) ch_versions = ch_versions.mix(SPADES.out.versions.first()) - ch_scaffolds_spades = SPADES.out.scaffolds - ch_scaffolds = ch_scaffolds.join(ch_scaffolds_spades,remainder: true) + ch_scaffolds = ch_scaffolds.mix( SPADES.out.scaffolds) } // TRINITY if ('trinity' in assemblers) { TRINITY(reads) + TRINITY + .out + .transcript_fasta + .filter{ meta, contigs -> contigs != null } // filter out empty contigs check issue #21 + .set{ch_scaffolds_trinity} + ch_versions = ch_versions.mix(TRINITY.out.versions.first()) - ch_scaffolds_trinity = TRINITY.out.transcript_fasta - ch_scaffolds = ch_scaffolds.join(ch_scaffolds_trinity,remainder: true) + ch_scaffolds = ch_scaffolds.mix(ch_scaffolds_trinity) } // MEGAHIT if ('megahit' in assemblers) { MEGAHIT(reads) - ch_versions = ch_versions.mix(MEGAHIT.out.versions.first()) - ch_scaffolds_megahit = MEGAHIT.out.contigs - ch_scaffolds = ch_scaffolds.join(ch_scaffolds_megahit,remainder: true) + ch_scaffolds = ch_scaffolds.mix(MEGAHIT.out.contigs) } // ch_scaffolds, go from [meta,scaffold1,scaffold2] to [meta,[scaffolds]] ch_scaffolds - .map{ - it -> - [it[0],it[1..-1]] - } + .groupTuple() .set{ch_scaffolds_combined} + ch_scaffolds_combined.view() + CAT_CAT(ch_scaffolds_combined) ch_versions = CAT_CAT.out.versions.first() @@ -68,9 +66,6 @@ workflow FASTQ_SPADES_TRINITY_MEGAHIT { emit: scaffolds = CAT_CAT.out.file_out // channel: [ val(meta), [ scaffolds] ] - scaffolds_spades = ch_scaffolds_spades // channel: [ val(meta), [ scaffolds] ] - ch_scaffolds_trinity = ch_scaffolds_trinity // channel: [ val(meta), [ scaffolds] ] - ch_scaffolds_megahit = ch_scaffolds_megahit // channel: [ val(meta), [ scaffolds] ] versions = ch_versions // channel: [ versions.yml ] // there are not any MQC files available for spades, trinity and megahit