diff --git a/conf/modules.config b/conf/modules.config index 6e28f549b..764838d01 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -19,8 +19,7 @@ def rseqc_modules = params.rseqc_modules ? params.rseqc_modules.split(',').colle process { publishDir = [ path: { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] withName: 'CUSTOM_DUMPSOFTWAREVERSIONS' { @@ -41,7 +40,7 @@ process { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_reference ? filename : null } + saveAs: { filename -> params.save_reference ? filename : null } ] } @@ -53,7 +52,7 @@ process { publishDir = [ path: { "${params.outdir}/genome/index" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_reference ? filename : null } + saveAs: { filename -> params.save_reference ? filename : null } ] } @@ -62,7 +61,7 @@ process { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_reference ? filename : null } + saveAs: { filename -> params.save_reference ? filename : null } ] } @@ -70,7 +69,7 @@ process { publishDir = [ path: { "${params.outdir}/genome/index" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_reference ? filename : null } + saveAs: { filename -> params.save_reference ? filename : null } ] } @@ -79,7 +78,7 @@ process { publishDir = [ path: { "${params.outdir}/genome/index" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_reference ? filename : null } + saveAs: { filename -> params.save_reference ? filename : null } ] } @@ -88,7 +87,7 @@ process { publishDir = [ path: { "${params.outdir}/genome/index" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_reference ? filename : null } + saveAs: { filename -> params.save_reference ? filename : null } ] } @@ -97,7 +96,7 @@ process { publishDir = [ path: { "${params.outdir}/genome/index" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_reference ? filename : null } + saveAs: { filename -> params.save_reference ? filename : null } ] } @@ -105,7 +104,7 @@ process { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_reference ? filename : null } + saveAs: { filename -> params.save_reference ? filename : null } ] } @@ -113,7 +112,7 @@ process { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_reference ? filename : null } + saveAs: { filename -> params.save_reference ? filename : null } ] } @@ -122,7 +121,7 @@ process { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_reference ? filename : null } + saveAs: { filename -> params.save_reference ? filename : null } ] } @@ -130,7 +129,7 @@ process { publishDir = [ path: { "${params.outdir}/genome" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_reference ? filename : null } + saveAs: { filename -> params.save_reference ? filename : null } ] } @@ -138,7 +137,7 @@ process { publishDir = [ path: { "${params.outdir}/fastq" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_merged_fastq ? filename : null } + saveAs: { params.save_merged_fastq ? filename : null } ] } } @@ -150,7 +149,7 @@ if (!params.skip_bbsplit && params.bbsplit_fasta_list) { publishDir = [ path: { "${params.outdir}/genome/index" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : params.save_reference ? filename : null } + saveAs: { filename -> params.save_reference ? filename : null } ] } } @@ -200,8 +199,7 @@ if (!(params.skip_fastqc || params.skip_qc)) { ext.args = '--quiet' publishDir = [ path: { "${params.outdir}/${params.trimmer}/fastqc" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } @@ -485,8 +483,7 @@ if (!params.skip_alignment) { ext.prefix = { "${meta.id}.forward" } publishDir = [ path: { "${params.outdir}/${params.aligner}/bigwig" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } @@ -501,8 +498,7 @@ if (!params.skip_alignment) { ext.prefix = { "${meta.id}.reverse" } publishDir = [ path: { "${params.outdir}/${params.aligner}/bigwig" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } @@ -517,8 +513,7 @@ if (!params.skip_alignment) { ].join(' ').trim() } publishDir = [ path: { "${params.outdir}/${params.aligner}/stringtie" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } @@ -572,15 +567,14 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') { publishDir = [ path: { "${params.outdir}/${params.aligner}" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') || filename.endsWith('_meta_info.json') ? null : filename } + saveAs: { filename -> filename.endsWith('_meta_info.json') ? null : filename } ] } withName: '.*:QUANTIFY_STAR_SALMON:TX2GENE' { publishDir = [ path: { "${params.outdir}/${params.aligner}" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } @@ -588,16 +582,14 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') { ext.prefix = { "${quant_type}.merged" } publishDir = [ path: { "${params.outdir}/${params.aligner}" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } withName: '.*:QUANTIFY_STAR_SALMON:SE_.*' { publishDir = [ path: { "${params.outdir}/${params.aligner}" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } @@ -760,8 +752,7 @@ if (!params.skip_alignment && params.aligner == 'star_rsem') { withName: '.*:QUANTIFY_RSEM:RSEM_MERGE_COUNTS' { publishDir = [ path: { "${params.outdir}/${params.aligner}" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } @@ -847,8 +838,7 @@ if (!params.skip_alignment && !params.skip_qc) { withName: 'QUALIMAP_RNASEQ' { publishDir = [ path: { "${params.outdir}/${params.aligner}/qualimap" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } @@ -898,16 +888,14 @@ if (!params.skip_alignment && !params.skip_qc) { ].join(' ').trim() } publishDir = [ path: { "${params.outdir}/${params.aligner}/featurecounts" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } withName: 'MULTIQC_CUSTOM_BIOTYPE' { publishDir = [ path: { "${params.outdir}/${params.aligner}/featurecounts" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } @@ -918,8 +906,7 @@ if (!params.skip_alignment && !params.skip_qc) { withName: '.*:BAM_RSEQC:RSEQC_BAMSTAT' { publishDir = [ path: { "${params.outdir}/${params.aligner}/rseqc/bam_stat" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } @@ -930,8 +917,7 @@ if (!params.skip_alignment && !params.skip_qc) { withName: '.*:BAM_RSEQC:RSEQC_INFEREXPERIMENT' { publishDir = [ path: { "${params.outdir}/${params.aligner}/rseqc/infer_experiment" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } @@ -1019,8 +1005,7 @@ if (!params.skip_alignment && !params.skip_qc) { withName: '.*:BAM_RSEQC:RSEQC_READDISTRIBUTION' { publishDir = [ path: { "${params.outdir}/${params.aligner}/rseqc/read_distribution" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } @@ -1033,8 +1018,7 @@ if (!params.skip_alignment && !params.skip_qc) { [ path: { "${params.outdir}/${params.aligner}/rseqc/inner_distance/txt" }, mode: params.publish_dir_mode, - pattern: '*.txt', - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + pattern: '*.txt' ], [ path: { "${params.outdir}/${params.aligner}/rseqc/inner_distance/pdf" }, @@ -1056,8 +1040,7 @@ if (!params.skip_alignment && !params.skip_qc) { withName: '.*:BAM_RSEQC:RSEQC_TIN' { publishDir = [ path: { "${params.outdir}/${params.aligner}/rseqc/tin" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } @@ -1074,8 +1057,7 @@ if (!params.skip_multiqc) { "${params.outdir}/multiqc", params.skip_alignment? '' : "/${params.aligner}" ].join('') }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } @@ -1093,7 +1075,7 @@ if (!params.skip_pseudo_alignment && params.pseudo_aligner == 'salmon') { publishDir = [ path: { "${params.outdir}/${params.pseudo_aligner}" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') || filename.endsWith('_meta_info.json') ? null : filename } + saveAs: { filename -> filename.endsWith('_meta_info.json') ? null : filename } ] } } @@ -1106,7 +1088,7 @@ if (!params.skip_pseudo_alignment && params.pseudo_aligner == 'kallisto') { publishDir = [ path: { "${params.outdir}/${params.pseudo_aligner}" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') || filename.endsWith('.run_info.json') || filename.endsWith('.log') ? null : filename } + saveAs: { filename -> filename.endsWith('.run_info.json') || filename.endsWith('.log') ? null : filename } ] } } @@ -1117,8 +1099,7 @@ if (!params.skip_pseudo_alignment) { withName: '.*:QUANTIFY_PSEUDO_ALIGNMENT:TX2GENE' { publishDir = [ path: { "${params.outdir}/${params.pseudo_aligner}" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } @@ -1126,16 +1107,14 @@ if (!params.skip_pseudo_alignment) { ext.prefix = { "${quant_type}.merged" } publishDir = [ path: { "${params.outdir}/${params.pseudo_aligner}" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } withName: '.*:QUANTIFY_PSEUDO_ALIGNMENT:SE_.*' { publishDir = [ path: { "${params.outdir}/${params.pseudo_aligner}" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + mode: params.publish_dir_mode ] } } diff --git a/modules/local/bedtools_genomecov/main.nf b/modules/local/bedtools_genomecov/main.nf index 0a0fb3c8b..74c1b7599 100644 --- a/modules/local/bedtools_genomecov/main.nf +++ b/modules/local/bedtools_genomecov/main.nf @@ -13,7 +13,7 @@ process BEDTOOLS_GENOMECOV { output: tuple val(meta), path("*.forward.bedGraph"), emit: bedgraph_forward tuple val(meta), path("*.reverse.bedGraph"), emit: bedgraph_reverse - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('bedtools'), cmd("bedtools --version | sed -e 's/bedtools v//g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -44,10 +44,5 @@ process BEDTOOLS_GENOMECOV { -strand - \\ $args \\ | bedtools sort > ${prefix_reverse}.bedGraph - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - bedtools: \$(bedtools --version | sed -e "s/bedtools v//g") - END_VERSIONS """ } diff --git a/modules/local/cat_additional_fasta/main.nf b/modules/local/cat_additional_fasta/main.nf index 72af4bc54..0011f5dda 100644 --- a/modules/local/cat_additional_fasta/main.nf +++ b/modules/local/cat_additional_fasta/main.nf @@ -15,7 +15,7 @@ process CAT_ADDITIONAL_FASTA { output: path "${name}.fasta", emit: fasta path "${name}.gtf" , emit: gtf - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('python'), cmd("python --version | sed 's/Python //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -33,10 +33,5 @@ process CAT_ADDITIONAL_FASTA { cat $fasta $add_fasta > ${name}.fasta cat $gtf ${add_fasta.baseName}.gtf > ${name}.gtf - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - python: \$(python --version | sed 's/Python //g') - END_VERSIONS """ } diff --git a/modules/local/deseq2_qc/main.nf b/modules/local/deseq2_qc/main.nf index 466194934..726bb7d02 100644 --- a/modules/local/deseq2_qc/main.nf +++ b/modules/local/deseq2_qc/main.nf @@ -22,7 +22,8 @@ process DESEQ2_QC { path "*sample.dists_mqc.tsv", optional:true, emit: dists_multiqc path "*.log" , optional:true, emit: log path "size_factors" , optional:true, emit: size_factors - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('r-base'), cmd("echo \$(R --version 2>&1) | sed 's/^.*R version //; s/ .*\$//'"), emit: versions1 + tuple val("${task.process}"), val('bioconductor-deseq2'), cmd("Rscript -e 'library(DESeq2); cat(as.character(packageVersion(\'DESeq2\')))'"), emit: versions2 when: task.ext.when == null || task.ext.when @@ -50,11 +51,5 @@ process DESEQ2_QC { sed -i -e "s/DESeq2 sample/${label_upper} DESeq2 sample/g" tmp.txt cat tmp.txt *.sample.dists.txt > ${label_lower}.sample.dists_mqc.tsv fi - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - r-base: \$(echo \$(R --version 2>&1) | sed 's/^.*R version //; s/ .*\$//') - bioconductor-deseq2: \$(Rscript -e "library(DESeq2); cat(as.character(packageVersion('DESeq2')))") - END_VERSIONS """ } diff --git a/modules/local/dupradar/main.nf b/modules/local/dupradar/main.nf index 9f9152d1e..27743fe25 100644 --- a/modules/local/dupradar/main.nf +++ b/modules/local/dupradar/main.nf @@ -15,7 +15,8 @@ process DUPRADAR { tuple val(meta), path("*.pdf") , emit: pdf tuple val(meta), path("*.txt") , emit: txt tuple val(meta), path("*_mqc.txt"), emit: multiqc - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('r-base'), cmd("echo \$(R --version 2>&1) | sed 's/^.*R version //; s/ .*\$//'"), emit: versions1 + tuple val("${task.process}"), val('bioconductor-dupradar'), cmd("Rscript -e 'library(dupRadar); cat(as.character(packageVersion(\'dupRadar\')))'"), emit: versions2 when: task.ext.when == null || task.ext.when @@ -38,11 +39,5 @@ process DUPRADAR { $strandedness \\ $paired_end \\ $task.cpus - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - r-base: \$(echo \$(R --version 2>&1) | sed 's/^.*R version //; s/ .*\$//') - bioconductor-dupradar: \$(Rscript -e "library(dupRadar); cat(as.character(packageVersion('dupRadar')))") - END_VERSIONS """ } diff --git a/modules/local/gtf2bed/main.nf b/modules/local/gtf2bed/main.nf index 8a4bae8ff..b8614dd85 100644 --- a/modules/local/gtf2bed/main.nf +++ b/modules/local/gtf2bed/main.nf @@ -12,7 +12,7 @@ process GTF2BED { output: path '*.bed' , emit: bed - path "versions.yml", emit: versions + tuple val("${task.process}"), val('perl'), cmd("echo \$(perl --version 2>&1) | sed 's/.*v\\(.*\\)) built.*/\\1/'"), emit: versions when: task.ext.when == null || task.ext.when @@ -22,10 +22,5 @@ process GTF2BED { gtf2bed \\ $gtf \\ > ${gtf.baseName}.bed - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - perl: \$(echo \$(perl --version 2>&1) | sed 's/.*v\\(.*\\)) built.*/\\1/') - END_VERSIONS """ } diff --git a/modules/local/gtf_filter/main.nf b/modules/local/gtf_filter/main.nf index d14e8ff42..64a0b78ce 100644 --- a/modules/local/gtf_filter/main.nf +++ b/modules/local/gtf_filter/main.nf @@ -12,7 +12,7 @@ process GTF_FILTER { output: path "*.filtered.gtf", emit: genome_gtf - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('python'), cmd("python --version | sed 's/Python //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -23,10 +23,5 @@ process GTF_FILTER { --gtf $gtf \\ --fasta $fasta \\ --prefix ${fasta.baseName} - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - python: \$(python --version | sed 's/Python //g') - END_VERSIONS """ } diff --git a/modules/local/multiqc/main.nf b/modules/local/multiqc/main.nf index a59d8a533..7f5473a7d 100644 --- a/modules/local/multiqc/main.nf +++ b/modules/local/multiqc/main.nf @@ -49,7 +49,7 @@ process MULTIQC { path "*multiqc_report.html", emit: report path "*_data" , emit: data path "*_plots" , optional:true, emit: plots - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('multiqc'), cmd("multiqc --version | sed -e 's/multiqc, version //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -65,10 +65,5 @@ process MULTIQC { $args \\ $custom_config \\ . - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - multiqc: \$( multiqc --version | sed -e "s/multiqc, version //g" ) - END_VERSIONS """ } diff --git a/modules/local/multiqc_custom_biotype/main.nf b/modules/local/multiqc_custom_biotype/main.nf index 9c0fe94eb..8cd02a6b0 100644 --- a/modules/local/multiqc_custom_biotype/main.nf +++ b/modules/local/multiqc_custom_biotype/main.nf @@ -12,7 +12,7 @@ process MULTIQC_CUSTOM_BIOTYPE { output: tuple val(meta), path("*.tsv"), emit: tsv - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('python'), cmd("python --version | sed 's/Python //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -27,10 +27,5 @@ process MULTIQC_CUSTOM_BIOTYPE { -s $meta.id \\ -f rRNA \\ -o ${prefix}.biotype_counts_rrna_mqc.tsv - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - python: \$(python --version | sed 's/Python //g') - END_VERSIONS """ } diff --git a/modules/local/preprocess_transcripts_fasta_gencode/main.nf b/modules/local/preprocess_transcripts_fasta_gencode/main.nf index 41f1d42f6..b5127378d 100644 --- a/modules/local/preprocess_transcripts_fasta_gencode/main.nf +++ b/modules/local/preprocess_transcripts_fasta_gencode/main.nf @@ -11,7 +11,7 @@ process PREPROCESS_TRANSCRIPTS_FASTA_GENCODE { output: path "*.fa" , emit: fasta - path "versions.yml", emit: versions + tuple val("${task.process}"), val('sed'), cmd("echo \$(sed --version 2>&1) | sed 's/^.*GNU sed) //; s/ .*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -22,10 +22,5 @@ process PREPROCESS_TRANSCRIPTS_FASTA_GENCODE { def command = gzipped ? 'zcat' : 'cat' """ $command $fasta | cut -d "|" -f1 > ${outfile}.fixed.fa - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - sed: \$(echo \$(sed --version 2>&1) | sed 's/^.*GNU sed) //; s/ .*\$//') - END_VERSIONS """ } diff --git a/modules/local/rsem_merge_counts/main.nf b/modules/local/rsem_merge_counts/main.nf index 3f226f54d..ce14fb146 100644 --- a/modules/local/rsem_merge_counts/main.nf +++ b/modules/local/rsem_merge_counts/main.nf @@ -15,7 +15,7 @@ process RSEM_MERGE_COUNTS { path "rsem.merged.gene_tpm.tsv" , emit: tpm_gene path "rsem.merged.transcript_counts.tsv", emit: counts_transcript path "rsem.merged.transcript_tpm.tsv" , emit: tpm_transcript - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('sed'), cmd("echo \$(sed --version 2>&1) | sed 's/^.*GNU sed) //; s/ .*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -46,10 +46,5 @@ process RSEM_MERGE_COUNTS { paste gene_ids.txt tmp/genes/*.tpm.txt > rsem.merged.gene_tpm.tsv paste transcript_ids.txt tmp/isoforms/*.counts.txt > rsem.merged.transcript_counts.tsv paste transcript_ids.txt tmp/isoforms/*.tpm.txt > rsem.merged.transcript_tpm.tsv - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - sed: \$(echo \$(sed --version 2>&1) | sed 's/^.*GNU sed) //; s/ .*\$//') - END_VERSIONS """ } diff --git a/modules/local/star_align_igenomes/main.nf b/modules/local/star_align_igenomes/main.nf index 3e5a169d8..e48b329f2 100644 --- a/modules/local/star_align_igenomes/main.nf +++ b/modules/local/star_align_igenomes/main.nf @@ -20,7 +20,9 @@ process STAR_ALIGN_IGENOMES { tuple val(meta), path('*Log.final.out') , emit: log_final tuple val(meta), path('*Log.out') , emit: log_out tuple val(meta), path('*Log.progress.out'), emit: log_progress - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('star'), cmd("STAR --version | sed -e 's/STAR_//g'"), emit: versions1 + tuple val("${task.process}"), val('samtools'), cmd("echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//'"), emit: versions2 + tuple val("${task.process}"), val('gawk'), cmd("echo \$(gawk --version 2>&1) | sed 's/^.*GNU Awk //; s/, .*\$//'"), emit: versions3 tuple val(meta), path('*sortedByCoord.out.bam') , optional:true, emit: bam_sorted tuple val(meta), path('*toTranscriptome.out.bam'), optional:true, emit: bam_transcript @@ -62,12 +64,5 @@ process STAR_ALIGN_IGENOMES { mv ${prefix}.Unmapped.out.mate2 ${prefix}.unmapped_2.fastq gzip ${prefix}.unmapped_2.fastq fi - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - star: \$(STAR --version | sed -e "s/STAR_//g") - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - gawk: \$(echo \$(gawk --version 2>&1) | sed 's/^.*GNU Awk //; s/, .*\$//') - END_VERSIONS """ } diff --git a/modules/local/star_genomegenerate_igenomes/main.nf b/modules/local/star_genomegenerate_igenomes/main.nf index 7766faaaf..0d8792699 100644 --- a/modules/local/star_genomegenerate_igenomes/main.nf +++ b/modules/local/star_genomegenerate_igenomes/main.nf @@ -13,7 +13,9 @@ process STAR_GENOMEGENERATE_IGENOMES { output: path "star" , emit: index - path "versions.yml", emit: versions + tuple val("${task.process}"), val('star'), cmd("STAR --version | sed -e 's/STAR_//g'"), emit: versions1 + tuple val("${task.process}"), val('samtools'), cmd("echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//'"), emit: versions2 + tuple val("${task.process}"), val('gawk'), cmd("echo \$(gawk --version 2>&1) | sed 's/^.*GNU Awk //; s/, .*\$//'"), emit: versions3 when: task.ext.when == null || task.ext.when @@ -33,13 +35,6 @@ process STAR_GENOMEGENERATE_IGENOMES { --runThreadN $task.cpus \\ $memory \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - star: \$(STAR --version | sed -e "s/STAR_//g") - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - gawk: \$(echo \$(gawk --version 2>&1) | sed 's/^.*GNU Awk //; s/, .*\$//') - END_VERSIONS """ } else { """ @@ -56,13 +51,6 @@ process STAR_GENOMEGENERATE_IGENOMES { --genomeSAindexNbases \$NUM_BASES \\ $memory \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - star: \$(STAR --version | sed -e "s/STAR_//g") - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - gawk: \$(echo \$(gawk --version 2>&1) | sed 's/^.*GNU Awk //; s/, .*\$//') - END_VERSIONS """ } } diff --git a/modules/local/summarizedexperiment/main.nf b/modules/local/summarizedexperiment/main.nf index f278e2301..f4af876de 100644 --- a/modules/local/summarizedexperiment/main.nf +++ b/modules/local/summarizedexperiment/main.nf @@ -14,7 +14,8 @@ process SUMMARIZEDEXPERIMENT { output: path "*.rds" , emit: rds - path "versions.yml", emit: versions + tuple val("${task.process}"), val('r-base'), cmd("echo \$(R --version 2>&1) | sed 's/^.*R version //; s/ .*\$//'"), emit: versions1 + tuple val("${task.process}"), val('bioconductor-summarizedexperiment'), cmd("Rscript -e 'library(SummarizedExperiment); cat(as.character(packageVersion(\'SummarizedExperiment\')))'"), emit: versions2 when: task.ext.when == null || task.ext.when @@ -26,11 +27,5 @@ process SUMMARIZEDEXPERIMENT { $counts \\ $tpm \\ $tx2gene - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - r-base: \$(echo \$(R --version 2>&1) | sed 's/^.*R version //; s/ .*\$//') - bioconductor-summarizedexperiment: \$(Rscript -e "library(SummarizedExperiment); cat(as.character(packageVersion('SummarizedExperiment')))") - END_VERSIONS """ } diff --git a/modules/local/tx2gene/main.nf b/modules/local/tx2gene/main.nf index 150e74afb..1bf21400c 100644 --- a/modules/local/tx2gene/main.nf +++ b/modules/local/tx2gene/main.nf @@ -14,7 +14,7 @@ process TX2GENE { output: path "*.tsv" , emit: tsv - path "versions.yml", emit: versions + tuple val("${task.process}"), val('python'), cmd("python --version | sed 's/Python //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -28,10 +28,5 @@ process TX2GENE { --id $params.gtf_group_features \\ --extra $params.gtf_extra_attributes \\ -o tx2gene.tsv - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - python: \$(python --version | sed 's/Python //g') - END_VERSIONS """ } diff --git a/modules/local/tximport/main.nf b/modules/local/tximport/main.nf index 56d826a7d..243689cdf 100644 --- a/modules/local/tximport/main.nf +++ b/modules/local/tximport/main.nf @@ -18,7 +18,8 @@ process TXIMPORT { path "*gene_counts_scaled.tsv" , emit: counts_gene_scaled path "*transcript_tpm.tsv" , emit: tpm_transcript path "*transcript_counts.tsv" , emit: counts_transcript - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('r-base'), cmd("echo \$(R --version 2>&1) | sed 's/^.*R version //; s/ .*\$//'"), emit: versions1 + tuple val("${task.process}"), val('bioconductor-tximeta'), cmd("Rscript -e 'library(tximeta); cat(as.character(packageVersion(\'tximeta\')))'"), emit: versions2 when: task.ext.when == null || task.ext.when @@ -32,11 +33,5 @@ process TXIMPORT { $prefix \\ $quant_type \\ $tx2gene - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - r-base: \$(echo \$(R --version 2>&1) | sed 's/^.*R version //; s/ .*\$//') - bioconductor-tximeta: \$(Rscript -e "library(tximeta); cat(as.character(packageVersion('tximeta')))") - END_VERSIONS """ } diff --git a/modules/local/umitools_prepareforrsem/main.nf b/modules/local/umitools_prepareforrsem/main.nf index 9ee41737d..f197c2402 100644 --- a/modules/local/umitools_prepareforrsem/main.nf +++ b/modules/local/umitools_prepareforrsem/main.nf @@ -13,7 +13,7 @@ process UMITOOLS_PREPAREFORRSEM { output: tuple val(meta), path('*.bam'), emit: bam tuple val(meta), path('*.log'), emit: log - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('umitools'), cmd("umi_tools --version 2>&1 | sed 's/^.*UMI-tools version://; s/ *\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -27,10 +27,5 @@ process UMITOOLS_PREPAREFORRSEM { --stdout=${prefix}.bam \\ --log=${prefix}.prepare_for_rsem.log \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - umitools: \$(umi_tools --version 2>&1 | sed 's/^.*UMI-tools version://; s/ *\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/bbmap/bbsplit/main.nf b/modules/nf-core/bbmap/bbsplit/main.nf index f82bb9e47..816d26650 100644 --- a/modules/nf-core/bbmap/bbsplit/main.nf +++ b/modules/nf-core/bbmap/bbsplit/main.nf @@ -20,7 +20,7 @@ process BBMAP_BBSPLIT { tuple val(meta), path('*primary*fastq.gz'), optional:true, emit: primary_fastq tuple val(meta), path('*fastq.gz') , optional:true, emit: all_fastq tuple val(meta), path('*txt') , optional:true, emit: stats - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('bbmap'), cmd("bbversion.sh | grep -v 'Duplicate cpuset'"), emit: versions when: task.ext.when == null || task.ext.when @@ -50,11 +50,6 @@ process BBMAP_BBSPLIT { path=bbsplit \\ threads=$task.cpus \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - bbmap: \$(bbversion.sh | grep -v "Duplicate cpuset") - END_VERSIONS """ } else { log.error 'ERROR: Please specify as input a primary fasta file along with names and paths to non-primary fasta files.' @@ -79,11 +74,6 @@ process BBMAP_BBSPLIT { $fastq_out \\ refstats=${prefix}.stats.txt \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - bbmap: \$(bbversion.sh | grep -v "Duplicate cpuset") - END_VERSIONS """ } } diff --git a/modules/nf-core/cat/fastq/main.nf b/modules/nf-core/cat/fastq/main.nf index 5021e6fcb..df99dd4dd 100644 --- a/modules/nf-core/cat/fastq/main.nf +++ b/modules/nf-core/cat/fastq/main.nf @@ -12,7 +12,7 @@ process CAT_FASTQ { output: tuple val(meta), path("*.merged.fastq.gz"), emit: reads - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('cat'), cmd("echo \$(cat --version 2>&1) | sed 's/^.*coreutils) //; s/ .*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -25,11 +25,6 @@ process CAT_FASTQ { if (readList.size >= 1) { """ cat ${readList.join(' ')} > ${prefix}.merged.fastq.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - cat: \$(echo \$(cat --version 2>&1) | sed 's/^.*coreutils) //; s/ .*\$//') - END_VERSIONS """ } } else { @@ -40,11 +35,6 @@ process CAT_FASTQ { """ cat ${read1.join(' ')} > ${prefix}_1.merged.fastq.gz cat ${read2.join(' ')} > ${prefix}_2.merged.fastq.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - cat: \$(echo \$(cat --version 2>&1) | sed 's/^.*coreutils) //; s/ .*\$//') - END_VERSIONS """ } } @@ -56,11 +46,6 @@ process CAT_FASTQ { if (readList.size > 1) { """ touch ${prefix}.merged.fastq.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - cat: \$(echo \$(cat --version 2>&1) | sed 's/^.*coreutils) //; s/ .*\$//') - END_VERSIONS """ } } else { @@ -68,11 +53,6 @@ process CAT_FASTQ { """ touch ${prefix}_1.merged.fastq.gz touch ${prefix}_2.merged.fastq.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - cat: \$(echo \$(cat --version 2>&1) | sed 's/^.*coreutils) //; s/ .*\$//') - END_VERSIONS """ } } diff --git a/modules/nf-core/custom/getchromsizes/main.nf b/modules/nf-core/custom/getchromsizes/main.nf index 060a2e885..f537e55a5 100644 --- a/modules/nf-core/custom/getchromsizes/main.nf +++ b/modules/nf-core/custom/getchromsizes/main.nf @@ -14,7 +14,7 @@ process CUSTOM_GETCHROMSIZES { tuple val(meta), path ("*.sizes"), emit: sizes tuple val(meta), path ("*.fai") , emit: fai tuple val(meta), path ("*.gzi") , emit: gzi, optional: true - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('getchromsizes'), cmd("echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -24,21 +24,11 @@ process CUSTOM_GETCHROMSIZES { """ samtools faidx $fasta cut -f 1,2 ${fasta}.fai > ${fasta}.sizes - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - getchromsizes: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ stub: """ touch ${fasta}.fai touch ${fasta}.sizes - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - getchromsizes: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/fastp/main.nf b/modules/nf-core/fastp/main.nf index 831b7f128..a5f07e542 100644 --- a/modules/nf-core/fastp/main.nf +++ b/modules/nf-core/fastp/main.nf @@ -18,7 +18,7 @@ process FASTP { tuple val(meta), path('*.json') , emit: json tuple val(meta), path('*.html') , emit: html tuple val(meta), path('*.log') , emit: log - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('fastp'), cmd("fastp --version 2>&1 | sed -e 's/fastp //g'"), emit: versions tuple val(meta), path('*.fail.fastq.gz') , optional:true, emit: reads_fail tuple val(meta), path('*.merged.fastq.gz'), optional:true, emit: reads_merged @@ -47,11 +47,6 @@ process FASTP { $args \\ 2> ${prefix}.fastp.log \\ | gzip -c > ${prefix}.fastp.fastq.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - fastp: \$(fastp --version 2>&1 | sed -e "s/fastp //g") - END_VERSIONS """ } else if (meta.single_end) { """ @@ -67,11 +62,6 @@ process FASTP { $fail_fastq \\ $args \\ 2> ${prefix}.fastp.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - fastp: \$(fastp --version 2>&1 | sed -e "s/fastp //g") - END_VERSIONS """ } else { def merge_fastq = save_merged ? "-m --merged_out ${prefix}.merged.fastq.gz" : '' @@ -92,11 +82,6 @@ process FASTP { --detect_adapter_for_pe \\ $args \\ 2> ${prefix}.fastp.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - fastp: \$(fastp --version 2>&1 | sed -e "s/fastp //g") - END_VERSIONS """ } } diff --git a/modules/nf-core/fastqc/main.nf b/modules/nf-core/fastqc/main.nf index 67209f793..53dfa2786 100644 --- a/modules/nf-core/fastqc/main.nf +++ b/modules/nf-core/fastqc/main.nf @@ -13,7 +13,7 @@ process FASTQC { output: tuple val(meta), path("*.html"), emit: html tuple val(meta), path("*.zip") , emit: zip - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('fastqc'), cmd("fastqc --version | sed -e 's/FastQC v//g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -34,11 +34,6 @@ process FASTQC { $args \\ --threads $task.cpus \\ $renamed_files - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" ) - END_VERSIONS """ stub: @@ -46,10 +41,5 @@ process FASTQC { """ touch ${prefix}.html touch ${prefix}.zip - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - fastqc: \$( fastqc --version | sed -e "s/FastQC v//g" ) - END_VERSIONS """ } diff --git a/modules/nf-core/fq/subsample/main.nf b/modules/nf-core/fq/subsample/main.nf index 8b4ff5be0..1098fb599 100644 --- a/modules/nf-core/fq/subsample/main.nf +++ b/modules/nf-core/fq/subsample/main.nf @@ -12,7 +12,7 @@ process FQ_SUBSAMPLE { output: tuple val(meta), path("*.fastq.gz"), emit: fastq - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('fq'), cmd("echo \$(fq subsample --version | sed 's/fq-subsample //g')"), emit: versions when: task.ext.when == null || task.ext.when @@ -46,10 +46,5 @@ process FQ_SUBSAMPLE { $fastq \\ $fastq1_output \\ $fastq2_output - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - fq: \$(echo \$(fq subsample --version | sed 's/fq-subsample //g')) - END_VERSIONS """ } diff --git a/modules/nf-core/gffread/main.nf b/modules/nf-core/gffread/main.nf index f4472b0e8..d033bb41c 100644 --- a/modules/nf-core/gffread/main.nf +++ b/modules/nf-core/gffread/main.nf @@ -12,7 +12,7 @@ process GFFREAD { output: path "*.gtf" , emit: gtf - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('gffread'), cmd("gffread --version 2>&1"), emit: versions when: task.ext.when == null || task.ext.when @@ -25,9 +25,5 @@ process GFFREAD { $gff \\ $args \\ -o ${prefix}.gtf - cat <<-END_VERSIONS > versions.yml - "${task.process}": - gffread: \$(gffread --version 2>&1) - END_VERSIONS """ } diff --git a/modules/nf-core/gunzip/main.nf b/modules/nf-core/gunzip/main.nf index 73bf08cde..4a0c6151b 100644 --- a/modules/nf-core/gunzip/main.nf +++ b/modules/nf-core/gunzip/main.nf @@ -12,7 +12,7 @@ process GUNZIP { output: tuple val(meta), path("$gunzip"), emit: gunzip - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('gunzip'), cmd("echo \$(gunzip --version 2>&1) | sed 's/^.*(gzip) //; s/ Copyright.*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -29,20 +29,11 @@ process GUNZIP { $args \\ $archive \\ > $gunzip - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - gunzip: \$(echo \$(gunzip --version 2>&1) | sed 's/^.*(gzip) //; s/ Copyright.*\$//') - END_VERSIONS """ stub: gunzip = archive.toString() - '.gz' """ touch $gunzip - cat <<-END_VERSIONS > versions.yml - "${task.process}": - gunzip: \$(echo \$(gunzip --version 2>&1) | sed 's/^.*(gzip) //; s/ Copyright.*\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/hisat2/align/main.nf b/modules/nf-core/hisat2/align/main.nf index db8e8bb6d..ae9603122 100644 --- a/modules/nf-core/hisat2/align/main.nf +++ b/modules/nf-core/hisat2/align/main.nf @@ -17,7 +17,8 @@ process HISAT2_ALIGN { tuple val(meta), path("*.bam") , emit: bam tuple val(meta), path("*.log") , emit: summary tuple val(meta), path("*fastq.gz"), optional:true, emit: fastq - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('hisat2'), val('2.2.1'), emit: versions1 + tuple val("${task.process}"), val('samtools'), cmd("echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//'"), emit: versions2 when: task.ext.when == null || task.ext.when @@ -25,7 +26,6 @@ process HISAT2_ALIGN { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def VERSION = '2.2.1' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. def strandedness = '' if (meta.strandedness == 'forward') { @@ -50,12 +50,6 @@ process HISAT2_ALIGN { $unaligned \\ $args \\ | samtools view -bS -F 4 -F 256 - > ${prefix}.bam - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hisat2: $VERSION - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ } else { def unaligned = params.save_unaligned ? "--un-conc-gz ${prefix}.unmapped.fastq.gz" : '' @@ -82,12 +76,6 @@ process HISAT2_ALIGN { if [ -f ${prefix}.unmapped.fastq.2.gz ]; then mv ${prefix}.unmapped.fastq.2.gz ${prefix}.unmapped_2.fastq.gz fi - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hisat2: $VERSION - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ } } diff --git a/modules/nf-core/hisat2/build/main.nf b/modules/nf-core/hisat2/build/main.nf index 90f8efcc6..e5aa09271 100644 --- a/modules/nf-core/hisat2/build/main.nf +++ b/modules/nf-core/hisat2/build/main.nf @@ -16,7 +16,7 @@ process HISAT2_BUILD { output: tuple val(meta), path("hisat2") , emit: index - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('hisat2'), val('2.2.1'), emit: versions when: task.ext.when == null || task.ext.when @@ -44,7 +44,6 @@ process HISAT2_BUILD { log.info "[HISAT2 index build] Less than ${hisat2_build_memory} GB available, so NOT using splice sites and exons to build HISAT2 index." log.info "[HISAT2 index build] Use --hisat2_build_memory [small number] to skip this check." } - def VERSION = '2.2.1' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. """ mkdir hisat2 $extract_exons @@ -55,10 +54,5 @@ process HISAT2_BUILD { $args \\ $fasta \\ hisat2/${fasta.baseName} - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hisat2: $VERSION - END_VERSIONS """ } diff --git a/modules/nf-core/hisat2/extractsplicesites/main.nf b/modules/nf-core/hisat2/extractsplicesites/main.nf index a6e59e202..ed690f992 100644 --- a/modules/nf-core/hisat2/extractsplicesites/main.nf +++ b/modules/nf-core/hisat2/extractsplicesites/main.nf @@ -13,19 +13,14 @@ process HISAT2_EXTRACTSPLICESITES { output: tuple val(meta), path("*.splice_sites.txt"), emit: txt - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('hisat2'), val('2.2.1'), emit: versions when: task.ext.when == null || task.ext.when script: def args = task.ext.args ?: '' - def VERSION = '2.2.1' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. """ hisat2_extract_splice_sites.py $gtf > ${gtf.baseName}.splice_sites.txt - cat <<-END_VERSIONS > versions.yml - "${task.process}": - hisat2: $VERSION - END_VERSIONS """ } diff --git a/modules/nf-core/kallisto/index/main.nf b/modules/nf-core/kallisto/index/main.nf index 28a47dbeb..4f8a66b41 100644 --- a/modules/nf-core/kallisto/index/main.nf +++ b/modules/nf-core/kallisto/index/main.nf @@ -12,7 +12,7 @@ process KALLISTO_INDEX { output: tuple val(meta), path("kallisto") , emit: index - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('kallisto'), cmd("echo \$(kallisto 2>&1) | sed 's/^kallisto //; s/Usage.*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -25,20 +25,10 @@ process KALLISTO_INDEX { $args \\ -i kallisto \\ $fasta - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - kallisto: \$(echo \$(kallisto 2>&1) | sed 's/^kallisto //; s/Usage.*\$//') - END_VERSIONS """ stub: """ touch kallisto - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - kallisto: \$(echo \$(kallisto 2>&1) | sed 's/^kallisto //; s/Usage.*\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/kallisto/quant/main.nf b/modules/nf-core/kallisto/quant/main.nf index f5444d791..04a602ef3 100644 --- a/modules/nf-core/kallisto/quant/main.nf +++ b/modules/nf-core/kallisto/quant/main.nf @@ -19,7 +19,7 @@ process KALLISTO_QUANT { tuple val(meta), path("${prefix}") , emit: results tuple val(meta), path("*.run_info.json") , emit: json_info tuple val(meta), path("*.log") , emit: log - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('kallisto'), cmd("echo \$(kallisto version) | sed 's/kallisto, version //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -61,18 +61,9 @@ process KALLISTO_QUANT { cp ${prefix}/kallisto_quant.log ${prefix}.log cp ${prefix}/run_info.json ${prefix}.run_info.json - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - kallisto: \$(echo \$(kallisto version) | sed "s/kallisto, version //g" ) - END_VERSIONS """ stub: """ - cat <<-END_VERSIONS > versions.yml - "${task.process}": - kallisto: \$(echo \$(kallisto version) | sed "s/kallisto, version //g" ) - END_VERSIONS """ } diff --git a/modules/nf-core/picard/markduplicates/main.nf b/modules/nf-core/picard/markduplicates/main.nf index ebfa0864d..28702bb64 100644 --- a/modules/nf-core/picard/markduplicates/main.nf +++ b/modules/nf-core/picard/markduplicates/main.nf @@ -16,7 +16,7 @@ process PICARD_MARKDUPLICATES { tuple val(meta), path("*.bam") , emit: bam tuple val(meta), path("*.bai") , optional:true, emit: bai tuple val(meta), path("*.metrics.txt"), emit: metrics - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('picard'), cmd("echo \$(picard MarkDuplicates --version 2>&1) | grep -o 'Version:.*' | cut -f2- -d:"), emit: versions when: task.ext.when == null || task.ext.when @@ -42,11 +42,6 @@ process PICARD_MARKDUPLICATES { --OUTPUT ${prefix}.bam \\ --REFERENCE_SEQUENCE $fasta \\ --METRICS_FILE ${prefix}.MarkDuplicates.metrics.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - picard: \$(echo \$(picard MarkDuplicates --version 2>&1) | grep -o 'Version:.*' | cut -f2- -d:) - END_VERSIONS """ stub: @@ -56,10 +51,5 @@ process PICARD_MARKDUPLICATES { touch ${prefix}.bam touch ${prefix}.bam.bai touch ${prefix}.MarkDuplicates.metrics.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - picard: \$(echo \$(picard MarkDuplicates --version 2>&1) | grep -o 'Version:.*' | cut -f2- -d:) - END_VERSIONS """ } diff --git a/modules/nf-core/preseq/lcextrap/main.nf b/modules/nf-core/preseq/lcextrap/main.nf index 12546f0a2..bc1bf3c8f 100644 --- a/modules/nf-core/preseq/lcextrap/main.nf +++ b/modules/nf-core/preseq/lcextrap/main.nf @@ -14,7 +14,7 @@ process PRESEQ_LCEXTRAP { output: tuple val(meta), path("*.lc_extrap.txt"), emit: lc_extrap tuple val(meta), path("*.log") , emit: log - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('preseq'), cmd("echo \$(preseq 2>&1) | sed 's/^.*Version: //; s/Usage:.*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -31,10 +31,5 @@ process PRESEQ_LCEXTRAP { -output ${prefix}.lc_extrap.txt \\ $bam cp .command.err ${prefix}.command.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - preseq: \$(echo \$(preseq 2>&1) | sed 's/^.*Version: //; s/Usage:.*\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/qualimap/rnaseq/main.nf b/modules/nf-core/qualimap/rnaseq/main.nf index 044c983fc..18cbb07a9 100644 --- a/modules/nf-core/qualimap/rnaseq/main.nf +++ b/modules/nf-core/qualimap/rnaseq/main.nf @@ -13,7 +13,7 @@ process QUALIMAP_RNASEQ { output: tuple val(meta), path("${prefix}"), emit: results - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('qualimap'), cmd("echo \$(qualimap 2>&1) | sed 's/^.*QualiMap v.//; s/Built.*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -43,21 +43,11 @@ process QUALIMAP_RNASEQ { -p $strandedness \\ $paired_end \\ -outdir $prefix - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - qualimap: \$(echo \$(qualimap 2>&1) | sed 's/^.*QualiMap v.//; s/Built.*\$//') - END_VERSIONS """ stub: prefix = task.ext.prefix ?: "${meta.id}" """ mkdir ${prefix} - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - qualimap: \$(echo \$(qualimap 2>&1) | sed 's/^.*QualiMap v.//; s/Built.*\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/rsem/calculateexpression/main.nf b/modules/nf-core/rsem/calculateexpression/main.nf index 54041aedb..5d2fe2277 100644 --- a/modules/nf-core/rsem/calculateexpression/main.nf +++ b/modules/nf-core/rsem/calculateexpression/main.nf @@ -16,7 +16,8 @@ process RSEM_CALCULATEEXPRESSION { tuple val(meta), path("*.isoforms.results"), emit: counts_transcript tuple val(meta), path("*.stat") , emit: stat tuple val(meta), path("*.log") , emit: logs - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rsem'), cmd("rsem-calculate-expression --version | sed -e 's/Current version: RSEM v//g'"), emit: versions1 + tuple val("${task.process}"), val('star'), cmd("STAR --version | sed -e 's/STAR_//g'"), emit: versions2 tuple val(meta), path("*.STAR.genome.bam") , optional:true, emit: bam_star tuple val(meta), path("${prefix}.genome.bam") , optional:true, emit: bam_genome @@ -47,11 +48,5 @@ process RSEM_CALCULATEEXPRESSION { $reads \\ \$INDEX \\ $prefix - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rsem: \$(rsem-calculate-expression --version | sed -e "s/Current version: RSEM v//g") - star: \$(STAR --version | sed -e "s/STAR_//g") - END_VERSIONS """ } diff --git a/modules/nf-core/rsem/preparereference/main.nf b/modules/nf-core/rsem/preparereference/main.nf index 62b93d08a..31fc6881d 100644 --- a/modules/nf-core/rsem/preparereference/main.nf +++ b/modules/nf-core/rsem/preparereference/main.nf @@ -14,7 +14,8 @@ process RSEM_PREPAREREFERENCE { output: path "rsem" , emit: index path "*transcripts.fa", emit: transcript_fasta - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rsem'), cmd("rsem-calculate-expression --version | sed -e 's/Current version: RSEM v//g'"), emit: versions1 + tuple val("${task.process}"), val('star'), cmd("STAR --version | sed -e 's/STAR_//g'"), emit: versions2 when: task.ext.when == null || task.ext.when @@ -44,12 +45,6 @@ process RSEM_PREPAREREFERENCE { rsem/genome cp rsem/genome.transcripts.fa . - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rsem: \$(rsem-calculate-expression --version | sed -e "s/Current version: RSEM v//g") - star: \$(STAR --version | sed -e "s/STAR_//g") - END_VERSIONS """ } else { """ @@ -61,12 +56,6 @@ process RSEM_PREPAREREFERENCE { rsem/genome cp rsem/genome.transcripts.fa . - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rsem: \$(rsem-calculate-expression --version | sed -e "s/Current version: RSEM v//g") - star: \$(STAR --version | sed -e "s/STAR_//g") - END_VERSIONS """ } } diff --git a/modules/nf-core/rseqc/bamstat/main.nf b/modules/nf-core/rseqc/bamstat/main.nf index 04c1eefd0..19fe2de25 100644 --- a/modules/nf-core/rseqc/bamstat/main.nf +++ b/modules/nf-core/rseqc/bamstat/main.nf @@ -12,7 +12,7 @@ process RSEQC_BAMSTAT { output: tuple val(meta), path("*.bam_stat.txt"), emit: txt - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), cmd("bam_stat.py --version | sed -e 's/bam_stat.py //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -25,10 +25,5 @@ process RSEQC_BAMSTAT { -i $bam \\ $args \\ > ${prefix}.bam_stat.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(bam_stat.py --version | sed -e "s/bam_stat.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/inferexperiment/main.nf b/modules/nf-core/rseqc/inferexperiment/main.nf index 5f9f4b111..142a578c9 100644 --- a/modules/nf-core/rseqc/inferexperiment/main.nf +++ b/modules/nf-core/rseqc/inferexperiment/main.nf @@ -13,7 +13,7 @@ process RSEQC_INFEREXPERIMENT { output: tuple val(meta), path("*.infer_experiment.txt"), emit: txt - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), cmd("infer_experiment.py --version | sed -e 's/infer_experiment.py //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -27,10 +27,5 @@ process RSEQC_INFEREXPERIMENT { -r $bed \\ $args \\ > ${prefix}.infer_experiment.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(infer_experiment.py --version | sed -e "s/infer_experiment.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/innerdistance/main.nf b/modules/nf-core/rseqc/innerdistance/main.nf index a63a2bf03..3aa79e073 100644 --- a/modules/nf-core/rseqc/innerdistance/main.nf +++ b/modules/nf-core/rseqc/innerdistance/main.nf @@ -17,7 +17,7 @@ process RSEQC_INNERDISTANCE { tuple val(meta), path("*mean.txt") , optional:true, emit: mean tuple val(meta), path("*.pdf") , optional:true, emit: pdf tuple val(meta), path("*.r") , optional:true, emit: rscript - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), cmd("inner_distance.py --version | sed -e 's/inner_distance.py //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -34,18 +34,9 @@ process RSEQC_INNERDISTANCE { $args \\ > stdout.txt head -n 2 stdout.txt > ${prefix}.inner_distance_mean.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(inner_distance.py --version | sed -e "s/inner_distance.py //g") - END_VERSIONS """ } else { """ - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(inner_distance.py --version | sed -e "s/inner_distance.py //g") - END_VERSIONS """ } } diff --git a/modules/nf-core/rseqc/junctionannotation/main.nf b/modules/nf-core/rseqc/junctionannotation/main.nf index 4029ac765..33f367dae 100644 --- a/modules/nf-core/rseqc/junctionannotation/main.nf +++ b/modules/nf-core/rseqc/junctionannotation/main.nf @@ -19,7 +19,7 @@ process RSEQC_JUNCTIONANNOTATION { tuple val(meta), path("*.Interact.bed"), optional:true, emit: interact_bed tuple val(meta), path("*junction.pdf") , optional:true, emit: pdf tuple val(meta), path("*events.pdf") , optional:true, emit: events_pdf - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), cmd("junction_annotation.py --version | sed -e 's/junction_annotation.py //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -34,10 +34,5 @@ process RSEQC_JUNCTIONANNOTATION { -o $prefix \\ $args \\ 2> ${prefix}.junction_annotation.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(junction_annotation.py --version | sed -e "s/junction_annotation.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/junctionsaturation/main.nf b/modules/nf-core/rseqc/junctionsaturation/main.nf index 93cc61b23..84196d64e 100644 --- a/modules/nf-core/rseqc/junctionsaturation/main.nf +++ b/modules/nf-core/rseqc/junctionsaturation/main.nf @@ -14,7 +14,7 @@ process RSEQC_JUNCTIONSATURATION { output: tuple val(meta), path("*.pdf"), emit: pdf tuple val(meta), path("*.r") , emit: rscript - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), cmd("junction_saturation.py --version | sed -e 's/junction_saturation.py //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -28,10 +28,5 @@ process RSEQC_JUNCTIONSATURATION { -r $bed \\ -o $prefix \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(junction_saturation.py --version | sed -e "s/junction_saturation.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/readdistribution/main.nf b/modules/nf-core/rseqc/readdistribution/main.nf index f3e588d69..33208ba8c 100644 --- a/modules/nf-core/rseqc/readdistribution/main.nf +++ b/modules/nf-core/rseqc/readdistribution/main.nf @@ -13,7 +13,7 @@ process RSEQC_READDISTRIBUTION { output: tuple val(meta), path("*.read_distribution.txt"), emit: txt - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), cmd("read_distribution.py --version | sed -e 's/read_distribution.py //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -26,10 +26,5 @@ process RSEQC_READDISTRIBUTION { -i $bam \\ -r $bed \\ > ${prefix}.read_distribution.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(read_distribution.py --version | sed -e "s/read_distribution.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/readduplication/main.nf b/modules/nf-core/rseqc/readduplication/main.nf index 023118536..bc9dd19dd 100644 --- a/modules/nf-core/rseqc/readduplication/main.nf +++ b/modules/nf-core/rseqc/readduplication/main.nf @@ -15,7 +15,7 @@ process RSEQC_READDUPLICATION { tuple val(meta), path("*pos.DupRate.xls"), emit: pos_xls tuple val(meta), path("*.pdf") , emit: pdf tuple val(meta), path("*.r") , emit: rscript - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), cmd("read_duplication.py --version | sed -e 's/read_duplication.py //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -28,10 +28,5 @@ process RSEQC_READDUPLICATION { -i $bam \\ -o $prefix \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(read_duplication.py --version | sed -e "s/read_duplication.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/rseqc/tin/main.nf b/modules/nf-core/rseqc/tin/main.nf index 872938b62..4f422839a 100644 --- a/modules/nf-core/rseqc/tin/main.nf +++ b/modules/nf-core/rseqc/tin/main.nf @@ -14,7 +14,7 @@ process RSEQC_TIN { output: tuple val(meta), path("*.txt"), emit: txt tuple val(meta), path("*.xls"), emit: xls - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('rseqc'), cmd("tin.py --version | sed -e 's/tin.py //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -27,10 +27,5 @@ process RSEQC_TIN { -i $bam \\ -r $bed \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - rseqc: \$(tin.py --version | sed -e "s/tin.py //g") - END_VERSIONS """ } diff --git a/modules/nf-core/salmon/index/main.nf b/modules/nf-core/salmon/index/main.nf index 118ee6704..f5822cd37 100644 --- a/modules/nf-core/salmon/index/main.nf +++ b/modules/nf-core/salmon/index/main.nf @@ -13,7 +13,7 @@ process SALMON_INDEX { output: path "salmon" , emit: index - path "versions.yml", emit: versions + tuple val("${task.process}"), val('salmon'), cmd("echo \$(salmon --version) | sed -e 's/salmon //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -38,10 +38,5 @@ process SALMON_INDEX { -d decoys.txt \\ $args \\ -i salmon - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") - END_VERSIONS """ } diff --git a/modules/nf-core/salmon/quant/main.nf b/modules/nf-core/salmon/quant/main.nf index f11b6c2e2..23a2690ee 100644 --- a/modules/nf-core/salmon/quant/main.nf +++ b/modules/nf-core/salmon/quant/main.nf @@ -18,7 +18,7 @@ process SALMON_QUANT { output: tuple val(meta), path("${prefix}") , emit: results tuple val(meta), path("*info.json"), emit: json_info, optional: true - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('salmon'), cmd("echo \$(salmon --version) | sed -e 's/salmon //g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -70,10 +70,5 @@ process SALMON_QUANT { if [ -f $prefix/aux_info/meta_info.json ]; then cp $prefix/aux_info/meta_info.json "${prefix}_meta_info.json" fi - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") - END_VERSIONS """ } diff --git a/modules/nf-core/samtools/flagstat/main.nf b/modules/nf-core/samtools/flagstat/main.nf index b75707eca..3d237bbba 100644 --- a/modules/nf-core/samtools/flagstat/main.nf +++ b/modules/nf-core/samtools/flagstat/main.nf @@ -12,7 +12,7 @@ process SAMTOOLS_FLAGSTAT { output: tuple val(meta), path("*.flagstat"), emit: flagstat - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('samtools'), cmd("echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -26,21 +26,11 @@ process SAMTOOLS_FLAGSTAT { --threads ${task.cpus} \\ $bam \\ > ${prefix}.flagstat - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ stub: def prefix = task.ext.prefix ?: "${meta.id}" """ touch ${prefix}.flagstat - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/samtools/idxstats/main.nf b/modules/nf-core/samtools/idxstats/main.nf index 83c7c34b9..03df0929b 100644 --- a/modules/nf-core/samtools/idxstats/main.nf +++ b/modules/nf-core/samtools/idxstats/main.nf @@ -12,7 +12,7 @@ process SAMTOOLS_IDXSTATS { output: tuple val(meta), path("*.idxstats"), emit: idxstats - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('samtools'), cmd("echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -27,11 +27,6 @@ process SAMTOOLS_IDXSTATS { --threads ${task.cpus-1} \\ $bam \\ > ${prefix}.idxstats - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ stub: @@ -39,10 +34,5 @@ process SAMTOOLS_IDXSTATS { """ touch ${prefix}.idxstats - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/samtools/index/main.nf b/modules/nf-core/samtools/index/main.nf index 0b20aa4bb..9b60f9596 100644 --- a/modules/nf-core/samtools/index/main.nf +++ b/modules/nf-core/samtools/index/main.nf @@ -14,7 +14,7 @@ process SAMTOOLS_INDEX { tuple val(meta), path("*.bai") , optional:true, emit: bai tuple val(meta), path("*.csi") , optional:true, emit: csi tuple val(meta), path("*.crai"), optional:true, emit: crai - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('samtools'), cmd("echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -27,11 +27,6 @@ process SAMTOOLS_INDEX { -@ ${task.cpus-1} \\ $args \\ $input - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ stub: @@ -39,10 +34,5 @@ process SAMTOOLS_INDEX { touch ${input}.bai touch ${input}.crai touch ${input}.csi - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/samtools/sort/main.nf b/modules/nf-core/samtools/sort/main.nf index 2b7753fd8..3d237dc81 100644 --- a/modules/nf-core/samtools/sort/main.nf +++ b/modules/nf-core/samtools/sort/main.nf @@ -13,7 +13,7 @@ process SAMTOOLS_SORT { output: tuple val(meta), path("*.bam"), emit: bam tuple val(meta), path("*.csi"), emit: csi, optional: true - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('samtools'), cmd("echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -29,21 +29,11 @@ process SAMTOOLS_SORT { -o ${prefix}.bam \\ -T $prefix \\ $bam - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ stub: def prefix = task.ext.prefix ?: "${meta.id}" """ touch ${prefix}.bam - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/samtools/stats/main.nf b/modules/nf-core/samtools/stats/main.nf index 4a2607ded..78a8f9a30 100644 --- a/modules/nf-core/samtools/stats/main.nf +++ b/modules/nf-core/samtools/stats/main.nf @@ -13,7 +13,7 @@ process SAMTOOLS_STATS { output: tuple val(meta), path("*.stats"), emit: stats - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('samtools'), cmd("echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -29,21 +29,11 @@ process SAMTOOLS_STATS { ${reference} \\ ${input} \\ > ${prefix}.stats - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ stub: def prefix = task.ext.prefix ?: "${meta.id}" """ touch ${prefix}.stats - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/sortmerna/main.nf b/modules/nf-core/sortmerna/main.nf index 7afae5a68..936a08af0 100644 --- a/modules/nf-core/sortmerna/main.nf +++ b/modules/nf-core/sortmerna/main.nf @@ -14,7 +14,7 @@ process SORTMERNA { output: tuple val(meta), path("*non_rRNA.fastq.gz"), emit: reads tuple val(meta), path("*.log") , emit: log - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('sortmerna'), cmd("echo \$(sortmerna --version 2>&1) | sed 's/^.*SortMeRNA version //; s/ Build Date.*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -36,11 +36,6 @@ process SORTMERNA { mv non_rRNA_reads.f*q.gz ${prefix}.non_rRNA.fastq.gz mv rRNA_reads.log ${prefix}.sortmerna.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - sortmerna: \$(echo \$(sortmerna --version 2>&1) | sed 's/^.*SortMeRNA version //; s/ Build Date.*\$//') - END_VERSIONS """ } else { """ @@ -60,11 +55,6 @@ process SORTMERNA { mv non_rRNA_reads_fwd.f*q.gz ${prefix}_1.non_rRNA.fastq.gz mv non_rRNA_reads_rev.f*q.gz ${prefix}_2.non_rRNA.fastq.gz mv rRNA_reads.log ${prefix}.sortmerna.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - sortmerna: \$(echo \$(sortmerna --version 2>&1) | sed 's/^.*SortMeRNA version //; s/ Build Date.*\$//') - END_VERSIONS """ } } diff --git a/modules/nf-core/star/align/main.nf b/modules/nf-core/star/align/main.nf index d0e203848..6c24ac7eb 100644 --- a/modules/nf-core/star/align/main.nf +++ b/modules/nf-core/star/align/main.nf @@ -19,7 +19,9 @@ process STAR_ALIGN { tuple val(meta), path('*Log.final.out') , emit: log_final tuple val(meta), path('*Log.out') , emit: log_out tuple val(meta), path('*Log.progress.out'), emit: log_progress - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('star'), cmd("STAR --version | sed -e 's/STAR_//g'"), emit: versions1 + tuple val("${task.process}"), val('samtools'), cmd("echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//'"), emit: versions2 + tuple val("${task.process}"), val('gawk'), cmd("echo \$(gawk --version 2>&1) | sed 's/^.*GNU Awk //; s/, .*\$//'"), emit: versions3 tuple val(meta), path('*d.out.bam') , optional:true, emit: bam tuple val(meta), path('*sortedByCoord.out.bam') , optional:true, emit: bam_sorted @@ -69,13 +71,6 @@ process STAR_ALIGN { mv ${prefix}.Unmapped.out.mate2 ${prefix}.unmapped_2.fastq gzip ${prefix}.unmapped_2.fastq fi - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - star: \$(STAR --version | sed -e "s/STAR_//g") - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - gawk: \$(echo \$(gawk --version 2>&1) | sed 's/^.*GNU Awk //; s/, .*\$//') - END_VERSIONS """ stub: @@ -98,12 +93,5 @@ process STAR_ALIGN { touch ${prefix}.out.sam touch ${prefix}.Signal.UniqueMultiple.str1.out.wig touch ${prefix}.Signal.UniqueMultiple.str1.out.bg - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - star: \$(STAR --version | sed -e "s/STAR_//g") - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - gawk: \$(echo \$(gawk --version 2>&1) | sed 's/^.*GNU Awk //; s/, .*\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/star/genomegenerate/main.nf b/modules/nf-core/star/genomegenerate/main.nf index 434240427..e5350280b 100644 --- a/modules/nf-core/star/genomegenerate/main.nf +++ b/modules/nf-core/star/genomegenerate/main.nf @@ -13,7 +13,9 @@ process STAR_GENOMEGENERATE { output: tuple val(meta), path("star") , emit: index - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('star'), cmd("STAR --version | sed -e 's/STAR_//g'"), emit: versions1 + tuple val("${task.process}"), val('samtools'), cmd("echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//'"), emit: versions2 + tuple val("${task.process}"), val('gawk'), cmd("echo \$(gawk --version 2>&1) | sed 's/^.*GNU Awk //; s/, .*\$//'"), emit: versions3 when: task.ext.when == null || task.ext.when @@ -33,13 +35,6 @@ process STAR_GENOMEGENERATE { --runThreadN $task.cpus \\ $memory \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - star: \$(STAR --version | sed -e "s/STAR_//g") - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - gawk: \$(echo \$(gawk --version 2>&1) | sed 's/^.*GNU Awk //; s/, .*\$//') - END_VERSIONS """ } else { """ @@ -56,13 +51,6 @@ process STAR_GENOMEGENERATE { --genomeSAindexNbases \$NUM_BASES \\ $memory \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - star: \$(STAR --version | sed -e "s/STAR_//g") - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - gawk: \$(echo \$(gawk --version 2>&1) | sed 's/^.*GNU Awk //; s/, .*\$//') - END_VERSIONS """ } @@ -85,12 +73,5 @@ process STAR_GENOMEGENERATE { touch star/sjdbList.fromGTF.out.tab touch star/sjdbList.out.tab touch star/transcriptInfo.tab - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - star: \$(STAR --version | sed -e "s/STAR_//g") - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - gawk: \$(echo \$(gawk --version 2>&1) | sed 's/^.*GNU Awk //; s/, .*\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/stringtie/stringtie/main.nf b/modules/nf-core/stringtie/stringtie/main.nf index d0f8b563f..de59c7fa1 100644 --- a/modules/nf-core/stringtie/stringtie/main.nf +++ b/modules/nf-core/stringtie/stringtie/main.nf @@ -16,7 +16,7 @@ process STRINGTIE_STRINGTIE { tuple val(meta), path("*.abundance.txt") , emit: abundance tuple val(meta), path("*.coverage.gtf") , optional: true, emit: coverage_gtf tuple val(meta), path("*.ballgown") , optional: true, emit: ballgown - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('stringtie'), cmd("stringtie --version 2>&1"), emit: versions when: task.ext.when == null || task.ext.when @@ -45,11 +45,6 @@ process STRINGTIE_STRINGTIE { $ballgown \\ -p $task.cpus \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - stringtie: \$(stringtie --version 2>&1) - END_VERSIONS """ stub: @@ -59,10 +54,5 @@ process STRINGTIE_STRINGTIE { touch ${prefix}.gene.abundance.txt touch ${prefix}.coverage.gtf touch ${prefix}.ballgown - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - stringtie: \$(stringtie --version 2>&1) - END_VERSIONS """ } diff --git a/modules/nf-core/subread/featurecounts/main.nf b/modules/nf-core/subread/featurecounts/main.nf index a524b92f1..fa844cd8c 100644 --- a/modules/nf-core/subread/featurecounts/main.nf +++ b/modules/nf-core/subread/featurecounts/main.nf @@ -13,7 +13,7 @@ process SUBREAD_FEATURECOUNTS { output: tuple val(meta), path("*featureCounts.txt") , emit: counts tuple val(meta), path("*featureCounts.txt.summary"), emit: summary - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('subread'), cmd("echo \$(featureCounts -v 2>&1) | sed -e 's/featureCounts v//g'"), emit: versions when: task.ext.when == null || task.ext.when @@ -38,10 +38,5 @@ process SUBREAD_FEATURECOUNTS { -s $strandedness \\ -o ${prefix}.featureCounts.txt \\ ${bams.join(' ')} - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - subread: \$( echo \$(featureCounts -v 2>&1) | sed -e "s/featureCounts v//g") - END_VERSIONS """ } diff --git a/modules/nf-core/trimgalore/main.nf b/modules/nf-core/trimgalore/main.nf index dcb77ae7b..13e3e496b 100644 --- a/modules/nf-core/trimgalore/main.nf +++ b/modules/nf-core/trimgalore/main.nf @@ -16,7 +16,8 @@ process TRIMGALORE { tuple val(meta), path("*unpaired*.fq.gz") , emit: unpaired, optional: true tuple val(meta), path("*.html") , emit: html , optional: true tuple val(meta), path("*.zip") , emit: zip , optional: true - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('trimgalore'), cmd("echo \$(trim_galore --version 2>&1) | sed 's/^.*version //; s/Last.*\$//'"), emit: versions1 + tuple val("${task.process}"), val('cutadapt'), cmd("cutadapt --version"), emit: versions2 when: task.ext.when == null || task.ext.when @@ -46,12 +47,6 @@ process TRIMGALORE { --cores $cores \\ --gzip \\ ${prefix}.fastq.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - trimgalore: \$(echo \$(trim_galore --version 2>&1) | sed 's/^.*version //; s/Last.*\$//') - cutadapt: \$(cutadapt --version) - END_VERSIONS """ } else { """ @@ -64,12 +59,6 @@ process TRIMGALORE { --gzip \\ ${prefix}_1.fastq.gz \\ ${prefix}_2.fastq.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - trimgalore: \$(echo \$(trim_galore --version 2>&1) | sed 's/^.*version //; s/Last.*\$//') - cutadapt: \$(cutadapt --version) - END_VERSIONS """ } } diff --git a/modules/nf-core/ucsc/bedclip/main.nf b/modules/nf-core/ucsc/bedclip/main.nf index 4bad9a399..7a85a4755 100755 --- a/modules/nf-core/ucsc/bedclip/main.nf +++ b/modules/nf-core/ucsc/bedclip/main.nf @@ -14,7 +14,7 @@ process UCSC_BEDCLIP { output: tuple val(meta), path("*.bedGraph"), emit: bedgraph - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('ucsc'), val('377'), emit: versions when: task.ext.when == null || task.ext.when @@ -22,16 +22,10 @@ process UCSC_BEDCLIP { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def VERSION = '377' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. """ bedClip \\ $bedgraph \\ $sizes \\ ${prefix}.bedGraph - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - ucsc: $VERSION - END_VERSIONS """ } diff --git a/modules/nf-core/ucsc/bedgraphtobigwig/main.nf b/modules/nf-core/ucsc/bedgraphtobigwig/main.nf index 06bb47099..d1628c082 100644 --- a/modules/nf-core/ucsc/bedgraphtobigwig/main.nf +++ b/modules/nf-core/ucsc/bedgraphtobigwig/main.nf @@ -14,7 +14,7 @@ process UCSC_BEDGRAPHTOBIGWIG { output: tuple val(meta), path("*.bigWig"), emit: bigwig - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('ucsc'), val('445'), emit: versions when: task.ext.when == null || task.ext.when @@ -22,28 +22,16 @@ process UCSC_BEDGRAPHTOBIGWIG { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def VERSION = '445' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. """ bedGraphToBigWig \\ $bedgraph \\ $sizes \\ ${prefix}.bigWig - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - ucsc: $VERSION - END_VERSIONS """ stub: def prefix = task.ext.prefix ?: "${meta.id}" - def VERSION = '445' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. """ touch ${prefix}.bigWig - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - ucsc: $VERSION - END_VERSIONS """ } diff --git a/modules/nf-core/umitools/dedup/main.nf b/modules/nf-core/umitools/dedup/main.nf index 56ea04691..bb281c497 100644 --- a/modules/nf-core/umitools/dedup/main.nf +++ b/modules/nf-core/umitools/dedup/main.nf @@ -17,7 +17,7 @@ process UMITOOLS_DEDUP { tuple val(meta), path("*edit_distance.tsv"), optional:true, emit: tsv_edit_distance tuple val(meta), path("*per_umi.tsv") , optional:true, emit: tsv_per_umi tuple val(meta), path("*per_position.tsv") , optional:true, emit: tsv_umi_per_position - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('umitools'), cmd("umi_tools --version 2>&1 | sed 's/^.*UMI-tools version://; s/ *\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -39,11 +39,6 @@ process UMITOOLS_DEDUP { $stats \\ $paired \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - umitools: \$(umi_tools --version 2>&1 | sed 's/^.*UMI-tools version://; s/ *\$//') - END_VERSIONS """ stub: @@ -53,10 +48,5 @@ process UMITOOLS_DEDUP { touch ${prefix}_edit_distance.tsv touch ${prefix}_per_umi.tsv touch ${prefix}_per_position.tsv - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - umitools: \$(umi_tools --version 2>&1 | sed 's/^.*UMI-tools version://; s/ *\$//') - END_VERSIONS """ } diff --git a/modules/nf-core/umitools/extract/main.nf b/modules/nf-core/umitools/extract/main.nf index 2f94fa93e..cb2b09366 100644 --- a/modules/nf-core/umitools/extract/main.nf +++ b/modules/nf-core/umitools/extract/main.nf @@ -14,7 +14,7 @@ process UMITOOLS_EXTRACT { output: tuple val(meta), path("*.fastq.gz"), emit: reads tuple val(meta), path("*.log") , emit: log - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('umitools'), cmd("umi_tools --version 2>&1 | sed 's/^.*UMI-tools version://; s/ *\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -30,11 +30,6 @@ process UMITOOLS_EXTRACT { -S ${prefix}.umi_extract.fastq.gz \\ $args \\ > ${prefix}.umi_extract.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - umitools: \$(umi_tools --version 2>&1 | sed 's/^.*UMI-tools version://; s/ *\$//') - END_VERSIONS """ } else { """ @@ -46,11 +41,6 @@ process UMITOOLS_EXTRACT { --read2-out=${prefix}.umi_extract_2.fastq.gz \\ $args \\ > ${prefix}.umi_extract.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - umitools: \$(umi_tools --version 2>&1 | sed 's/^.*UMI-tools version://; s/ *\$//') - END_VERSIONS """ } } diff --git a/modules/nf-core/untar/main.nf b/modules/nf-core/untar/main.nf index 61461c391..5c5096f4a 100644 --- a/modules/nf-core/untar/main.nf +++ b/modules/nf-core/untar/main.nf @@ -12,7 +12,7 @@ process UNTAR { output: tuple val(meta), path("$prefix"), emit: untar - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('untar'), cmd("echo \$(tar --version 2>&1) | sed 's/^.*(GNU tar) //; s/ Copyright.*\$//'"), emit: versions when: task.ext.when == null || task.ext.when @@ -42,11 +42,6 @@ process UNTAR { $archive \\ $args2 fi - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - untar: \$(echo \$(tar --version 2>&1) | sed 's/^.*(GNU tar) //; s/ Copyright.*\$//') - END_VERSIONS """ stub: @@ -54,10 +49,5 @@ process UNTAR { """ mkdir $prefix touch ${prefix}/file.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - untar: \$(echo \$(tar --version 2>&1) | sed 's/^.*(GNU tar) //; s/ Copyright.*\$//') - END_VERSIONS """ } diff --git a/subworkflows/local/align_star/main.nf b/subworkflows/local/align_star/main.nf index 1dba0c085..2184be05e 100644 --- a/subworkflows/local/align_star/main.nf +++ b/subworkflows/local/align_star/main.nf @@ -42,7 +42,7 @@ workflow ALIGN_STAR { ch_bam_transcript = STAR_ALIGN_IGENOMES.out.bam_transcript ch_fastq = STAR_ALIGN_IGENOMES.out.fastq ch_tab = STAR_ALIGN_IGENOMES.out.tab - ch_versions = ch_versions.mix(STAR_ALIGN_IGENOMES.out.versions.first()) + ch_versions = ch_versions.mix(STAR_ALIGN_IGENOMES.out.versions1, STAR_ALIGN_IGENOMES.out.versions2, STAR_ALIGN_IGENOMES.out.versions3) } else { STAR_ALIGN ( reads, index, gtf, star_ignore_sjdbgtf, seq_platform, seq_center ) ch_orig_bam = STAR_ALIGN.out.bam @@ -53,7 +53,7 @@ workflow ALIGN_STAR { ch_bam_transcript = STAR_ALIGN.out.bam_transcript ch_fastq = STAR_ALIGN.out.fastq ch_tab = STAR_ALIGN.out.tab - ch_versions = ch_versions.mix(STAR_ALIGN.out.versions.first()) + ch_versions = ch_versions.mix(STAR_ALIGN.out.versions1, STAR_ALIGN.out.versions2, STAR_ALIGN.out.versions3) } // @@ -79,5 +79,5 @@ workflow ALIGN_STAR { flagstat = BAM_SORT_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), [ flagstat ] ] idxstats = BAM_SORT_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), [ idxstats ] ] - versions = ch_versions // channel: [ versions.yml ] + versions = ch_versions // channel: [ process, tool, version ] } diff --git a/subworkflows/local/prepare_genome/main.nf b/subworkflows/local/prepare_genome/main.nf index 0be947954..4462cd1a7 100644 --- a/subworkflows/local/prepare_genome/main.nf +++ b/subworkflows/local/prepare_genome/main.nf @@ -147,7 +147,7 @@ workflow PREPARE_GENOME { } else { ch_transcript_fasta = MAKE_TRANSCRIPTS_FASTA ( ch_fasta, ch_gtf ).transcript_fasta ch_versions = ch_versions.mix(GTF_FILTER.out.versions) - ch_versions = ch_versions.mix(MAKE_TRANSCRIPTS_FASTA.out.versions) + ch_versions = ch_versions.mix(MAKE_TRANSCRIPTS_FASTA.out.versions1, MAKE_TRANSCRIPTS_FASTA.out.versions2) } // @@ -200,10 +200,10 @@ workflow PREPARE_GENOME { } else { if (is_aws_igenome) { ch_star_index = STAR_GENOMEGENERATE_IGENOMES ( ch_fasta, ch_gtf ).index - ch_versions = ch_versions.mix(STAR_GENOMEGENERATE_IGENOMES.out.versions) + ch_versions = ch_versions.mix(STAR_GENOMEGENERATE_IGENOMES.out.versions1, STAR_GENOMEGENERATE_IGENOMES.out.versions2, STAR_GENOMEGENERATE_IGENOMES.out.versions3) } else { ch_star_index = STAR_GENOMEGENERATE ( ch_fasta.map { [ [:], it ] }, ch_gtf.map { [ [:], it ] } ).index.map { it[1] } - ch_versions = ch_versions.mix(STAR_GENOMEGENERATE.out.versions) + ch_versions = ch_versions.mix(STAR_GENOMEGENERATE.out.versions1, STAR_GENOMEGENERATE.out.versions2, STAR_GENOMEGENERATE.out.versions3) } } } @@ -222,7 +222,7 @@ workflow PREPARE_GENOME { } } else { ch_rsem_index = RSEM_PREPAREREFERENCE_GENOME ( ch_fasta, ch_gtf ).index - ch_versions = ch_versions.mix(RSEM_PREPAREREFERENCE_GENOME.out.versions) + ch_versions = ch_versions.mix(RSEM_PREPAREREFERENCE_GENOME.out.versions1, RSEM_PREPAREREFERENCE_GENOME.out.versions2) } } @@ -301,5 +301,5 @@ workflow PREPARE_GENOME { hisat2_index = ch_hisat2_index // channel: path(hisat2/index/) salmon_index = ch_salmon_index // channel: path(salmon/index/) kallisto_index = ch_kallisto_index // channel: [ meta, path(kallisto/index/) ] - versions = ch_versions.ifEmpty(null) // channel: [ versions.yml ] + versions = ch_versions.ifEmpty(null) // channel: [ process, tool, version ] } diff --git a/subworkflows/local/quantify_pseudo/main.nf b/subworkflows/local/quantify_pseudo/main.nf index 886b45e7b..e825b8efa 100644 --- a/subworkflows/local/quantify_pseudo/main.nf +++ b/subworkflows/local/quantify_pseudo/main.nf @@ -48,14 +48,14 @@ workflow QUANTIFY_PSEUDO_ALIGNMENT { ch_versions = ch_versions.mix(TX2GENE.out.versions) TXIMPORT ( ch_pseudo_results.collect{it[1]}, TX2GENE.out.tsv.collect(), pseudo_aligner ) - ch_versions = ch_versions.mix(TXIMPORT.out.versions) + ch_versions = ch_versions.mix(TXIMPORT.out.versions1, TXIMPORT.out.versions2) SE_GENE ( TXIMPORT.out.counts_gene, TXIMPORT.out.tpm_gene, TX2GENE.out.tsv.collect() ) - ch_versions = ch_versions.mix(SE_GENE.out.versions) + ch_versions = ch_versions.mix(SE_GENE.out.versions1, SE_GENE.out.versions2) SE_GENE_LENGTH_SCALED ( TXIMPORT.out.counts_gene_length_scaled, @@ -94,5 +94,5 @@ workflow QUANTIFY_PSEUDO_ALIGNMENT { merged_tpm_transcript = TXIMPORT.out.tpm_transcript // path: *.transcript_tpm.tsv merged_transcript_rds = SE_TRANSCRIPT.out.rds // path: *.rds - versions = ch_versions // channel: [ versions.yml ] + versions = ch_versions // channel: [ process, tool, version ] } diff --git a/subworkflows/local/quantify_rsem/main.nf b/subworkflows/local/quantify_rsem/main.nf index 4b7473634..e1398325f 100644 --- a/subworkflows/local/quantify_rsem/main.nf +++ b/subworkflows/local/quantify_rsem/main.nf @@ -20,7 +20,7 @@ workflow QUANTIFY_RSEM { // Quantify reads with RSEM // RSEM_CALCULATEEXPRESSION ( reads, index ) - ch_versions = ch_versions.mix(RSEM_CALCULATEEXPRESSION.out.versions.first()) + ch_versions = ch_versions.mix(RSEM_CALCULATEEXPRESSION.out.versions1, RSEM_CALCULATEEXPRESSION.out.versions2) // // Sort, index BAM file and run samtools stats, flagstat and idxstats @@ -58,5 +58,5 @@ workflow QUANTIFY_RSEM { merged_counts_transcript = RSEM_MERGE_COUNTS.out.counts_transcript // path: *.transcript_counts.tsv merged_tpm_transcript = RSEM_MERGE_COUNTS.out.tpm_transcript // path: *.transcript_tpm.tsv - versions = ch_versions // channel: [ versions.yml ] + versions = ch_versions // channel: [ process, tool, version ] } diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/main.nf b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/main.nf index 7c07084ff..8676d00ff 100644 --- a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/main.nf +++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/main.nf @@ -51,5 +51,5 @@ workflow BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS { flagstat = BAM_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), path(flagstat) ] idxstats = BAM_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), path(idxstats) ] - versions = ch_versions // channel: [ path(versions.yml) ] + versions = ch_versions // channel: [ process, tool, version ] } diff --git a/subworkflows/nf-core/bam_markduplicates_picard/main.nf b/subworkflows/nf-core/bam_markduplicates_picard/main.nf index 6e3df3320..fbb6824df 100644 --- a/subworkflows/nf-core/bam_markduplicates_picard/main.nf +++ b/subworkflows/nf-core/bam_markduplicates_picard/main.nf @@ -48,5 +48,5 @@ workflow BAM_MARKDUPLICATES_PICARD { flagstat = BAM_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), path(flagstat) ] idxstats = BAM_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), path(idxstats) ] - versions = ch_versions // channel: [ versions.yml ] + versions = ch_versions // channel: [ process, tool, version ] } diff --git a/subworkflows/nf-core/bam_rseqc/main.nf b/subworkflows/nf-core/bam_rseqc/main.nf index a698b30ab..3f258958a 100644 --- a/subworkflows/nf-core/bam_rseqc/main.nf +++ b/subworkflows/nf-core/bam_rseqc/main.nf @@ -164,5 +164,5 @@ workflow BAM_RSEQC { tin_txt // channel: [ val(meta), txt ] - versions = ch_versions // channel: [ versions.yml ] + versions = ch_versions // channel: [ process, tool, version ] } diff --git a/subworkflows/nf-core/bam_sort_stats_samtools/main.nf b/subworkflows/nf-core/bam_sort_stats_samtools/main.nf index fc1c652b9..898ada0e1 100644 --- a/subworkflows/nf-core/bam_sort_stats_samtools/main.nf +++ b/subworkflows/nf-core/bam_sort_stats_samtools/main.nf @@ -46,5 +46,5 @@ workflow BAM_SORT_STATS_SAMTOOLS { flagstat = BAM_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), [ flagstat ] ] idxstats = BAM_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), [ idxstats ] ] - versions = ch_versions // channel: [ versions.yml ] + versions = ch_versions // channel: [ process, tool, version ] } diff --git a/subworkflows/nf-core/bam_stats_samtools/main.nf b/subworkflows/nf-core/bam_stats_samtools/main.nf index 44d4c010a..8405094d8 100644 --- a/subworkflows/nf-core/bam_stats_samtools/main.nf +++ b/subworkflows/nf-core/bam_stats_samtools/main.nf @@ -28,5 +28,5 @@ workflow BAM_STATS_SAMTOOLS { flagstat = SAMTOOLS_FLAGSTAT.out.flagstat // channel: [ val(meta), path(flagstat) ] idxstats = SAMTOOLS_IDXSTATS.out.idxstats // channel: [ val(meta), path(idxstats) ] - versions = ch_versions // channel: [ path(versions.yml) ] + versions = ch_versions // channel: [ process, tool, version ] } diff --git a/subworkflows/nf-core/bedgraph_bedclip_bedgraphtobigwig/main.nf b/subworkflows/nf-core/bedgraph_bedclip_bedgraphtobigwig/main.nf index 6c3b7b0cb..ced8ac854 100644 --- a/subworkflows/nf-core/bedgraph_bedclip_bedgraphtobigwig/main.nf +++ b/subworkflows/nf-core/bedgraph_bedclip_bedgraphtobigwig/main.nf @@ -30,5 +30,5 @@ workflow BEDGRAPH_BEDCLIP_BEDGRAPHTOBIGWIG { bigwig = UCSC_BEDGRAPHTOBIGWIG.out.bigwig // channel: [ val(meta), [ bigwig ] ] bedgraph = UCSC_BEDCLIP.out.bedgraph // channel: [ val(meta), [ bedgraph ] ] - versions = ch_versions // channel: [ versions.yml ] + versions = ch_versions // channel: [ process, tool, version ] } diff --git a/subworkflows/nf-core/fastq_align_hisat2/main.nf b/subworkflows/nf-core/fastq_align_hisat2/main.nf index a2ec1cf5e..bd48e9e05 100644 --- a/subworkflows/nf-core/fastq_align_hisat2/main.nf +++ b/subworkflows/nf-core/fastq_align_hisat2/main.nf @@ -18,7 +18,7 @@ workflow FASTQ_ALIGN_HISAT2 { // Map reads with HISAT2 // HISAT2_ALIGN ( reads, index, splicesites ) - ch_versions = ch_versions.mix(HISAT2_ALIGN.out.versions.first()) + ch_versions = ch_versions.mix(HISAT2_ALIGN.out.versions1, HISAT2_ALIGN.out.versions2) // // Sort, index BAM file and run samtools stats, flagstat and idxstats @@ -39,6 +39,6 @@ workflow FASTQ_ALIGN_HISAT2 { flagstat = BAM_SORT_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), [ flagstat ] ] idxstats = BAM_SORT_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), [ idxstats ] ] - versions = ch_versions // channel: [ versions.yml ] + versions = ch_versions // channel: [ process, tool, version ] } diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf index 3dbb27eae..867f740be 100644 --- a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf +++ b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf @@ -136,5 +136,5 @@ workflow FASTQ_FASTQC_UMITOOLS_FASTP { fastqc_trim_html // channel: [ val(meta), [ html ] ] fastqc_trim_zip // channel: [ val(meta), [ zip ] ] - versions = ch_versions.ifEmpty(null) // channel: [ versions.yml ] + versions = ch_versions.ifEmpty(null) // channel: [ process, tool, version ] } diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/main.nf b/subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/main.nf index db2e5b329..7dced39f3 100644 --- a/subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/main.nf +++ b/subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/main.nf @@ -75,7 +75,7 @@ workflow FASTQ_FASTQC_UMITOOLS_TRIMGALORE { trim_html = TRIMGALORE.out.html trim_zip = TRIMGALORE.out.zip trim_log = TRIMGALORE.out.log - ch_versions = ch_versions.mix(TRIMGALORE.out.versions.first()) + ch_versions = ch_versions.mix(TRIMGALORE.out.versions1, TRIMGALORE.out.versions2) // // Filter FastQ files based on minimum trimmed read count after adapter trimming @@ -119,5 +119,5 @@ workflow FASTQ_FASTQC_UMITOOLS_TRIMGALORE { trim_log // channel: [ val(meta), [ txt ] ] trim_read_count // channel: [ val(meta), val(count) ] - versions = ch_versions.ifEmpty(null) // channel: [ versions.yml ] + versions = ch_versions.ifEmpty(null) // channel: [ process, tool, version ] } diff --git a/subworkflows/nf-core/fastq_subsample_fq_salmon/main.nf b/subworkflows/nf-core/fastq_subsample_fq_salmon/main.nf index 0ac3e53a3..ee9e82bfc 100644 --- a/subworkflows/nf-core/fastq_subsample_fq_salmon/main.nf +++ b/subworkflows/nf-core/fastq_subsample_fq_salmon/main.nf @@ -50,5 +50,5 @@ workflow FASTQ_SUBSAMPLE_FQ_SALMON { results = SALMON_QUANT.out.results // channel: [ val(meta), results_dir ] json_info = SALMON_QUANT.out.json_info // channel: [ val(meta), json_info - versions = ch_versions // channel: [ versions.yml ] + versions = ch_versions // channel: [ process, tool, version ] } diff --git a/workflows/rnaseq.nf b/workflows/rnaseq.nf index 403194ac2..01d647c93 100755 --- a/workflows/rnaseq.nf +++ b/workflows/rnaseq.nf @@ -511,7 +511,7 @@ workflow RNASEQ { ) ch_aligner_pca_multiqc = DESEQ2_QC_STAR_SALMON.out.pca_multiqc ch_aligner_clustering_multiqc = DESEQ2_QC_STAR_SALMON.out.dists_multiqc - ch_versions = ch_versions.mix(DESEQ2_QC_STAR_SALMON.out.versions) + ch_versions = ch_versions.mix(DESEQ2_QC_STAR_SALMON.out.versions1, DESEQ2_QC_STAR_SALMON.out.versions2) } } @@ -545,7 +545,7 @@ workflow RNASEQ { ) ch_aligner_pca_multiqc = DESEQ2_QC_RSEM.out.pca_multiqc ch_aligner_clustering_multiqc = DESEQ2_QC_RSEM.out.dists_multiqc - ch_versions = ch_versions.mix(DESEQ2_QC_RSEM.out.versions) + ch_versions = ch_versions.mix(DESEQ2_QC_RSEM.out.versions1, DESEQ2_QC_RSEM.out.versions2) } } @@ -765,7 +765,7 @@ workflow RNASEQ { PREPARE_GENOME.out.gtf ) ch_dupradar_multiqc = DUPRADAR.out.multiqc - ch_versions = ch_versions.mix(DUPRADAR.out.versions.first()) + ch_versions = ch_versions.mix(DUPRADAR.out.versions1, DUPRADAR.out.versions2) } if (!params.skip_rseqc && rseqc_modules.size() > 0) { @@ -849,15 +849,24 @@ workflow RNASEQ { ) ch_pseudoaligner_pca_multiqc = DESEQ2_QC_PSEUDO.out.pca_multiqc ch_pseudoaligner_clustering_multiqc = DESEQ2_QC_PSEUDO.out.dists_multiqc - ch_versions = ch_versions.mix(DESEQ2_QC_PSEUDO.out.versions) + ch_versions = ch_versions.mix(DESEQ2_QC_PSEUDO.out.versions1, DESEQ2_QC_PSEUDO.out.versions2) } } // // MODULE: Pipeline reporting // + ch_versions = ch_versions + .unique() + .map { process, name, version -> + """ + ${process}: + ${name}: ${version} + """.stripIndent() + } + CUSTOM_DUMPSOFTWAREVERSIONS ( - ch_versions.unique().collectFile(name: 'collated_versions.yml') + ch_versions.collectFile(name: 'collated_versions.yml') ) //