From d12d1c83fa64ee874e7369f244a708e680bfa7e6 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Wed, 7 Aug 2024 16:57:58 -0500 Subject: [PATCH 01/16] ci: Fix env variable --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 56a74214..ae2ab8df 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,7 +55,7 @@ jobs: - uses: nf-core/setup-nf-test@v1 with: - version: ${{ NFT_VER }} + version: ${{ env.NFT_VER }} - name: Run Tests (Shard ${{ matrix.shard }}/${{ strategy.job-total }}) run: | From 1dc2a91836eed2c6915fbfe495ab91152b1831ba Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Wed, 31 Jul 2024 21:55:23 -0500 Subject: [PATCH 02/16] Add comment boxes for sections --- conf/modules.config | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/conf/modules.config b/conf/modules.config index 0f9cb48c..501b1790 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -31,6 +31,10 @@ process { ] } + /////////////////// + // Preprocessing // + /////////////////// + withName: FASTP { ext.prefix = { "${meta.id}.trimmed" } } @@ -39,6 +43,10 @@ process { ext.args = "--keep-exon-attrs -F -T" } + //////////////// + // Alignement // + //////////////// + withName: BWA_MEM { publishDir = [ [ @@ -156,6 +164,10 @@ process { ext.prefix = { "${meta.id}.sorted" } } + ///////////////////// + // Quality Control // + ///////////////////// + withName: PRESEQ_CCURVE { ext.args = "-B" } @@ -164,6 +176,10 @@ process { ext.args = "-B" } + ///////////////////// + // Coverage Graphs // + ///////////////////// + withName: BEDTOOLS_GENOMECOV_PLUS { ext.args = "-bg -strand +" ext.prefix = { "${meta.id}.plus" } @@ -188,6 +204,10 @@ process { ext.prefix = { "${meta.id}.dreg" } } + //////////////////// + // Quantification // + //////////////////// + withName: SUBREAD_FEATURECOUNTS_GENE { ext.args = "-B -C" publishDir = [ @@ -205,6 +225,10 @@ process { ] } + /////////////////////////////// + // Transcript Identification // + /////////////////////////////// + withName: HOMER_FINDPEAKS { // TODO Handle other assays ext.args = "-style groseq" From 82498a48a905e708824d41312fc42aa67959c28f Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Wed, 31 Jul 2024 22:14:35 -0500 Subject: [PATCH 03/16] refactor: Clean up publishing of preprocessing and prepare genome --- conf/modules.config | 58 ++++++++++++++++++++++++++++++++------------- docs/output.md | 7 +++--- 2 files changed, 44 insertions(+), 21 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index 501b1790..9b80e032 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -20,6 +20,11 @@ process { withName: FASTQC { ext.args = '--quiet' + publishDir = [ + path: { "${params.outdir}/preprocessing/fastqc" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] } withName: 'MULTIQC' { @@ -31,16 +36,37 @@ process { ] } + //////////////////// + // Prepare Genome // + //////////////////// + + withName: GFFREAD { + ext.args = "--keep-exon-attrs -F -T" + publishDir = [ + enabled: false + ] + } + + withName: '.*:PREPARE_GENOME:.*' { + publishDir = [ + enabled: params.save_reference, + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference" }, + ] + } + /////////////////// // Preprocessing // /////////////////// withName: FASTP { ext.prefix = { "${meta.id}.trimmed" } - } - - withName: GFFREAD { - ext.args = "--keep-exon-attrs -F -T" + publishDir = [ + path: { "${params.outdir}/preprocessing/fastp" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, + pattern: "*.{html,log,json}" + ] } //////////////// @@ -62,19 +88,17 @@ process { ] } - withName: 'DRAGMAP_HASHTABLE' { - ext.when = { !params.dragmap && params.aligner == "dragmap" } - publishDir = [ - enabled: params.save_reference, - mode: params.publish_dir_mode, - path: { "${params.outdir}/reference" }, - pattern: "dragmap" - ] - } - withName: ".*DRAGMAP_ALIGN" { ext.when = { params.aligner == "dragmap" } ext.args = { "--RGSM ${meta.read_group}" } + publishDir = [ + [ + path: { "${params.outdir}/${params.aligner}/log" }, + mode: 'copy', + pattern: "*.log" + ], + ] + } withName: '.*:FASTQ_ALIGN_HISAT2:HISAT2_ALIGN' { @@ -83,7 +107,7 @@ process { [ path: { "${params.outdir}/${params.aligner}/log" }, mode: params.publish_dir_mode, - pattern: '*.log' + pattern: "*.log" ] ] } @@ -211,7 +235,7 @@ process { withName: SUBREAD_FEATURECOUNTS_GENE { ext.args = "-B -C" publishDir = [ - path: { "${params.outdir}/${params.aligner}/featurecounts/gene" }, + path: { "${params.outdir}/quanitification/gene" }, mode: 'copy', ] } @@ -220,7 +244,7 @@ process { ext.prefix = { "${meta.id}-group_${annotation.baseName}-transcripts" } ext.args = '-F "SAF"' publishDir = [ - path: { "${params.outdir}/${params.aligner}/featurecounts/predicted" }, + path: { "${params.outdir}/quantification/predicted" }, mode: 'copy', ] } diff --git a/docs/output.md b/docs/output.md index c44cb9da..28279096 100644 --- a/docs/output.md +++ b/docs/output.md @@ -47,7 +47,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d
Output files -- `fastqc/` +- `preprocessing/fastqc` - `*_fastqc.html`: FastQC report containing quality metrics. - `*_fastqc.zip`: Zip archive containing the FastQC report, tab-delimited data file and plot images. @@ -70,7 +70,7 @@ The FastQC plots displayed in the MultiQC report shows _untrimmed_ reads. They m
Output files -- `/` +- `preprocessing/fastp` - `*.fastp.html`: Trimming report in html format. - `*.fastp.json`: Trimming report in json format. - `*.fastp.log`: Trimming log file. @@ -389,9 +389,8 @@ They've also created some bed files that might be useful for analysis.
Output files -- `genome/` +- `reference/` - `*.fa`, `*.gtf`, `*.gff`, `*.bed`, `.tsv`: If the `--save_reference` parameter is provided then all of the genome reference files will be placed in this directory. -- `genome/index/` - `bwa/`: Directory containing bwa indices. - `bwa-mem2/`: Directory containing bwa-mem2 indices. - `dragmap/`: Directory containing DRAGMAP indices. From 1c6090a7fcb8656ed69be7328177603123f65e42 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Wed, 31 Jul 2024 22:25:40 -0500 Subject: [PATCH 04/16] refactor: Clean up alignment and post-processing publishing --- conf/modules.config | 109 ++++++++++++++++++++++++++++++-------------- 1 file changed, 74 insertions(+), 35 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index 9b80e032..a3927058 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -73,22 +73,29 @@ process { // Alignement // //////////////// - withName: BWA_MEM { + withName: "BWA_MEM" { + publishDir = [ + enabled: false + ] + } + + withName: "BWAMEM2_MEM" { + publishDir = [ + enabled: false + ] + } + + withName: "BOWTIE2_ALIGN" { publishDir = [ [ path: { "${params.outdir}/${params.aligner}/log" }, - mode: 'copy', - pattern: "out" + mode: params.publish_dir_mode, + pattern: "*.log" ], - [ - path: { "${params.outdir}/${params.aligner}/log" }, - mode: 'copy', - pattern: "tab" - ] ] } - withName: ".*DRAGMAP_ALIGN" { + withName: "DRAGMAP_ALIGN" { ext.when = { params.aligner == "dragmap" } ext.args = { "--RGSM ${meta.read_group}" } publishDir = [ @@ -101,8 +108,8 @@ process { } - withName: '.*:FASTQ_ALIGN_HISAT2:HISAT2_ALIGN' { - ext.args = '--met-stderr --new-summary --dta' + withName: ".*:FASTQ_ALIGN_HISAT2:HISAT2_ALIGN" { + ext.args = "--met-stderr --new-summary --dta" publishDir = [ [ path: { "${params.outdir}/${params.aligner}/log" }, @@ -112,7 +119,7 @@ process { ] } - withName: 'STAR_ALIGN' { + withName: "STAR_ALIGN" { ext.args = { // Function to convert argument strings into a map def argsToMap = { String args -> @@ -150,18 +157,42 @@ process { mode: params.publish_dir_mode, pattern: '*.{out,tab}' ], - [ - path: { params.save_align_intermeds ? "${params.outdir}/${params.aligner}" : params.outdir }, - mode: params.publish_dir_mode, - pattern: '*.bam', - saveAs: { params.save_align_intermeds ? it : null } - ], - [ - path: { params.save_unaligned ? "${params.outdir}/${params.aligner}/unmapped" : params.outdir }, - mode: params.publish_dir_mode, - pattern: '*.fastq.gz', - saveAs: { params.save_unaligned ? it : null } - ] + // TODO save_align_intermeds? + // [ + // path: { params.save_align_intermeds ? "${params.outdir}/${params.aligner}" : params.outdir }, + // mode: params.publish_dir_mode, + // pattern: '*.bam', + // saveAs: { params.save_align_intermeds ? it : null } + // ], + // TODO save_unaligned? + // [ + // path: { params.save_unaligned ? "${params.outdir}/${params.aligner}/unmapped" : params.outdir }, + // mode: params.publish_dir_mode, + // pattern: '*.fastq.gz', + // saveAs: { params.save_unaligned ? it : null } + // ] + ] + } + + /////////////////////////////// + // Alignment post-processing // + /////////////////////////////// + + withName: '.*:BAM_SORT_STATS_SAMTOOLS:.*|.*:BAM_SORT_STATS_SAMTOOLS_GENOME:.*' { + ext.prefix = { "${meta.id}.sorted.bam" } + publishDir = [ + path: { "${params.outdir}/${params.aligner}/samtools_stats" }, + mode: params.publish_dir_mode, + pattern: "*.{stats,flagstat,idxstats}" + ] + } + + withName: '.*:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_.*|.*:BAM_SORT_STATS_SAMTOOLS_GENOME:SAMTOOLS_.*' { + ext.prefix = { "${meta.id}.sorted" } + publishDir = [ + path: { "${params.outdir}/${params.aligner}" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } ] } @@ -171,23 +202,31 @@ process { meta.single_end ? '' : '--unpaired-reads=discard --chimeric-pairs=discard', ].join(' ').trim() } ext.prefix = { "${meta.id}.umi_dedup.sorted" } - } + publishDir = [ + [ + path: { "${params.outdir}/${params.aligner}/umitools" }, + mode: params.publish_dir_mode, + pattern: '*.tsv' + ], + [ + path: { "${params.outdir}/${params.aligner}/umitools/genomic_dedup_log" }, + mode: params.publish_dir_mode, + pattern: '*.log' + ] + ] - withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS:SAMTOOLS_INDEX' { - ext.prefix = { "${meta.id}.umi_dedup.sorted" } } - if(params.umitools_dedup_stats) { - withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS:BAM_STATS_SAMTOOLS:.*' { - ext.prefix = { "${meta.id}.umi_dedup.sorted.bam" } - } + withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS:BAM_STATS_SAMTOOLS:.*' { + ext.prefix = { "${meta.id}.umi_dedup.sorted.bam" } + publishDir = [ + path: { "${params.outdir}/${params.aligner}/samtools_stats" }, + mode: params.publish_dir_mode, + pattern: '*.{stats,flagstat,idxstats}' + ] } } - withName: SAMTOOLS_SORT { - ext.prefix = { "${meta.id}.sorted" } - } - ///////////////////// // Quality Control // ///////////////////// From f21ebd25ec31f353fb4a34117425c4991718c7a6 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Wed, 31 Jul 2024 22:34:14 -0500 Subject: [PATCH 05/16] refactor: Clean up publishing of Quality Control --- conf/modules.config | 62 ++++++++++++++++++++++++++++++++++++++++++--- docs/output.md | 6 ++--- 2 files changed, 61 insertions(+), 7 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index a3927058..3d84c38c 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -231,12 +231,66 @@ process { // Quality Control // ///////////////////// - withName: PRESEQ_CCURVE { - ext.args = "-B" + withName: '.*:BAM_RSEQC:RSEQC_READDUPLICATION' { + publishDir = [ + [ + path: { "${params.outdir}/quality_control/rseqc/read_duplication/pdf" }, + mode: params.publish_dir_mode, + pattern: '*.pdf' + ], + [ + path: { "${params.outdir}/quality_control/rseqc/read_duplication/xls" }, + mode: params.publish_dir_mode, + pattern: '*.xls' + ], + [ + path: { "${params.outdir}/quality_control/rseqc/read_duplication/rscript" }, + mode: params.publish_dir_mode, + pattern: '*.r' + ] + ] + } + + withName: '.*:BAM_RSEQC:RSEQC_INFEREXPERIMENT' { + publishDir = [ + path: { "${params.outdir}/quality_control/rseqc/infer_experiment" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] } - withName: PRESEQ_LCEXTRAP { - ext.args = "-B" + withName: '.*:BAM_RSEQC:RSEQC_READDISTRIBUTION ' { + publishDir = [ + path: { "${params.outdir}/quality_control/rseqc/read_distribution" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: 'PRESEQ_.*' { + ext.args = '-verbose -bam -seed 1 -seg_len 100000000' + publishDir = [ + [ + path: { "${params.outdir}/quality_control/preseq" }, + mode: params.publish_dir_mode, + pattern: "*.txt" + ], + [ + path: { "${params.outdir}/quality_control/preseq/log" }, + mode: params.publish_dir_mode, + pattern: "*.log" + ] + ] + } + + withName: 'BBMAP_PILEUP' { + publishDir = [ + [ + path: { "${params.outdir}/quality_control/bbsplit" }, + mode: params.publish_dir_mode, + pattern: '*.txt' + ], + ] } ///////////////////// diff --git a/docs/output.md b/docs/output.md index 28279096..cbf622a3 100644 --- a/docs/output.md +++ b/docs/output.md @@ -228,9 +228,9 @@ The majority of RSeQC scripts generate output files which can be plotted and sum
Output files -- `/preseq/` +- `quality_control/preseq/` - `*.lc_extrap.txt`: Preseq expected future yield file. -- `/preseq/log/` +- `quality_control/preseq/log/` - `*.command.log`: Standard error output from command.
@@ -244,7 +244,7 @@ The [Preseq](http://smithlabresearch.org/software/preseq/) package is aimed at p
Output files -- `bbmap/` +- `quality_control/bbmap/` - `*.coverage.hist.txt`: Histogram of read coverage over each chromosome - `*.coverage.stats.txt`: Coverage stats broken down by chromosome including %GC, pos/neg read coverage, total coverage, etc. From 176dff79f9d5b0796d99d44ac155c994a1bff9b3 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Wed, 31 Jul 2024 22:40:05 -0500 Subject: [PATCH 06/16] refactor: Finish coverage graphs publishing --- conf/modules.config | 11 +++++++++++ docs/output.md | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index 3d84c38c..827bd324 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -297,6 +297,17 @@ process { // Coverage Graphs // ///////////////////// + withName: ".*:COVERAGE_GRAPHS:.*" { + publishDir = [ + [ + path: { "${params.outdir}/coverage_graphs" }, + mode: params.publish_dir_mode, + pattern: '*.{bedGraph,bigWig}' + ], + ] + } + + withName: BEDTOOLS_GENOMECOV_PLUS { ext.args = "-bg -strand +" ext.prefix = { "${meta.id}.plus" } diff --git a/docs/output.md b/docs/output.md index cbf622a3..2db44c1d 100644 --- a/docs/output.md +++ b/docs/output.md @@ -259,7 +259,7 @@ The [Preseq](http://smithlabresearch.org/software/preseq/) package is aimed at p
Output files -- `bedtools/` +- `coverage_graphs/` - `*.minus.bedGraph`: Sample coverage file (negative strand only) in bedGraph format - `*.plus.bedGraph`: Sample coverage file (positive strand only) in bedGraph format @@ -270,7 +270,7 @@ The [Preseq](http://smithlabresearch.org/software/preseq/) package is aimed at p
Output files -- `deeptools/` +- `coverage_graphs/` - `*.minus.bigWig`: Sample coverage file (negative strand only) in bigWig format - `*.plus.bigWig`: Sample coverage file (positive strand only) in bigWig format From 3596137b1af561d5dc2af5e365100aac1b45a8da Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Wed, 31 Jul 2024 22:41:19 -0500 Subject: [PATCH 07/16] refactor: Finish quantification publishing --- conf/modules.config | 44 +++++++++++++++++++++++--------------------- docs/output.md | 2 +- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index 827bd324..f9d15fb0 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -332,27 +332,6 @@ process { ext.prefix = { "${meta.id}.dreg" } } - //////////////////// - // Quantification // - //////////////////// - - withName: SUBREAD_FEATURECOUNTS_GENE { - ext.args = "-B -C" - publishDir = [ - path: { "${params.outdir}/quanitification/gene" }, - mode: 'copy', - ] - } - - withName: SUBREAD_FEATURECOUNTS_PREDICTED { - ext.prefix = { "${meta.id}-group_${annotation.baseName}-transcripts" } - ext.args = '-F "SAF"' - publishDir = [ - path: { "${params.outdir}/quantification/predicted" }, - mode: 'copy', - ] - } - /////////////////////////////// // Transcript Identification // /////////////////////////////// @@ -394,4 +373,27 @@ process { ext.args = "-wa" } + //////////////////// + // Quantification // + //////////////////// + + withName: SUBREAD_FEATURECOUNTS_GENE { + ext.args = "-B -C" + publishDir = [ + path: { "${params.outdir}/quantification/gene" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: SUBREAD_FEATURECOUNTS_PREDICTED { + ext.prefix = { "${meta.id}-group_${annotation.baseName}-transcripts" } + ext.args = '-F "SAF"' + publishDir = [ + path: { "${params.outdir}/quantification/nascent" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + } diff --git a/docs/output.md b/docs/output.md index 2db44c1d..a549458a 100644 --- a/docs/output.md +++ b/docs/output.md @@ -371,7 +371,7 @@ They've also created some bed files that might be useful for analysis.
Output files -- `/featurecounts/` +- `quantification/featurecounts/` - `*.featureCounts.txt`: featureCounts biotype-level quantification results for each sample. - `*.featureCounts.txt.summary`: featureCounts summary file containing overall statistics about the counts. - `*_mqc.tsv`: MultiQC custom content files used to plot biotypes in report. From d166808c1e5cef54e47901695ba5fc42672938ff Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Wed, 31 Jul 2024 22:50:52 -0500 Subject: [PATCH 08/16] refactor: Clean up transcript identification publishing --- conf/modules.config | 50 ++++++++++++++++++++ docs/output.md | 8 ++-- workflows/tests/aligner/bowtie2.nf.test.snap | 4 +- workflows/tests/aligner/star.nf.test.snap | 4 +- 4 files changed, 58 insertions(+), 8 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index f9d15fb0..37f74dc3 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -336,6 +336,15 @@ process { // Transcript Identification // /////////////////////////////// + withName: "HOMER_.*" { + publishDir = [ + [ + path: { "${params.outdir}/transcript_identification/homer" }, + mode: params.publish_dir_mode, + ], + ] + } + withName: HOMER_FINDPEAKS { // TODO Handle other assays ext.args = "-style groseq" @@ -352,25 +361,66 @@ process { withName: PINTS_CALLER { // FIXME bowtie2 fails for some reason ext.when = { params.aligner != "bowtie2" } + publishDir = [ + [ + path: { "${params.outdir}/transcript_identification/pints" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ], + ] + } + + withName: GROHMM_TRANSCRIPTCALLING { + publishDir = [ + [ + path: { "${params.outdir}/transcript_identification/grohmm" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ], + ] } withName: BEDTOOLS_SORT { ext.prefix = { "${meta.id}_sorted" } + publishDir = [ + enabled: false + ] } withName: BEDTOOLS_MERGE { ext.args = "-header" ext.prefix = { "${meta.id}_merged" } + publishDir = [ + [ + path: { "${params.outdir}/transcript_identification/merged" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ], + ] } withName: BEDTOOLS_INTERSECT_FILTER { ext.prefix = { "${meta.id}_filtered" } ext.args = "-v" + publishDir = [ + [ + path: { "${params.outdir}/transcript_identification/filtered" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ], + ] } withName: BEDTOOLS_INTERSECT { ext.prefix = { "${meta.id}_intersect" } ext.args = "-wa" + publishDir = [ + [ + path: { "${params.outdir}/transcript_identification/intersect" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ], + ] } //////////////////// diff --git a/docs/output.md b/docs/output.md index a549458a..4b251dbe 100644 --- a/docs/output.md +++ b/docs/output.md @@ -283,7 +283,7 @@ The [Preseq](http://smithlabresearch.org/software/preseq/) package is aimed at p
Output files -- `homer/` +- `transcript_identification/homer/` - `*.bed`: HOMER Nascent RNA (GroSeq) transcripts after pos2bed - `*.peaks.txt`: HOMER Nascent RNA (GroSeq) transcripts - `*.bedGraph.gz`: UCSC bedGraph @@ -306,7 +306,7 @@ The pipeline will pool the reads if they are in the same group. See [#153](https
Output files -- `pints/` +- `transcript_identification/pints/` - `*_bidirectional_peaks.bed`: Bidirectional TREs (divergent + convergent) - `*_divergent_peaks.bed`: Divergent TREs - `*_unidirectional_peaks.bed`: Unidirectional TREs, maybe lncRNAs transcribed from enhancers (e-lncRNAs) @@ -322,11 +322,11 @@ For more information about how PINTS works, see the paper [A comparison of exper
Output files -- `grohmm/` +- `transcript_identification/grohmm/` - `*.eval.txt`: Evaluation of HMM Annotations - `*.final.transcripts.bed`: Predicted transcripts - `*.tdFinal.txt`: Final quality metrics - - `*.tdplot_mqc.jpg`: TD plot included in multiqc + - `*.tdplot_mqc.jpg`: TD plot included in MultiQC - `*.transcripts.txt`: Predicted transcripts in txt form - `*.tuning.csv`: The tuning csv that was used diff --git a/workflows/tests/aligner/bowtie2.nf.test.snap b/workflows/tests/aligner/bowtie2.nf.test.snap index 9fa959db..605ab1e8 100644 --- a/workflows/tests/aligner/bowtie2.nf.test.snap +++ b/workflows/tests/aligner/bowtie2.nf.test.snap @@ -24,12 +24,12 @@ }, "software_versions": { "content": [ - "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, BOWTIE2_ALIGN={bowtie2=2.5.2, samtools=1.18, pigz=2.6}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SAMTOOLS_FLAGSTAT={samtools=1.2}, SAMTOOLS_IDXSTATS={samtools=1.2}, SAMTOOLS_INDEX={samtools=1.2}, SAMTOOLS_SORT={samtools=1.2}, SAMTOOLS_STATS={samtools=1.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" + "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, BOWTIE2_ALIGN={bowtie2=2.5.2, samtools=1.18, pigz=2.6}, CUSTOM_GETCHROMSIZES={getchromsizes=1.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SAMTOOLS_FLAGSTAT={samtools=1.2}, SAMTOOLS_IDXSTATS={samtools=1.2}, SAMTOOLS_INDEX={samtools=1.2}, SAMTOOLS_SORT={samtools=1.2}, SAMTOOLS_STATS={samtools=1.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-04T20:09:31.105618713" + "timestamp": "2024-08-04T21:59:33.78683953" } } \ No newline at end of file diff --git a/workflows/tests/aligner/star.nf.test.snap b/workflows/tests/aligner/star.nf.test.snap index d34a85fa..47574113 100644 --- a/workflows/tests/aligner/star.nf.test.snap +++ b/workflows/tests/aligner/star.nf.test.snap @@ -45,12 +45,12 @@ }, "software_versions": { "content": [ - "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" + "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, CUSTOM_GETCHROMSIZES={getchromsizes=1.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-04T20:24:33.931557374" + "timestamp": "2024-08-04T22:14:36.419331739" } } \ No newline at end of file From 9631fd6ca97ce987013d179802432035e6a6fa94 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Wed, 31 Jul 2024 23:00:11 -0500 Subject: [PATCH 09/16] style: Cleanup --- conf/modules.config | 3 --- 1 file changed, 3 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index 37f74dc3..e254bb62 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -105,7 +105,6 @@ process { pattern: "*.log" ], ] - } withName: ".*:FASTQ_ALIGN_HISAT2:HISAT2_ALIGN" { @@ -214,7 +213,6 @@ process { pattern: '*.log' ] ] - } withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS:BAM_STATS_SAMTOOLS:.*' { @@ -445,5 +443,4 @@ process { saveAs: { filename -> filename.equals('versions.yml') ? null : filename } ] } - } From 7b73b4a8a1dc8eb2975c10d5c0ec7df9e1991d60 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Thu, 8 Aug 2024 10:39:08 -0500 Subject: [PATCH 10/16] test: Add triggers --- nf-test.config | 1 + 1 file changed, 1 insertion(+) diff --git a/nf-test.config b/nf-test.config index 7abd3c95..261ec1c2 100644 --- a/nf-test.config +++ b/nf-test.config @@ -6,5 +6,6 @@ config { plugins { load "nft-bam@0.3.0" } + triggers "nextflow.config", "nf-test.config", "conf/modules.config", "conf/test.config", "tests/nextflow.config" } From f6ee047a686992af194d1654fab15f3e88d10af9 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Thu, 8 Aug 2024 10:40:41 -0500 Subject: [PATCH 11/16] ci: Remove fail-fast --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ae2ab8df..66d671fd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,6 +23,7 @@ jobs: test: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: shard: [1, 2, 3, 4] NXF_VER: ["latest-stable"] # TODO Test minimum version on release From 5e91c4088ddf60b05a7617d785372caa8b20c463 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Thu, 8 Aug 2024 11:45:50 -0500 Subject: [PATCH 12/16] test: Update expected paths --- workflows/tests/aligner/bwa.nf.test | 50 +++++----- workflows/tests/aligner/bwa.nf.test.snap | 118 +++++++++++++++++++++-- 2 files changed, 138 insertions(+), 30 deletions(-) diff --git a/workflows/tests/aligner/bwa.nf.test b/workflows/tests/aligner/bwa.nf.test index 9c2c79ca..d5c9cd3d 100644 --- a/workflows/tests/aligner/bwa.nf.test +++ b/workflows/tests/aligner/bwa.nf.test @@ -21,28 +21,34 @@ nextflow_pipeline { { assert snapshot(UTILS.removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml")).match("software_versions") }, { assert snapshot( workflow.trace.tasks().size(), - path("$outputDir/bbmap").list(), - // BUG https://github.com/nf-core/nascent/issues/102 - // path("$outputDir/bedtools").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/bwa/featurecounts/gene").list(), - // FIXME cd4 isn't deterministic - // path("$outputDir/bwa/featurecounts/predicted").list(), - // path("$outputDir/deeptools").list(), - // path("$outputDir/fastp/*.json").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/gtf2bed").list(), - path("$outputDir/homer/cd4.bed"), - path("$outputDir/homer/jurkat.bed"), - // FIXME https://github.com/nf-core/nascent/issues/148 - // path("$outputDir/preseq").list(), - // path("$outputDir/rseqc").list(), - bam("$outputDir/samtools/cd4_REP1.sorted.bam").getSamLinesMD5(), - bam("$outputDir/samtools/cd4_REP2.sorted.bam").getSamLinesMD5(), - bam("$outputDir/samtools/cd4_REP3.sorted.bam").getSamLinesMD5(), - bam("$outputDir/samtools/cd4_REP4.sorted.bam").getSamLinesMD5(), - bam("$outputDir/samtools/jurkat_REP1.sorted.bam").getSamLinesMD5(), - bam("$outputDir/samtools/jurkat_REP2.sorted.bam").getSamLinesMD5(), + // TODO path("$outputDir/preprocessing/fastp/*.json").list(), + path("$outputDir/bwa/log").list(), + path("$outputDir/bwa/samtools_stats").list(), + path("$outputDir/quality_control/bbsplit").list(), + // FIXME Empty + path("$outputDir/quality_control/preseq").list().findAll { it.contains(".txt") }, + // process.out.outs[0][1].findAll { file(it).name.contains('.pb') }, + path("$outputDir/quality_control/rseqc/read_duplication/xls").list(), + path("$outputDir/quality_control/rseqc/read_duplication/rscript").list(), + path("$outputDir/quality_control/rseqc/infer_experiment").list(), + path("$outputDir/quality_control/rseqc/read_distribution").list(), + path("$outputDir/coverage_graphs/").list(), + // FIXME Empty + path("$outputDir/transcript_identification/").list().findAll { file(it.toString()).name.contains('.bed') }, + path("$outputDir/transcript_identification/homer/cd4.bed"), + path("$outputDir/transcript_identification/homer/jurkat.bed"), + // FIXME path("$outputDir/transcript_identification/pints/").list().findAll(), + path("$outputDir/transcript_identification/intersect/").list(), + path("$outputDir/transcript_identification/filtered/").list(), + // FIXME path("$outputDir/quantification/").list(), + path("$outputDir/multiqc/multiqc_report.html").exists(), + // TODO + // bam("$outputDir/samtools/cd4_REP1.sorted.bam").getSamLinesMD5(), + // bam("$outputDir/samtools/cd4_REP2.sorted.bam").getSamLinesMD5(), + // bam("$outputDir/samtools/cd4_REP3.sorted.bam").getSamLinesMD5(), + // bam("$outputDir/samtools/cd4_REP4.sorted.bam").getSamLinesMD5(), + // bam("$outputDir/samtools/jurkat_REP1.sorted.bam").getSamLinesMD5(), + // bam("$outputDir/samtools/jurkat_REP2.sorted.bam").getSamLinesMD5(), ).match("output_files") } ) diff --git a/workflows/tests/aligner/bwa.nf.test.snap b/workflows/tests/aligner/bwa.nf.test.snap index 084b00e4..91b38b5d 100644 --- a/workflows/tests/aligner/bwa.nf.test.snap +++ b/workflows/tests/aligner/bwa.nf.test.snap @@ -2,6 +2,29 @@ "output_files": { "content": [ 134, + [ + + ], + [ + "cd4_REP1.sorted.bam.flagstat:md5,863e2d506d5cc4239af98a5f31bbc906", + "cd4_REP1.sorted.bam.idxstats:md5,b1dd8bcbd23c53c21f0e11082d9315f2", + "cd4_REP1.sorted.bam.stats:md5,ba177ae2d9a5ab5a972bc056df28acc1", + "cd4_REP2.sorted.bam.flagstat:md5,0fd86dbf8f799fad49ba471702979bdc", + "cd4_REP2.sorted.bam.idxstats:md5,53204e4c6a9f68664087e4a8123be46a", + "cd4_REP2.sorted.bam.stats:md5,8c8fc51169528132b1cca54d3689e3c0", + "cd4_REP3.sorted.bam.flagstat:md5,793c9cadbf80e35dbae3774e9b5bd93f", + "cd4_REP3.sorted.bam.idxstats:md5,42de227ff397013cf288759871b0e938", + "cd4_REP3.sorted.bam.stats:md5,fe5be813bf2d55fd0e4877c650a0b266", + "cd4_REP4.sorted.bam.flagstat:md5,ed6c609505097f3cc9d9902d69e016f8", + "cd4_REP4.sorted.bam.idxstats:md5,959dc185ae59de4cebe374026711a55e", + "cd4_REP4.sorted.bam.stats:md5,46bf6f2b140d369986027bc2f588b440", + "jurkat_REP1.sorted.bam.flagstat:md5,fd5f02b0f02a407447b804b1d80f5421", + "jurkat_REP1.sorted.bam.idxstats:md5,c61af0847c1ad76c06a8de2815975b32", + "jurkat_REP1.sorted.bam.stats:md5,3f1b0a4214daa368a307f856f7a809dc", + "jurkat_REP2.sorted.bam.flagstat:md5,86ed47bd41a745ab59de473082c7742d", + "jurkat_REP2.sorted.bam.idxstats:md5,3db8f88c1f836eb5d10f37ca1df81ae9", + "jurkat_REP2.sorted.bam.stats:md5,48732cff30d5a9a272f68fc850b0eb84" + ], [ "cd4_REP1.coverage.hist.txt:md5,7cbb473be8d3b32ff2e52fdf4e5d10d2", "cd4_REP1.coverage.stats.txt:md5,f1471b61ac17dba283d80e08450c7e55", @@ -15,21 +38,100 @@ "jurkat_REP1.coverage.stats.txt:md5,381c69a30099d82066a959deab1a2569", "jurkat_REP2.coverage.hist.txt:md5,d124bdadaf2dc5cdd9e3db5a1ab4c588", "jurkat_REP2.coverage.stats.txt:md5,b1940346719e4070091f2eef6e508f49" + ], + [ + + ], + [ + "cd4_REP1.pos.DupRate.xls:md5,a80db2d20096ca839a7847ec5b11bf75", + "cd4_REP1.seq.DupRate.xls:md5,c34531fd7578c6f62cbad53b96a7feb9", + "cd4_REP2.pos.DupRate.xls:md5,06200ab67a60bee71fd168de88c15369", + "cd4_REP2.seq.DupRate.xls:md5,c82f6d687eacabbab045db34647c3254", + "cd4_REP3.pos.DupRate.xls:md5,fd3e91bfe070deccef65b265957cb733", + "cd4_REP3.seq.DupRate.xls:md5,f4c9f61081e6ef309abe82bb34aa4bd0", + "cd4_REP4.pos.DupRate.xls:md5,7fb8a7e96fd521561f62ccf7bf490212", + "cd4_REP4.seq.DupRate.xls:md5,8c671e5b0029d396a666839029298828", + "jurkat_REP1.pos.DupRate.xls:md5,0721c91ab7c640b046689095047657f8", + "jurkat_REP1.seq.DupRate.xls:md5,aba941b1bf0e93f99e39bd507d1c02de", + "jurkat_REP2.pos.DupRate.xls:md5,253ec69be4f5322dc92f6cb3fb41f7e0", + "jurkat_REP2.seq.DupRate.xls:md5,c7c83a29e6dfd49ff17858fe83dc07c8" + ], + [ + "cd4_REP1.DupRate_plot.r:md5,a6f96b5b87a142dca2e09868deb8222b", + "cd4_REP2.DupRate_plot.r:md5,a0686d22ba07f33a627c1a106d442a03", + "cd4_REP3.DupRate_plot.r:md5,5b37293c52beaecc5980aa2b9bafd82c", + "cd4_REP4.DupRate_plot.r:md5,ffa0f611b7f86d36134f9d80c3e1c9de", + "jurkat_REP1.DupRate_plot.r:md5,8e4dc99cae73c94eda275aeee08a5390", + "jurkat_REP2.DupRate_plot.r:md5,3507444f5965ca98a448ab15659ba34f" + ], + [ + "cd4_REP1.infer_experiment.txt:md5,2d8f31fe48cfc1db9d4c46ba59c2c7f3", + "cd4_REP2.infer_experiment.txt:md5,70ac3bf0d0c50d644ab97e1698021e55", + "cd4_REP3.infer_experiment.txt:md5,b0157d081d0ba0c27b370915f13c8c8a", + "cd4_REP4.infer_experiment.txt:md5,37ec4ee4ed5f707f073be5a7d4c9acfb", + "jurkat_REP1.infer_experiment.txt:md5,3ec36bed252146eb9cdb68db30c1855e", + "jurkat_REP2.infer_experiment.txt:md5,cde67a32fc922fb61fe5c5ea4b0e5c92" + ], + [ + "cd4_REP1.read_distribution.txt:md5,1fcc6afbb63242818d446b877a832c3a", + "cd4_REP2.read_distribution.txt:md5,c2762d927c1c12d520ebee8160561189", + "cd4_REP3.read_distribution.txt:md5,2f05c4cc866b4f8068e02008cad20cb3", + "cd4_REP4.read_distribution.txt:md5,ececae7f535b4fd5606bf763fdba7a34", + "jurkat_REP1.read_distribution.txt:md5,6c02a757ed379a6c19f6855e38b5d909", + "jurkat_REP2.read_distribution.txt:md5,a5f8bed2cff9d780a31c3ce43e289d9e" + ], + [ + "cd4_REP1.dreg.bedGraph:md5,8948a8fa86d8f6d413b77983189ff56e", + "cd4_REP1.minus.bedGraph:md5,2a1c34f9d9ef9ff1b9da7874b9e3aaad", + "cd4_REP1.minus.bigWig:md5,5280319275c98dcce023779fa389884d", + "cd4_REP1.plus.bedGraph:md5,1509ec3a921e3109c5914e1bcef8cf33", + "cd4_REP1.plus.bigWig:md5,72ccab3173f2018a22a4b36841247ba2", + "cd4_REP2.dreg.bedGraph:md5,29f865a5668fae4a52a41589ac2b3179", + "cd4_REP2.minus.bedGraph:md5,c530bc34fa3ec7ac49e88ff65f9c2f92", + "cd4_REP2.minus.bigWig:md5,5e748c794e037f441741f7f409c8c5ad", + "cd4_REP2.plus.bedGraph:md5,a675141da2874ec08d91591e5ea8242b", + "cd4_REP2.plus.bigWig:md5,08674d52e9eeb08807c33ed3e4b3d504", + "cd4_REP3.dreg.bedGraph:md5,201e690c619ee231416b643740141588", + "cd4_REP3.minus.bedGraph:md5,1c44c165f663d08c869a013b78f051b0", + "cd4_REP3.minus.bigWig:md5,aa3f5e86c635e182f9173543751cfbfd", + "cd4_REP3.plus.bedGraph:md5,a475098ed14da6f3242c4cfdf3abb713", + "cd4_REP3.plus.bigWig:md5,b255ae7c47424c223c537d00ecc025b5", + "cd4_REP4.dreg.bedGraph:md5,dfcfce7df666c0e24a3d0d4e21447a0b", + "cd4_REP4.minus.bedGraph:md5,b7a3d3c822155dfd8052c67a330fd6d5", + "cd4_REP4.minus.bigWig:md5,fc61c62613dc0f74a65c32419aba8f76", + "cd4_REP4.plus.bedGraph:md5,5623367b681562a2567afc62a8da4151", + "cd4_REP4.plus.bigWig:md5,ed00ad7a22c49860debc86cfa7ffb457", + "jurkat_REP1.dreg.bedGraph:md5,c25a4fb095e9f7d6766a3ce33e08f7d8", + "jurkat_REP1.minus.bedGraph:md5,8d5d9a41df6eb6c56b1bfd3f39dc1fc6", + "jurkat_REP1.minus.bigWig:md5,d06c8015c996bf520fff17266fd01f84", + "jurkat_REP1.plus.bedGraph:md5,6ed63e5983edaa74fb3965676efdb674", + "jurkat_REP1.plus.bigWig:md5,7a02334f2c7300ffdb5a2253c0937390", + "jurkat_REP2.dreg.bedGraph:md5,aad861b6fd8d296fe6bb4bc82d5eeeed", + "jurkat_REP2.minus.bedGraph:md5,cd83486cb6bb71e6b6e31a69c94d0d85", + "jurkat_REP2.minus.bigWig:md5,686f719978de948f7045acc95f9d1c82", + "jurkat_REP2.plus.bedGraph:md5,569e8a25c9cf48d1ef953f3da77c48a1", + "jurkat_REP2.plus.bigWig:md5,cbe3fd38fe8f9508645bbfad83924212" + ], + [ + ], "cd4.bed:md5,ab94918610a560772fdbec591200295f", "jurkat.bed:md5,41908723fa423a78476feb2e7627a3a4", - "c529a16c839e85e119b98354f109352d", - "9e63b682af88fa902cf92b5c485845b1", - "2aa200bbbce374ec7dedb9b46ce4aae1", - "122274730dd5386e1b26c174df886a8b", - "c2adf5327ff6d4edda2fdad00c7cb9bf", - "63fea3b1e2e08e5f6fdf3f7ba0aa7818" + [ + "cd4_intersect.bed:md5,d41d8cd98f00b204e9800998ecf8427e", + "jurkat_intersect.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + [ + "cd4_filtered.bed:md5,22a41b0aef6da7f4fa0f0644cc60ef32", + "jurkat_filtered.bed:md5,a491231815327b0d0fab1885b8a8662e" + ], + true ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-03T08:58:17.037588077" + "timestamp": "2024-08-09T17:35:32.797123474" }, "Should work with gzipped references": { "content": [ @@ -49,7 +151,7 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-04T20:12:41.277553487" + "timestamp": "2024-08-09T13:24:17.114505802" }, "Should work with BWA Index": { "content": [ From 2d049ff030afec9c27dadff308abe0a70a45ca10 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Sat, 10 Aug 2024 13:19:58 -0500 Subject: [PATCH 13/16] test: Add UTILS functions from function guy https://github.com/nf-core/eager/pull/1063 Co-authored-by: jfy133 Co-authored-by: nvnieuwk --- tests/lib/UTILS.groovy | 34 ++++++++++++++++++++++++ workflows/tests/aligner/bwa.nf.test | 10 +++---- workflows/tests/aligner/bwa.nf.test.snap | 26 ++++++++++++++---- 3 files changed, 58 insertions(+), 12 deletions(-) diff --git a/tests/lib/UTILS.groovy b/tests/lib/UTILS.groovy index 1bd58a49..7bd4a9b9 100644 --- a/tests/lib/UTILS.groovy +++ b/tests/lib/UTILS.groovy @@ -8,4 +8,38 @@ class UTILS { } return softwareVersions } + +// Recursively list all files in a directory and its sub-directories, matching a given suffix +// TODO: use regex pattern instead of suffix? +public static getAllFilesFromDir(dir, suffix) { + def output = [] + new File(dir).eachFileRecurse() { + if (it.name.toString().endsWith(suffix)) { + output.add(it) + } + } + return output.sort() +} +// Recursively list all files names in a directory and its sub-directories, matching a given suffix, return file names +public static getAllFileNamesFromDir(dir, suffix) { + def output = [] + new File(dir).eachFileRecurse() { + if (it.name.toString().endsWith(suffix)) { + output.add(it.toString().split("/")[-1]) + } + } + return output.sort() +} + +// Recursively list all files names in a directory and its sub-directories, matching a given suffix, return if check if given string is in file +public static checkAllFilesNamesFromDirForString(dir, suffix, string) { + def output = [] + new File(dir).eachFileRecurse() { + if (it.name.toString().endsWith(suffix)) { + output.add(it.text.contains(string)) + } + } + return output.sort() +} + } diff --git a/workflows/tests/aligner/bwa.nf.test b/workflows/tests/aligner/bwa.nf.test index d5c9cd3d..7ea62bb6 100644 --- a/workflows/tests/aligner/bwa.nf.test +++ b/workflows/tests/aligner/bwa.nf.test @@ -21,23 +21,19 @@ nextflow_pipeline { { assert snapshot(UTILS.removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml")).match("software_versions") }, { assert snapshot( workflow.trace.tasks().size(), - // TODO path("$outputDir/preprocessing/fastp/*.json").list(), + UTILS.getAllFilesFromDir("$outputDir/preprocessing/fastp/", ".json"), path("$outputDir/bwa/log").list(), path("$outputDir/bwa/samtools_stats").list(), path("$outputDir/quality_control/bbsplit").list(), - // FIXME Empty - path("$outputDir/quality_control/preseq").list().findAll { it.contains(".txt") }, - // process.out.outs[0][1].findAll { file(it).name.contains('.pb') }, + UTILS.getAllFilesFromDir("$outputDir/quality_control/preseq", ".txt"), path("$outputDir/quality_control/rseqc/read_duplication/xls").list(), path("$outputDir/quality_control/rseqc/read_duplication/rscript").list(), path("$outputDir/quality_control/rseqc/infer_experiment").list(), path("$outputDir/quality_control/rseqc/read_distribution").list(), path("$outputDir/coverage_graphs/").list(), - // FIXME Empty - path("$outputDir/transcript_identification/").list().findAll { file(it.toString()).name.contains('.bed') }, path("$outputDir/transcript_identification/homer/cd4.bed"), path("$outputDir/transcript_identification/homer/jurkat.bed"), - // FIXME path("$outputDir/transcript_identification/pints/").list().findAll(), + // FIXME UTILS.getAllFilesFromDir("$outputDir/transcript_identification/pints/", ".bed"), path("$outputDir/transcript_identification/intersect/").list(), path("$outputDir/transcript_identification/filtered/").list(), // FIXME path("$outputDir/quantification/").list(), diff --git a/workflows/tests/aligner/bwa.nf.test.snap b/workflows/tests/aligner/bwa.nf.test.snap index 91b38b5d..a1ddee51 100644 --- a/workflows/tests/aligner/bwa.nf.test.snap +++ b/workflows/tests/aligner/bwa.nf.test.snap @@ -2,6 +2,14 @@ "output_files": { "content": [ 134, + [ + "cd4_REP1.trimmed.fastp.json:md5,bd9a3344c1591d6be4d524451f9dca53", + "cd4_REP2.trimmed.fastp.json:md5,bc6e3f9ff7835f220535cc393b8eb25f", + "cd4_REP3.trimmed.fastp.json:md5,c9c3a1dd0a2ebac77c9d7c3b0daf3790", + "cd4_REP4.trimmed.fastp.json:md5,c073bd26609ddca91396d0f374ec5b80", + "jurkat_REP1.trimmed.fastp.json:md5,329fd8e56421a196fc2ebd37ab3bc22d", + "jurkat_REP2.trimmed.fastp.json:md5,8bad5b02a27e5386255b998a6a69db15" + ], [ ], @@ -40,7 +48,18 @@ "jurkat_REP2.coverage.stats.txt:md5,b1940346719e4070091f2eef6e508f49" ], [ - + "cd4_REP1.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP1.lc_extrap.txt:md5,8633f84ccd5cc725db9af4b33edd63b0", + "cd4_REP2.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP2.lc_extrap.txt:md5,3ad9e4028c3711e6d46831c10ed04200", + "cd4_REP3.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP3.lc_extrap.txt:md5,25ebbeabee46caa86a4d6d82dd0091f1", + "cd4_REP4.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP4.lc_extrap.txt:md5,d0df86774dd54421fd362d46faa3f937", + "jurkat_REP1.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "jurkat_REP1.lc_extrap.txt:md5,84faa937faa88476c942f330c5762cb5", + "jurkat_REP2.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "jurkat_REP2.lc_extrap.txt:md5,8ae0a77bcc59da38ec2da0fc1f973227" ], [ "cd4_REP1.pos.DupRate.xls:md5,a80db2d20096ca839a7847ec5b11bf75", @@ -111,9 +130,6 @@ "jurkat_REP2.minus.bigWig:md5,686f719978de948f7045acc95f9d1c82", "jurkat_REP2.plus.bedGraph:md5,569e8a25c9cf48d1ef953f3da77c48a1", "jurkat_REP2.plus.bigWig:md5,cbe3fd38fe8f9508645bbfad83924212" - ], - [ - ], "cd4.bed:md5,ab94918610a560772fdbec591200295f", "jurkat.bed:md5,41908723fa423a78476feb2e7627a3a4", @@ -131,7 +147,7 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-09T17:35:32.797123474" + "timestamp": "2024-08-10T12:48:55.984269469" }, "Should work with gzipped references": { "content": [ From 5f0c3b14b4f591cb39e5bc586d46507c8c273910 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Sat, 10 Aug 2024 14:46:53 -0500 Subject: [PATCH 14/16] test: Add back in bam tests --- workflows/tests/aligner/bwa.nf.test | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/workflows/tests/aligner/bwa.nf.test b/workflows/tests/aligner/bwa.nf.test index 7ea62bb6..6d455221 100644 --- a/workflows/tests/aligner/bwa.nf.test +++ b/workflows/tests/aligner/bwa.nf.test @@ -22,6 +22,12 @@ nextflow_pipeline { { assert snapshot( workflow.trace.tasks().size(), UTILS.getAllFilesFromDir("$outputDir/preprocessing/fastp/", ".json"), + bam("$outputDir/bwa/cd4_REP1.sorted.bam").getSamLinesMD5(), + bam("$outputDir/bwa/cd4_REP2.sorted.bam").getSamLinesMD5(), + bam("$outputDir/bwa/cd4_REP3.sorted.bam").getSamLinesMD5(), + bam("$outputDir/bwa/cd4_REP4.sorted.bam").getSamLinesMD5(), + bam("$outputDir/bwa/jurkat_REP1.sorted.bam").getSamLinesMD5(), + bam("$outputDir/bwa/jurkat_REP2.sorted.bam").getSamLinesMD5(), path("$outputDir/bwa/log").list(), path("$outputDir/bwa/samtools_stats").list(), path("$outputDir/quality_control/bbsplit").list(), @@ -38,13 +44,6 @@ nextflow_pipeline { path("$outputDir/transcript_identification/filtered/").list(), // FIXME path("$outputDir/quantification/").list(), path("$outputDir/multiqc/multiqc_report.html").exists(), - // TODO - // bam("$outputDir/samtools/cd4_REP1.sorted.bam").getSamLinesMD5(), - // bam("$outputDir/samtools/cd4_REP2.sorted.bam").getSamLinesMD5(), - // bam("$outputDir/samtools/cd4_REP3.sorted.bam").getSamLinesMD5(), - // bam("$outputDir/samtools/cd4_REP4.sorted.bam").getSamLinesMD5(), - // bam("$outputDir/samtools/jurkat_REP1.sorted.bam").getSamLinesMD5(), - // bam("$outputDir/samtools/jurkat_REP2.sorted.bam").getSamLinesMD5(), ).match("output_files") } ) From 6fb83a5c14be39f1873e45cf0948eacd1a8e96df Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Sat, 10 Aug 2024 14:49:56 -0500 Subject: [PATCH 15/16] test: Update the rest of the tests for new output --- workflows/tests/aligner/bowtie2.nf.test | 39 ++++--- workflows/tests/aligner/bowtie2.nf.test.snap | 88 ++++++++++++++- workflows/tests/aligner/bwa.nf.test | 9 +- workflows/tests/aligner/bwa.nf.test.snap | 23 ++-- workflows/tests/aligner/bwamem2.nf.test | 36 +++---- workflows/tests/aligner/bwamem2.nf.test.snap | 81 +++++++++++++- workflows/tests/aligner/dragmap.nf.test | 39 ++++--- workflows/tests/aligner/dragmap.nf.test.snap | 81 +++++++++++++- workflows/tests/aligner/hisat2.nf.test | 37 ++++--- workflows/tests/aligner/hisat2.nf.test.snap | 86 ++++++++++++++- workflows/tests/aligner/star.nf.test | 56 ++++------ workflows/tests/aligner/star.nf.test.snap | 108 +++++++++++++++---- 12 files changed, 521 insertions(+), 162 deletions(-) diff --git a/workflows/tests/aligner/bowtie2.nf.test b/workflows/tests/aligner/bowtie2.nf.test index 51c229fd..daeff718 100644 --- a/workflows/tests/aligner/bowtie2.nf.test +++ b/workflows/tests/aligner/bowtie2.nf.test @@ -20,26 +20,25 @@ nextflow_pipeline { { assert snapshot(UTILS.removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml")).match("software_versions") }, { assert snapshot( workflow.trace.tasks().size(), - path("$outputDir/bbmap").list(), - // BUG https://github.com/nf-core/nascent/issues/102 - // path("$outputDir/bedtools").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/bwa/featurecounts/gene").list(), - // FIXME cd4 isn't deterministic - // path("$outputDir/bwa/featurecounts/predicted").list(), - // path("$outputDir/deeptools").list(), - // path("$outputDir/fastp/*.json").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/gtf2bed").list(), - path("$outputDir/homer/cd4.bed"), - path("$outputDir/homer/jurkat.bed"), - // FIXME https://github.com/nf-core/nascent/issues/148 - // path("$outputDir/preseq").list(), - // path("$outputDir/rseqc").list(), - // FIXME Bowtie2 isn't deterministic - bam("$outputDir/samtools/cd4_REP1.sorted.bam").getHeaderMD5(), - bam("$outputDir/samtools/cd4_REP2.sorted.bam").getHeaderMD5(), - bam("$outputDir/samtools/jurkat.sorted.bam").getHeaderMD5(), + UTILS.getAllFilesFromDir("$outputDir/preprocessing/fastp/", ".json"), + // NOTE Not deterministic + path("$outputDir/bowtie2/cd4_REP1.sorted.bam").exists(), + path("$outputDir/bowtie2/cd4_REP2.sorted.bam").exists(), + path("$outputDir/bowtie2/jurkat.sorted.bam").exists(), + path("$outputDir/bowtie2/log").list(), + path("$outputDir/bowtie2/samtools_stats").list(), + path("$outputDir/quality_control/bbsplit").list(), + UTILS.getAllFilesFromDir("$outputDir/quality_control/preseq", ".txt"), + path("$outputDir/quality_control/rseqc/read_duplication/xls").list(), + path("$outputDir/quality_control/rseqc/read_duplication/rscript").list(), + path("$outputDir/quality_control/rseqc/infer_experiment").list(), + path("$outputDir/quality_control/rseqc/read_distribution").list(), + path("$outputDir/coverage_graphs/").list(), + path("$outputDir/transcript_identification/homer/cd4.bed"), + path("$outputDir/transcript_identification/homer/jurkat.bed"), + path("$outputDir/transcript_identification/intersect/").list(), + path("$outputDir/transcript_identification/filtered/").list(), + path("$outputDir/multiqc/multiqc_report.html").exists(), ).match("output_files") } ) diff --git a/workflows/tests/aligner/bowtie2.nf.test.snap b/workflows/tests/aligner/bowtie2.nf.test.snap index 605ab1e8..60005471 100644 --- a/workflows/tests/aligner/bowtie2.nf.test.snap +++ b/workflows/tests/aligner/bowtie2.nf.test.snap @@ -2,6 +2,30 @@ "output_files": { "content": [ 75, + [ + "cd4_REP1.trimmed.fastp.json:md5,bd9a3344c1591d6be4d524451f9dca53", + "cd4_REP2.trimmed.fastp.json:md5,bc6e3f9ff7835f220535cc393b8eb25f", + "jurkat.trimmed.fastp.json:md5,65f7247a87479c7157c7357d575336e2" + ], + true, + true, + true, + [ + "cd4_REP1.bowtie2.log:md5,024c3b6bca27f3836cdd86c0287d2971", + "cd4_REP2.bowtie2.log:md5,089af358aad637ec94c10172eb024773", + "jurkat.bowtie2.log:md5,24031e901f4ce11cfb227c7d30d1373a" + ], + [ + "cd4_REP1.sorted.bam.flagstat:md5,14e684e73cb41155ab1168a0a99a97e6", + "cd4_REP1.sorted.bam.idxstats:md5,e32ac3215ba948bb7dd1559dab6c3c36", + "cd4_REP1.sorted.bam.stats:md5,490f84b5520b83daa95653671ce43921", + "cd4_REP2.sorted.bam.flagstat:md5,e00d036bcbea6f944d45fb5cb7c34516", + "cd4_REP2.sorted.bam.idxstats:md5,0803f2dce4b972ccc14943e22145c3e8", + "cd4_REP2.sorted.bam.stats:md5,f8872ba7ef4b4e66b16a4ca3d63c1a65", + "jurkat.sorted.bam.flagstat:md5,1b24ceabc8cecf34d745d06cf9d43cd0", + "jurkat.sorted.bam.idxstats:md5,15e67d4d9d71c6cc6c37d5ce5414ede0", + "jurkat.sorted.bam.stats:md5,ff1a4b8f6456a539943a14c8daeb75d3" + ], [ "cd4_REP1.coverage.hist.txt:md5,ffd8c0a94869dd782779fc871a9b781a", "cd4_REP1.coverage.stats.txt:md5,bebdef1adcce4296878f8699a0f5cb32", @@ -10,17 +34,71 @@ "jurkat.coverage.hist.txt:md5,656e30e8c4bd12e45a036c62c18730c1", "jurkat.coverage.stats.txt:md5,627f0ec96ea9bdbd7f41b09b64c389d6" ], + [ + "cd4_REP1.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP1.lc_extrap.txt:md5,cbacd5a2e62bccbb73a5d0f5d0791304", + "cd4_REP2.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP2.lc_extrap.txt:md5,cd3d0f6bc45ff35f6729fb7d66ffaf09", + "jurkat.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "jurkat.lc_extrap.txt:md5,85206c3788cd2d1cede39fbd6bab5a5c" + ], + [ + "cd4_REP1.pos.DupRate.xls:md5,8d377e230fc1df98fd10045ed686ba2b", + "cd4_REP1.seq.DupRate.xls:md5,9d01f20cefc5a5d76c42c64715933705", + "cd4_REP2.pos.DupRate.xls:md5,6939c35f32445351210b07b17a9e424d", + "cd4_REP2.seq.DupRate.xls:md5,ef56fed7d960a88eca66d5514faed7fb", + "jurkat.pos.DupRate.xls:md5,17f5622123e0d0b97f200e53fe7e165d", + "jurkat.seq.DupRate.xls:md5,566934dad135bc0168c36a8f8d297065" + ], + [ + "cd4_REP1.DupRate_plot.r:md5,6b19f80622d25eab51fa5962deac7882", + "cd4_REP2.DupRate_plot.r:md5,94d0e7599e7a83a5ea2f251cb8f2b879", + "jurkat.DupRate_plot.r:md5,d081ee3f5ef5f85ff8fccd013fe04f71" + ], + [ + "cd4_REP1.infer_experiment.txt:md5,a17e22cdbaa5db454d3dfa0624c8acdf", + "cd4_REP2.infer_experiment.txt:md5,d705d9b2c2d8fab525df84b4c943c34a", + "jurkat.infer_experiment.txt:md5,0b4fb80f4ec8466778fa224e4f274e4e" + ], + [ + "cd4_REP1.read_distribution.txt:md5,1df0ae48c81e68ea1d5602897a865f2b", + "cd4_REP2.read_distribution.txt:md5,ff1b593276f36df0cbf7bbc1361e6aad", + "jurkat.read_distribution.txt:md5,a67baffde38aa7a85223148532a18ba4" + ], + [ + "cd4_REP1.dreg.bedGraph:md5,f48ab66b1ddaf0d1b4867183aedb670a", + "cd4_REP1.minus.bedGraph:md5,6930097f008d44b850d8bb5c681e0d1d", + "cd4_REP1.minus.bigWig:md5,a28d277b360522476ceead81b28adc7f", + "cd4_REP1.plus.bedGraph:md5,c9f9c25c6af4285d7535907e37d62793", + "cd4_REP1.plus.bigWig:md5,fb555dbbb1458d56f167660ebfa0f4f0", + "cd4_REP2.dreg.bedGraph:md5,754cbac7c960a8d3424a11f14f78ff71", + "cd4_REP2.minus.bedGraph:md5,843cdcf18dcd791a7d2030c37eb8d62f", + "cd4_REP2.minus.bigWig:md5,782c83b97ea4794f191a6ac7f9231151", + "cd4_REP2.plus.bedGraph:md5,12892778f9451ed5d3578955f14dda7e", + "cd4_REP2.plus.bigWig:md5,ef622d439b5b90bf6d0232ed2faa9ab6", + "jurkat.dreg.bedGraph:md5,01bab031eee63726446d9260f6ebd3eb", + "jurkat.minus.bedGraph:md5,529ad9cfc3f050366f54a2d99085b94b", + "jurkat.minus.bigWig:md5,f211b5371583f0e373c508ad6ab311ee", + "jurkat.plus.bedGraph:md5,2475bada8a001c763caffa12c5c0e98e", + "jurkat.plus.bigWig:md5,c30a99c3f603b268442f8b6081f6f2c9" + ], "cd4.bed:md5,c311e32ebdca7f3e978a271407de7241", "jurkat.bed:md5,5e170e72c4e2b27a7bb0a6de7b735c1c", - "7945f971cd63ad99ff2d9cc81e19ea39", - "43982cec9077e7030428267841cf04ef", - "8813c6dd42cabd94042f4f9e4aee3560" + [ + "cd4_intersect.bed:md5,d41d8cd98f00b204e9800998ecf8427e", + "jurkat_intersect.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + [ + "cd4_filtered.bed:md5,c8bb282144d8078c0e4c809fe0878a12", + "jurkat_filtered.bed:md5,1341da464eab0ef94e921de514f46495" + ], + true ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-03T22:17:27.92555495" + "timestamp": "2024-08-11T13:47:28.150239282" }, "software_versions": { "content": [ @@ -30,6 +108,6 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-04T21:59:33.78683953" + "timestamp": "2024-08-11T13:47:28.018231429" } } \ No newline at end of file diff --git a/workflows/tests/aligner/bwa.nf.test b/workflows/tests/aligner/bwa.nf.test index 6d455221..b8833f01 100644 --- a/workflows/tests/aligner/bwa.nf.test +++ b/workflows/tests/aligner/bwa.nf.test @@ -28,7 +28,6 @@ nextflow_pipeline { bam("$outputDir/bwa/cd4_REP4.sorted.bam").getSamLinesMD5(), bam("$outputDir/bwa/jurkat_REP1.sorted.bam").getSamLinesMD5(), bam("$outputDir/bwa/jurkat_REP2.sorted.bam").getSamLinesMD5(), - path("$outputDir/bwa/log").list(), path("$outputDir/bwa/samtools_stats").list(), path("$outputDir/quality_control/bbsplit").list(), UTILS.getAllFilesFromDir("$outputDir/quality_control/preseq", ".txt"), @@ -39,10 +38,14 @@ nextflow_pipeline { path("$outputDir/coverage_graphs/").list(), path("$outputDir/transcript_identification/homer/cd4.bed"), path("$outputDir/transcript_identification/homer/jurkat.bed"), - // FIXME UTILS.getAllFilesFromDir("$outputDir/transcript_identification/pints/", ".bed"), + // FIXME Not determinstic because of the order of files + // Add to the other tests when fixed + // UTILS.getAllFilesFromDir("$outputDir/transcript_identification/pints/", ".bed"), path("$outputDir/transcript_identification/intersect/").list(), path("$outputDir/transcript_identification/filtered/").list(), - // FIXME path("$outputDir/quantification/").list(), + // FIXME Not determinstic because of the order of files + // Add to the other tests when fixed + // path("$outputDir/quantification/").list(), path("$outputDir/multiqc/multiqc_report.html").exists(), ).match("output_files") } diff --git a/workflows/tests/aligner/bwa.nf.test.snap b/workflows/tests/aligner/bwa.nf.test.snap index a1ddee51..84a03068 100644 --- a/workflows/tests/aligner/bwa.nf.test.snap +++ b/workflows/tests/aligner/bwa.nf.test.snap @@ -10,28 +10,31 @@ "jurkat_REP1.trimmed.fastp.json:md5,329fd8e56421a196fc2ebd37ab3bc22d", "jurkat_REP2.trimmed.fastp.json:md5,8bad5b02a27e5386255b998a6a69db15" ], - [ - - ], + "c529a16c839e85e119b98354f109352d", + "9e63b682af88fa902cf92b5c485845b1", + "2aa200bbbce374ec7dedb9b46ce4aae1", + "122274730dd5386e1b26c174df886a8b", + "c2adf5327ff6d4edda2fdad00c7cb9bf", + "63fea3b1e2e08e5f6fdf3f7ba0aa7818", [ "cd4_REP1.sorted.bam.flagstat:md5,863e2d506d5cc4239af98a5f31bbc906", "cd4_REP1.sorted.bam.idxstats:md5,b1dd8bcbd23c53c21f0e11082d9315f2", - "cd4_REP1.sorted.bam.stats:md5,ba177ae2d9a5ab5a972bc056df28acc1", + "cd4_REP1.sorted.bam.stats:md5,1536c80bae78b2062508e1de210f6387", "cd4_REP2.sorted.bam.flagstat:md5,0fd86dbf8f799fad49ba471702979bdc", "cd4_REP2.sorted.bam.idxstats:md5,53204e4c6a9f68664087e4a8123be46a", - "cd4_REP2.sorted.bam.stats:md5,8c8fc51169528132b1cca54d3689e3c0", + "cd4_REP2.sorted.bam.stats:md5,561610e53fb676ac83252712dcac30d4", "cd4_REP3.sorted.bam.flagstat:md5,793c9cadbf80e35dbae3774e9b5bd93f", "cd4_REP3.sorted.bam.idxstats:md5,42de227ff397013cf288759871b0e938", - "cd4_REP3.sorted.bam.stats:md5,fe5be813bf2d55fd0e4877c650a0b266", + "cd4_REP3.sorted.bam.stats:md5,9c8a44ba139ce9a24449779f5d3c9228", "cd4_REP4.sorted.bam.flagstat:md5,ed6c609505097f3cc9d9902d69e016f8", "cd4_REP4.sorted.bam.idxstats:md5,959dc185ae59de4cebe374026711a55e", - "cd4_REP4.sorted.bam.stats:md5,46bf6f2b140d369986027bc2f588b440", + "cd4_REP4.sorted.bam.stats:md5,edc57478278aa35b7376cee9afd634a7", "jurkat_REP1.sorted.bam.flagstat:md5,fd5f02b0f02a407447b804b1d80f5421", "jurkat_REP1.sorted.bam.idxstats:md5,c61af0847c1ad76c06a8de2815975b32", - "jurkat_REP1.sorted.bam.stats:md5,3f1b0a4214daa368a307f856f7a809dc", + "jurkat_REP1.sorted.bam.stats:md5,ce9ff516908d86fb6db6ce44d5a3904b", "jurkat_REP2.sorted.bam.flagstat:md5,86ed47bd41a745ab59de473082c7742d", "jurkat_REP2.sorted.bam.idxstats:md5,3db8f88c1f836eb5d10f37ca1df81ae9", - "jurkat_REP2.sorted.bam.stats:md5,48732cff30d5a9a272f68fc850b0eb84" + "jurkat_REP2.sorted.bam.stats:md5,026c558e8c36136ef19bfbef6b12ce2b" ], [ "cd4_REP1.coverage.hist.txt:md5,7cbb473be8d3b32ff2e52fdf4e5d10d2", @@ -147,7 +150,7 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-10T12:48:55.984269469" + "timestamp": "2024-08-11T14:09:09.905409258" }, "Should work with gzipped references": { "content": [ diff --git a/workflows/tests/aligner/bwamem2.nf.test b/workflows/tests/aligner/bwamem2.nf.test index 8279effe..e8dd2d71 100644 --- a/workflows/tests/aligner/bwamem2.nf.test +++ b/workflows/tests/aligner/bwamem2.nf.test @@ -18,25 +18,23 @@ nextflow_pipeline { { assert snapshot(UTILS.removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml")).match("software_versions") }, { assert snapshot( workflow.trace.tasks().size(), - path("$outputDir/bbmap").list(), - // BUG https://github.com/nf-core/nascent/issues/102 - // path("$outputDir/bedtools").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/bwa/featurecounts/gene").list(), - // FIXME cd4 isn't deterministic - // path("$outputDir/bwa/featurecounts/predicted").list(), - // path("$outputDir/deeptools").list(), - // path("$outputDir/fastp/*.json").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/gtf2bed").list(), - path("$outputDir/homer/cd4.bed"), - path("$outputDir/homer/jurkat.bed"), - // FIXME https://github.com/nf-core/nascent/issues/148 - // path("$outputDir/preseq").list(), - // path("$outputDir/rseqc").list(), - bam("$outputDir/samtools/cd4_REP1.sorted.bam").getSamLinesMD5(), - bam("$outputDir/samtools/cd4_REP2.sorted.bam").getSamLinesMD5(), - bam("$outputDir/samtools/jurkat.sorted.bam").getSamLinesMD5(), + UTILS.getAllFilesFromDir("$outputDir/preprocessing/fastp/", ".json"), + bam("$outputDir/bwamem2/cd4_REP1.sorted.bam").getSamLinesMD5(), + bam("$outputDir/bwamem2/cd4_REP2.sorted.bam").getSamLinesMD5(), + bam("$outputDir/bwamem2/jurkat.sorted.bam").getSamLinesMD5(), + path("$outputDir/bwamem2/samtools_stats").list(), + path("$outputDir/quality_control/bbsplit").list(), + UTILS.getAllFilesFromDir("$outputDir/quality_control/preseq", ".txt"), + path("$outputDir/quality_control/rseqc/read_duplication/xls").list(), + path("$outputDir/quality_control/rseqc/read_duplication/rscript").list(), + path("$outputDir/quality_control/rseqc/infer_experiment").list(), + path("$outputDir/quality_control/rseqc/read_distribution").list(), + path("$outputDir/coverage_graphs/").list(), + path("$outputDir/transcript_identification/homer/cd4.bed"), + path("$outputDir/transcript_identification/homer/jurkat.bed"), + path("$outputDir/transcript_identification/intersect/").list(), + path("$outputDir/transcript_identification/filtered/").list(), + path("$outputDir/multiqc/multiqc_report.html").exists(), ).match("output_files") } ) diff --git a/workflows/tests/aligner/bwamem2.nf.test.snap b/workflows/tests/aligner/bwamem2.nf.test.snap index ec1151b7..6d1ed380 100644 --- a/workflows/tests/aligner/bwamem2.nf.test.snap +++ b/workflows/tests/aligner/bwamem2.nf.test.snap @@ -2,6 +2,25 @@ "output_files": { "content": [ 77, + [ + "cd4_REP1.trimmed.fastp.json:md5,bd9a3344c1591d6be4d524451f9dca53", + "cd4_REP2.trimmed.fastp.json:md5,bc6e3f9ff7835f220535cc393b8eb25f", + "jurkat.trimmed.fastp.json:md5,65f7247a87479c7157c7357d575336e2" + ], + "c529a16c839e85e119b98354f109352d", + "9e63b682af88fa902cf92b5c485845b1", + "c2adf5327ff6d4edda2fdad00c7cb9bf", + [ + "cd4_REP1.sorted.bam.flagstat:md5,863e2d506d5cc4239af98a5f31bbc906", + "cd4_REP1.sorted.bam.idxstats:md5,b1dd8bcbd23c53c21f0e11082d9315f2", + "cd4_REP1.sorted.bam.stats:md5,1536c80bae78b2062508e1de210f6387", + "cd4_REP2.sorted.bam.flagstat:md5,0fd86dbf8f799fad49ba471702979bdc", + "cd4_REP2.sorted.bam.idxstats:md5,53204e4c6a9f68664087e4a8123be46a", + "cd4_REP2.sorted.bam.stats:md5,561610e53fb676ac83252712dcac30d4", + "jurkat.sorted.bam.flagstat:md5,fd5f02b0f02a407447b804b1d80f5421", + "jurkat.sorted.bam.idxstats:md5,c61af0847c1ad76c06a8de2815975b32", + "jurkat.sorted.bam.stats:md5,898c6b259ef686bf797ef15646faf29d" + ], [ "cd4_REP1.coverage.hist.txt:md5,7cbb473be8d3b32ff2e52fdf4e5d10d2", "cd4_REP1.coverage.stats.txt:md5,f1471b61ac17dba283d80e08450c7e55", @@ -10,17 +29,71 @@ "jurkat.coverage.hist.txt:md5,71a893d9d1d55fd47399f6d47b628d6e", "jurkat.coverage.stats.txt:md5,381c69a30099d82066a959deab1a2569" ], + [ + "cd4_REP1.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP1.lc_extrap.txt:md5,8633f84ccd5cc725db9af4b33edd63b0", + "cd4_REP2.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP2.lc_extrap.txt:md5,3ad9e4028c3711e6d46831c10ed04200", + "jurkat.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "jurkat.lc_extrap.txt:md5,84faa937faa88476c942f330c5762cb5" + ], + [ + "cd4_REP1.pos.DupRate.xls:md5,a80db2d20096ca839a7847ec5b11bf75", + "cd4_REP1.seq.DupRate.xls:md5,c34531fd7578c6f62cbad53b96a7feb9", + "cd4_REP2.pos.DupRate.xls:md5,06200ab67a60bee71fd168de88c15369", + "cd4_REP2.seq.DupRate.xls:md5,c82f6d687eacabbab045db34647c3254", + "jurkat.pos.DupRate.xls:md5,0721c91ab7c640b046689095047657f8", + "jurkat.seq.DupRate.xls:md5,aba941b1bf0e93f99e39bd507d1c02de" + ], + [ + "cd4_REP1.DupRate_plot.r:md5,a6f96b5b87a142dca2e09868deb8222b", + "cd4_REP2.DupRate_plot.r:md5,a0686d22ba07f33a627c1a106d442a03", + "jurkat.DupRate_plot.r:md5,acb2fdffc578643503503bf0081eb7ae" + ], + [ + "cd4_REP1.infer_experiment.txt:md5,2d8f31fe48cfc1db9d4c46ba59c2c7f3", + "cd4_REP2.infer_experiment.txt:md5,70ac3bf0d0c50d644ab97e1698021e55", + "jurkat.infer_experiment.txt:md5,3ec36bed252146eb9cdb68db30c1855e" + ], + [ + "cd4_REP1.read_distribution.txt:md5,1fcc6afbb63242818d446b877a832c3a", + "cd4_REP2.read_distribution.txt:md5,c2762d927c1c12d520ebee8160561189", + "jurkat.read_distribution.txt:md5,6c02a757ed379a6c19f6855e38b5d909" + ], + [ + "cd4_REP1.dreg.bedGraph:md5,8948a8fa86d8f6d413b77983189ff56e", + "cd4_REP1.minus.bedGraph:md5,2a1c34f9d9ef9ff1b9da7874b9e3aaad", + "cd4_REP1.minus.bigWig:md5,5280319275c98dcce023779fa389884d", + "cd4_REP1.plus.bedGraph:md5,1509ec3a921e3109c5914e1bcef8cf33", + "cd4_REP1.plus.bigWig:md5,72ccab3173f2018a22a4b36841247ba2", + "cd4_REP2.dreg.bedGraph:md5,29f865a5668fae4a52a41589ac2b3179", + "cd4_REP2.minus.bedGraph:md5,c530bc34fa3ec7ac49e88ff65f9c2f92", + "cd4_REP2.minus.bigWig:md5,5e748c794e037f441741f7f409c8c5ad", + "cd4_REP2.plus.bedGraph:md5,a675141da2874ec08d91591e5ea8242b", + "cd4_REP2.plus.bigWig:md5,08674d52e9eeb08807c33ed3e4b3d504", + "jurkat.dreg.bedGraph:md5,c25a4fb095e9f7d6766a3ce33e08f7d8", + "jurkat.minus.bedGraph:md5,8d5d9a41df6eb6c56b1bfd3f39dc1fc6", + "jurkat.minus.bigWig:md5,d06c8015c996bf520fff17266fd01f84", + "jurkat.plus.bedGraph:md5,6ed63e5983edaa74fb3965676efdb674", + "jurkat.plus.bigWig:md5,7a02334f2c7300ffdb5a2253c0937390" + ], "cd4.bed:md5,b55e5290d78941f36c3d1ecfef8e0062", "jurkat.bed:md5,383cfaf10535dbe5d7f47607e345f4cb", - "c529a16c839e85e119b98354f109352d", - "9e63b682af88fa902cf92b5c485845b1", - "c2adf5327ff6d4edda2fdad00c7cb9bf" + [ + "cd4_intersect.bed:md5,d41d8cd98f00b204e9800998ecf8427e", + "jurkat_intersect.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + [ + "cd4_filtered.bed:md5,7596b9c555cf05614153ee4b539f6b2e", + "jurkat_filtered.bed:md5,5cc005df15b1f03d21191f0f5d37f0e1" + ], + true ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-03T10:28:23.205786296" + "timestamp": "2024-08-11T12:45:38.504730102" }, "software_versions": { "content": [ diff --git a/workflows/tests/aligner/dragmap.nf.test b/workflows/tests/aligner/dragmap.nf.test index af2dd099..97d2c8fc 100644 --- a/workflows/tests/aligner/dragmap.nf.test +++ b/workflows/tests/aligner/dragmap.nf.test @@ -18,26 +18,25 @@ nextflow_pipeline { { assert snapshot(UTILS.removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml")).match("software_versions") }, { assert snapshot( workflow.trace.tasks().size(), - path("$outputDir/bbmap").list(), - // BUG https://github.com/nf-core/nascent/issues/102 - // path("$outputDir/bedtools").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/bwa/featurecounts/gene").list(), - // FIXME cd4 isn't deterministic - // path("$outputDir/bwa/featurecounts/predicted").list(), - // path("$outputDir/deeptools").list(), - // path("$outputDir/fastp/*.json").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/gtf2bed").list(), - path("$outputDir/homer/cd4.bed"), - path("$outputDir/homer/jurkat.bed"), - // FIXME https://github.com/nf-core/nascent/issues/148 - // path("$outputDir/preseq").list(), - // path("$outputDir/rseqc").list(), - // FIXME Dragmap isn't deterministic - bam("$outputDir/samtools/cd4_REP1.sorted.bam").getHeaderMD5(), - bam("$outputDir/samtools/cd4_REP2.sorted.bam").getHeaderMD5(), - bam("$outputDir/samtools/jurkat.sorted.bam").getHeaderMD5(), + UTILS.getAllFilesFromDir("$outputDir/preprocessing/fastp/", ".json"), + bam("$outputDir/dragmap/cd4_REP1.sorted.bam").getSamLinesMD5(), + bam("$outputDir/dragmap/cd4_REP2.sorted.bam").getSamLinesMD5(), + bam("$outputDir/dragmap/jurkat.sorted.bam").getSamLinesMD5(), + // NOTE Not deterministic + // path("$outputDir/dragmap/log").list(), + path("$outputDir/dragmap/samtools_stats").list(), + path("$outputDir/quality_control/bbsplit").list(), + UTILS.getAllFilesFromDir("$outputDir/quality_control/preseq", ".txt"), + path("$outputDir/quality_control/rseqc/read_duplication/xls").list(), + path("$outputDir/quality_control/rseqc/read_duplication/rscript").list(), + path("$outputDir/quality_control/rseqc/infer_experiment").list(), + path("$outputDir/quality_control/rseqc/read_distribution").list(), + path("$outputDir/coverage_graphs/").list(), + path("$outputDir/transcript_identification/homer/cd4.bed"), + path("$outputDir/transcript_identification/homer/jurkat.bed"), + path("$outputDir/transcript_identification/intersect/").list(), + path("$outputDir/transcript_identification/filtered/").list(), + path("$outputDir/multiqc/multiqc_report.html").exists(), ).match("output_files") } ) diff --git a/workflows/tests/aligner/dragmap.nf.test.snap b/workflows/tests/aligner/dragmap.nf.test.snap index c77e5711..de7f38b5 100644 --- a/workflows/tests/aligner/dragmap.nf.test.snap +++ b/workflows/tests/aligner/dragmap.nf.test.snap @@ -2,6 +2,25 @@ "output_files": { "content": [ 77, + [ + "cd4_REP1.trimmed.fastp.json:md5,bd9a3344c1591d6be4d524451f9dca53", + "cd4_REP2.trimmed.fastp.json:md5,bc6e3f9ff7835f220535cc393b8eb25f", + "jurkat.trimmed.fastp.json:md5,65f7247a87479c7157c7357d575336e2" + ], + "decb90fed362f83e7e5ace7e2e7e2884", + "24f05cf423094f251c23853e7c622c87", + "ff713596f886b6a62e5a68acc8851021", + [ + "cd4_REP1.sorted.bam.flagstat:md5,6a27aa41830e5f10a2c54c8a05611f9a", + "cd4_REP1.sorted.bam.idxstats:md5,75eaf648cea73812913344af3851ce16", + "cd4_REP1.sorted.bam.stats:md5,80bfe47bc5be703b51313a4b2fbcc57f", + "cd4_REP2.sorted.bam.flagstat:md5,0355e87e727027ee381053c49123336f", + "cd4_REP2.sorted.bam.idxstats:md5,4a68a3a04440acdced8802c29ffc634c", + "cd4_REP2.sorted.bam.stats:md5,24a85ae13a01fdbd1e6e882cf3ef55e0", + "jurkat.sorted.bam.flagstat:md5,2ac2d8fdb09b0bf5061d9e24501c41c3", + "jurkat.sorted.bam.idxstats:md5,8aebada21b179c96f888d08bb4ae1651", + "jurkat.sorted.bam.stats:md5,104f00b802be80cc252beb0d4cfd709b" + ], [ "cd4_REP1.coverage.hist.txt:md5,bff6862bc8e2015eef927b40671dec1b", "cd4_REP1.coverage.stats.txt:md5,c1e912cd0bebc51b289160ff7ab3365a", @@ -10,17 +29,71 @@ "jurkat.coverage.hist.txt:md5,468c864f655947edb3b306cb7a72633d", "jurkat.coverage.stats.txt:md5,338f3095395c8d8f172e0e27f9a5a60a" ], + [ + "cd4_REP1.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP1.lc_extrap.txt:md5,a2dfb0a61cd0ada1f306aaf8c7cc7b8f", + "cd4_REP2.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP2.lc_extrap.txt:md5,f5bc717609e44a4e94a1b1c626c1aaad", + "jurkat.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "jurkat.lc_extrap.txt:md5,129145e5b3fa3cd8a6908bcbe75ea010" + ], + [ + "cd4_REP1.pos.DupRate.xls:md5,c53ebd47cad3f3524dafd3d0bdd2cc71", + "cd4_REP1.seq.DupRate.xls:md5,6fc39432eb1815a1aebac84c5c46aa97", + "cd4_REP2.pos.DupRate.xls:md5,96b7100c85fd83d7634ebcd199de2aea", + "cd4_REP2.seq.DupRate.xls:md5,dac033fb9e548d1e23069d9f76f9e67d", + "jurkat.pos.DupRate.xls:md5,3389108003e203614790dd835c84bd81", + "jurkat.seq.DupRate.xls:md5,0950602857db220cdf550f66e0ad69b8" + ], + [ + "cd4_REP1.DupRate_plot.r:md5,d04a5d1a2c83c2be6dd373710d63fecf", + "cd4_REP2.DupRate_plot.r:md5,18afd2c9eb78d75dab9ac483b38111f8", + "jurkat.DupRate_plot.r:md5,2265434abacdb7130dd1643114482c8c" + ], + [ + "cd4_REP1.infer_experiment.txt:md5,e257827c09d08e0211e6b55b78c09817", + "cd4_REP2.infer_experiment.txt:md5,cfc76745a36e9144eb03b85abb40a2bc", + "jurkat.infer_experiment.txt:md5,14af4229684e813974e4c4ac5724bd81" + ], + [ + "cd4_REP1.read_distribution.txt:md5,82bb213b23ea5a2c719c09ed993b576d", + "cd4_REP2.read_distribution.txt:md5,139a91e2f36b9c93b09fe36aff3414cd", + "jurkat.read_distribution.txt:md5,982e7cb76ca5978ff8c8bc63d17a1fbe" + ], + [ + "cd4_REP1.dreg.bedGraph:md5,aefd2accdaf19635f5a566e6e36a578e", + "cd4_REP1.minus.bedGraph:md5,d4ddabe2599211e89c0eeb07544a2bf2", + "cd4_REP1.minus.bigWig:md5,7f0614afba6a3f37d507d1ee0ce4de2f", + "cd4_REP1.plus.bedGraph:md5,2ebf9f9cf845e8403cceda70e254be03", + "cd4_REP1.plus.bigWig:md5,de63345606909c31c3dfa2a0d57e68bc", + "cd4_REP2.dreg.bedGraph:md5,68cb12ce50649175d359aa8d7cbaae06", + "cd4_REP2.minus.bedGraph:md5,96876aaaca35003be86a25c78733c8f9", + "cd4_REP2.minus.bigWig:md5,228ed1c4fef63675c260c4f750b7c8f3", + "cd4_REP2.plus.bedGraph:md5,a6f04b8484428786a3e089ea5509240b", + "cd4_REP2.plus.bigWig:md5,cfea092121f880010f3ae652025e446b", + "jurkat.dreg.bedGraph:md5,337d974e56a047cea3ce1aa2a694b1ac", + "jurkat.minus.bedGraph:md5,c57d91865736e23f13660f9d7ecb6e5d", + "jurkat.minus.bigWig:md5,22daac83d393dcca8f1cc96580d3d4f3", + "jurkat.plus.bedGraph:md5,ddabf19e2172df4b80b7ce434035403e", + "jurkat.plus.bigWig:md5,ca73f44638c066f25261efffa1eedc7f" + ], "cd4.bed:md5,96b0e0bf77f3a04efcbfaf0fcdae926a", "jurkat.bed:md5,31454804c53975171a763d3049406598", - "9294458e8828aa4446fc6ea24f828d11", - "767cae9340255d914b40f5f0a76f9d65", - "b47414b7dada10ad11535d36af2e2cb" + [ + "cd4_intersect.bed:md5,d41d8cd98f00b204e9800998ecf8427e", + "jurkat_intersect.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + [ + "cd4_filtered.bed:md5,063a59e4a2612e8eedaa443d02f6d271", + "jurkat_filtered.bed:md5,6625c2c4f2bbbf9ff2c93e587990b906" + ], + true ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-03T21:25:35.878072689" + "timestamp": "2024-08-11T13:56:33.006429411" }, "software_versions": { "content": [ diff --git a/workflows/tests/aligner/hisat2.nf.test b/workflows/tests/aligner/hisat2.nf.test index 1099016a..7c65ac8a 100644 --- a/workflows/tests/aligner/hisat2.nf.test +++ b/workflows/tests/aligner/hisat2.nf.test @@ -21,25 +21,24 @@ nextflow_pipeline { { assert snapshot(UTILS.removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml")).match("software_versions") }, { assert snapshot( workflow.trace.tasks().size(), - path("$outputDir/bbmap").list(), - // BUG https://github.com/nf-core/nascent/issues/102 - // path("$outputDir/bedtools").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/bwa/featurecounts/gene").list(), - // FIXME cd4 isn't deterministic - // path("$outputDir/bwa/featurecounts/predicted").list(), - // path("$outputDir/deeptools").list(), - // path("$outputDir/fastp/*.json").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/gtf2bed").list(), - path("$outputDir/homer/cd4.bed"), - path("$outputDir/homer/jurkat.bed"), - // FIXME https://github.com/nf-core/nascent/issues/148 - // path("$outputDir/preseq").list(), - // path("$outputDir/rseqc").list(), - bam("$outputDir/samtools/cd4_REP1.sorted.bam").getSamLinesMD5(), - bam("$outputDir/samtools/cd4_REP2.sorted.bam").getSamLinesMD5(), - bam("$outputDir/samtools/jurkat.sorted.bam").getSamLinesMD5(), + UTILS.getAllFilesFromDir("$outputDir/preprocessing/fastp/", ".json"), + bam("$outputDir/hisat2/cd4_REP1.sorted.bam").getSamLinesMD5(), + bam("$outputDir/hisat2/cd4_REP2.sorted.bam").getSamLinesMD5(), + bam("$outputDir/hisat2/jurkat.sorted.bam").getSamLinesMD5(), + path("$outputDir/hisat2/log").list(), + path("$outputDir/hisat2/samtools_stats").list(), + path("$outputDir/quality_control/bbsplit").list(), + UTILS.getAllFilesFromDir("$outputDir/quality_control/preseq", ".txt"), + path("$outputDir/quality_control/rseqc/read_duplication/xls").list(), + path("$outputDir/quality_control/rseqc/read_duplication/rscript").list(), + path("$outputDir/quality_control/rseqc/infer_experiment").list(), + path("$outputDir/quality_control/rseqc/read_distribution").list(), + path("$outputDir/coverage_graphs/").list(), + path("$outputDir/transcript_identification/homer/cd4.bed"), + path("$outputDir/transcript_identification/homer/jurkat.bed"), + path("$outputDir/transcript_identification/intersect/").list(), + path("$outputDir/transcript_identification/filtered/").list(), + path("$outputDir/multiqc/multiqc_report.html").exists(), ).match("output_files") } ) diff --git a/workflows/tests/aligner/hisat2.nf.test.snap b/workflows/tests/aligner/hisat2.nf.test.snap index 00a6968a..6b3dd437 100644 --- a/workflows/tests/aligner/hisat2.nf.test.snap +++ b/workflows/tests/aligner/hisat2.nf.test.snap @@ -2,6 +2,30 @@ "output_files": { "content": [ 77, + [ + "cd4_REP1.trimmed.fastp.json:md5,bd9a3344c1591d6be4d524451f9dca53", + "cd4_REP2.trimmed.fastp.json:md5,bc6e3f9ff7835f220535cc393b8eb25f", + "jurkat.trimmed.fastp.json:md5,65f7247a87479c7157c7357d575336e2" + ], + "e4a8dd8442a85921d5b9a7f2fd1fce1e", + "4dba3f03e302b5d4a31c50987844ced7", + "2f7a17a247d070580890c62005d261fa", + [ + "cd4_REP1.hisat2.summary.log:md5,4f8f6e777e142473bad3c3dcdab8f6d3", + "cd4_REP2.hisat2.summary.log:md5,7a95dbf6b50b5d527416232e9af55d86", + "jurkat.hisat2.summary.log:md5,3547ecf137d5c08695b29a5f78d09ddb" + ], + [ + "cd4_REP1.sorted.bam.flagstat:md5,aa26d19a689b2fe97e254f125e1f7bcb", + "cd4_REP1.sorted.bam.idxstats:md5,d523e6e25ce8659871df4104dab503b0", + "cd4_REP1.sorted.bam.stats:md5,57b98494241870644c74edda7d503232", + "cd4_REP2.sorted.bam.flagstat:md5,6235482c2c1be02a23826261e2f8a033", + "cd4_REP2.sorted.bam.idxstats:md5,89de35c9f4f1eafa6944d5d574db1675", + "cd4_REP2.sorted.bam.stats:md5,aaa17a5a0018fa03cbadb1f5e354fa49", + "jurkat.sorted.bam.flagstat:md5,8e59ad91dd9df6003cb6c3070b0aa34c", + "jurkat.sorted.bam.idxstats:md5,56608a565532fc8ae2b93a3be28d5e8d", + "jurkat.sorted.bam.stats:md5,e100d7f3a79bb29ea3a99e610245e6c8" + ], [ "cd4_REP1.coverage.hist.txt:md5,dff9783a6054f490bd106a5ea59ff323", "cd4_REP1.coverage.stats.txt:md5,bd2ae14e43e59332d62af60601f95368", @@ -10,17 +34,71 @@ "jurkat.coverage.hist.txt:md5,25ff1313ce15f2332b3b9ac5e440ad76", "jurkat.coverage.stats.txt:md5,e27a85bf418ceec8205c3ed4c9e9c0e4" ], + [ + "cd4_REP1.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP1.lc_extrap.txt:md5,ef2d2279e5b4a381d98ab15088a82ada", + "cd4_REP2.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP2.lc_extrap.txt:md5,52cd440c876e0036d822491bc4408d3c", + "jurkat.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "jurkat.lc_extrap.txt:md5,3022ec570c7309819d53687439eea28e" + ], + [ + "cd4_REP1.pos.DupRate.xls:md5,f310a69c06f98d74ad7777f9654c6a5e", + "cd4_REP1.seq.DupRate.xls:md5,38e5d22ea87cbc72d3d193f2cfe71be6", + "cd4_REP2.pos.DupRate.xls:md5,3798988e2db44c870a96d1d6a411a7df", + "cd4_REP2.seq.DupRate.xls:md5,0446112b47237c5ced58ae84d05f4e98", + "jurkat.pos.DupRate.xls:md5,2afe47e0b733adcf27027466688b0eed", + "jurkat.seq.DupRate.xls:md5,f5fb592ddeb04e6b0cf943e192629648" + ], + [ + "cd4_REP1.DupRate_plot.r:md5,8b5faff4bfdf9a9aea0fb70034fa490c", + "cd4_REP2.DupRate_plot.r:md5,069417fefa3372751b0d6b631f730b4b", + "jurkat.DupRate_plot.r:md5,504b1a3db273e05246389299ae6e7eb3" + ], + [ + "cd4_REP1.infer_experiment.txt:md5,223944c6503efda309695bb51cb546f3", + "cd4_REP2.infer_experiment.txt:md5,09ddb72f44716e13c7fefba987d2343d", + "jurkat.infer_experiment.txt:md5,0a2e5683b2cc3e4b6e843979745f430f" + ], + [ + "cd4_REP1.read_distribution.txt:md5,2bdadf1ad1eea97f8d0a7f8a1e7c5934", + "cd4_REP2.read_distribution.txt:md5,392d6d311d922c75f2b75e060bac4ad2", + "jurkat.read_distribution.txt:md5,44b9aa3f1b43ecbe5303714a55cd0bc0" + ], + [ + "cd4_REP1.dreg.bedGraph:md5,9afeff7c6ca37640e946de7c6153f77f", + "cd4_REP1.minus.bedGraph:md5,22f749f499c9a66e77d7cb4d0b05f115", + "cd4_REP1.minus.bigWig:md5,7430ec6b29bad01cc195bff48e7c3318", + "cd4_REP1.plus.bedGraph:md5,a5371fb8da790607b820b449711efda9", + "cd4_REP1.plus.bigWig:md5,051b50fa9bb4de523d54a37b2d7353f5", + "cd4_REP2.dreg.bedGraph:md5,7db28452604d25f084f5c90a844acfaa", + "cd4_REP2.minus.bedGraph:md5,ccbc07a515c079678fe9aac66943a94d", + "cd4_REP2.minus.bigWig:md5,59d6c644860efb1852d1d88f12e5328e", + "cd4_REP2.plus.bedGraph:md5,47a5ac385c35a0a12fca2fea5c060a30", + "cd4_REP2.plus.bigWig:md5,7e1f1319b32f591d6704050447317108", + "jurkat.dreg.bedGraph:md5,2263e002f2867d8c306e52cf0a5ed495", + "jurkat.minus.bedGraph:md5,b06abe7efd4e332e73fa1895e554dc06", + "jurkat.minus.bigWig:md5,8a0ca6db6626d3fefb518f0d35dd1abc", + "jurkat.plus.bedGraph:md5,835edbd98f6d5d69e56de05e1a837b7c", + "jurkat.plus.bigWig:md5,66e82005e6c6730e970f7506bf93325c" + ], "cd4.bed:md5,d8c78818eb1666575ef4c2534ea3727e", "jurkat.bed:md5,7298daa579135dfb8924067abaa2ba4e", - "e4a8dd8442a85921d5b9a7f2fd1fce1e", - "4dba3f03e302b5d4a31c50987844ced7", - "2f7a17a247d070580890c62005d261fa" + [ + "cd4_intersect.bed:md5,d41d8cd98f00b204e9800998ecf8427e", + "jurkat_intersect.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + [ + "cd4_filtered.bed:md5,d2d0eea74b786692bea5a6a23046ad4a", + "jurkat_filtered.bed:md5,1341da464eab0ef94e921de514f46495" + ], + true ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-03T10:31:53.720198479" + "timestamp": "2024-08-10T15:44:01.194165188" }, "software_versions": { "content": [ diff --git a/workflows/tests/aligner/star.nf.test b/workflows/tests/aligner/star.nf.test index 6d2d222e..b647b57d 100644 --- a/workflows/tests/aligner/star.nf.test +++ b/workflows/tests/aligner/star.nf.test @@ -20,25 +20,25 @@ nextflow_pipeline { { assert snapshot(UTILS.removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml")).match("software_versions") }, { assert snapshot( workflow.trace.tasks().size(), - path("$outputDir/bbmap").list(), - // BUG https://github.com/nf-core/nascent/issues/102 - // path("$outputDir/bedtools").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/bwa/featurecounts/gene").list(), - // FIXME cd4 isn't deterministic - // path("$outputDir/bwa/featurecounts/predicted").list(), - // path("$outputDir/deeptools").list(), - // path("$outputDir/fastp/*.json").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/gtf2bed").list(), - path("$outputDir/homer/cd4.bed"), - path("$outputDir/homer/jurkat.bed"), - // FIXME https://github.com/nf-core/nascent/issues/148 - // path("$outputDir/preseq").list(), - // path("$outputDir/rseqc").list(), - bam("$outputDir/samtools/cd4_REP1.sorted.bam").getSamLinesMD5(), - bam("$outputDir/samtools/cd4_REP2.sorted.bam").getSamLinesMD5(), - bam("$outputDir/samtools/jurkat.sorted.bam").getSamLinesMD5(), + UTILS.getAllFilesFromDir("$outputDir/preprocessing/fastp/", ".json"), + bam("$outputDir/star/cd4_REP1.sorted.bam").getSamLinesMD5(), + bam("$outputDir/star/cd4_REP2.sorted.bam").getSamLinesMD5(), + bam("$outputDir/star/jurkat.sorted.bam").getSamLinesMD5(), + // NOTE Not deterministic + // path("$outputDir/star/log").list(), + path("$outputDir/star/samtools_stats").list(), + path("$outputDir/quality_control/bbsplit").list(), + UTILS.getAllFilesFromDir("$outputDir/quality_control/preseq", ".txt"), + path("$outputDir/quality_control/rseqc/read_duplication/xls").list(), + path("$outputDir/quality_control/rseqc/read_duplication/rscript").list(), + path("$outputDir/quality_control/rseqc/infer_experiment").list(), + path("$outputDir/quality_control/rseqc/read_distribution").list(), + path("$outputDir/coverage_graphs/").list(), + path("$outputDir/transcript_identification/homer/cd4.bed"), + path("$outputDir/transcript_identification/homer/jurkat.bed"), + path("$outputDir/transcript_identification/intersect/").list(), + path("$outputDir/transcript_identification/filtered/").list(), + path("$outputDir/multiqc/multiqc_report.html").exists(), ).match("output_files") } ) @@ -58,25 +58,9 @@ nextflow_pipeline { then { assertAll( { assert workflow.success }, + { assert snapshot(UTILS.removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml")).match("gzip_software_versions") }, { assert snapshot( workflow.trace.tasks().size(), - path("$outputDir/bbmap").list(), - // BUG https://github.com/nf-core/nascent/issues/102 - // path("$outputDir/bedtools").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/bwa/featurecounts/gene").list(), - // FIXME cd4 isn't deterministic - // path("$outputDir/bwa/featurecounts/predicted").list(), - // path("$outputDir/deeptools").list(), - // path("$outputDir/fastp/*.json").list(), - // FIXME gtf2bed isn't deterministic - // path("$outputDir/gtf2bed").list(), - path("$outputDir/homer/cd4.bed"), - path("$outputDir/homer/jurkat.bed"), - // FIXME https://github.com/nf-core/nascent/issues/148 - // path("$outputDir/preseq").list(), - // path("$outputDir/rseqc").list(), - bam("$outputDir/samtools/cd4_REP1.sorted.bam").getSamLinesMD5(), ).match() } ) diff --git a/workflows/tests/aligner/star.nf.test.snap b/workflows/tests/aligner/star.nf.test.snap index 47574113..67c0d17b 100644 --- a/workflows/tests/aligner/star.nf.test.snap +++ b/workflows/tests/aligner/star.nf.test.snap @@ -1,28 +1,36 @@ { "Should run with gzipped gtf": { "content": [ - 83, - [ - "cd4_REP1.coverage.hist.txt:md5,40fa11763ddc9cdfb2ab7d1e355a68aa", - "cd4_REP1.coverage.stats.txt:md5,3a9e49ac63d4322e6bc5e38af1cb0e7f", - "cd4_REP2.coverage.hist.txt:md5,d3ba6b2e1cfa9fec1e41fc9b35bf1613", - "cd4_REP2.coverage.stats.txt:md5,bdfddb88605ba9dfcdb35988d6a8f55e", - "jurkat.coverage.hist.txt:md5,0a5b27499261b4bb70fb30aa9187802f", - "jurkat.coverage.stats.txt:md5,6969d93dd3f46379662382d77448c0ee" - ], - "cd4.bed:md5,28eafdfa41f98475e5e651fd0e8f95f2", - "jurkat.bed:md5,7e59345b336cc8a9c5f96bf7df7b3d06", - "4df1ea73be642288f18fa0d84f2f2820" + 83 ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-03T10:38:18.050552995" + "timestamp": "2024-08-10T23:12:22.87545483" }, "output_files": { "content": [ 82, + [ + "cd4_REP1.trimmed.fastp.json:md5,bd9a3344c1591d6be4d524451f9dca53", + "cd4_REP2.trimmed.fastp.json:md5,bc6e3f9ff7835f220535cc393b8eb25f", + "jurkat.trimmed.fastp.json:md5,65f7247a87479c7157c7357d575336e2" + ], + "4df1ea73be642288f18fa0d84f2f2820", + "32b824f32b196761243365d93065a0da", + "519b0eb7154a059df04f6a74e01c0578", + [ + "cd4_REP1.sorted.bam.flagstat:md5,6379888a79d90e28dd969e21f7b03a33", + "cd4_REP1.sorted.bam.idxstats:md5,65e8e2d1ed65620f9750f2981e997a9d", + "cd4_REP1.sorted.bam.stats:md5,bec325c0cd30bafd9758c0535f99cf49", + "cd4_REP2.sorted.bam.flagstat:md5,ab83e3fbca17cf463fc5293a82e4bb3a", + "cd4_REP2.sorted.bam.idxstats:md5,9cdf3dd50a9862a02592c3768071fe32", + "cd4_REP2.sorted.bam.stats:md5,c7a92c340bb5735414d035da30b9b53f", + "jurkat.sorted.bam.flagstat:md5,b5f1d127de493e406882aced667210c9", + "jurkat.sorted.bam.idxstats:md5,5e4a68fda75c954324d659af58d12c62", + "jurkat.sorted.bam.stats:md5,0b7a4d6e0823d159ab2d9cdc1b2c8310" + ], [ "cd4_REP1.coverage.hist.txt:md5,40fa11763ddc9cdfb2ab7d1e355a68aa", "cd4_REP1.coverage.stats.txt:md5,3a9e49ac63d4322e6bc5e38af1cb0e7f", @@ -31,17 +39,71 @@ "jurkat.coverage.hist.txt:md5,0a5b27499261b4bb70fb30aa9187802f", "jurkat.coverage.stats.txt:md5,6969d93dd3f46379662382d77448c0ee" ], + [ + "cd4_REP1.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP1.lc_extrap.txt:md5,c84d218ba0a58b9ea5476ad207224162", + "cd4_REP2.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "cd4_REP2.lc_extrap.txt:md5,9159cf4286e88b3c5740cf9c2884d4f1", + "jurkat.c_curve.txt:md5,cf4743abdd355595d6ec1fb3f38e66e5", + "jurkat.lc_extrap.txt:md5,639ea055621d77eadb836505eaf07ca8" + ], + [ + "cd4_REP1.pos.DupRate.xls:md5,251ff0f73b7a2d98894fcaaf763a9059", + "cd4_REP1.seq.DupRate.xls:md5,fb59902a9ab77c1859a48bd763578560", + "cd4_REP2.pos.DupRate.xls:md5,f784231fb3973ec46c0996d4ba2f9591", + "cd4_REP2.seq.DupRate.xls:md5,6c00870ce14b0383bdccd352d7c6012a", + "jurkat.pos.DupRate.xls:md5,0937fe59aa436407b807660978c4423e", + "jurkat.seq.DupRate.xls:md5,ef59a2a23975a1a3aa2770ca8525ac51" + ], + [ + "cd4_REP1.DupRate_plot.r:md5,a33f83aef06fa207ac55b8002741aff7", + "cd4_REP2.DupRate_plot.r:md5,834a386b72bab13bfb9678ebb09d814e", + "jurkat.DupRate_plot.r:md5,eb8151edec9ac1e29b5a579cfdb45a0d" + ], + [ + "cd4_REP1.infer_experiment.txt:md5,615958cef592f55bf190346b8aec2886", + "cd4_REP2.infer_experiment.txt:md5,fbe67ba4bd4ed6a1759a4ec676332e36", + "jurkat.infer_experiment.txt:md5,9accbdaac1d7d8c9e665e87a48328842" + ], + [ + "cd4_REP1.read_distribution.txt:md5,2b5ff7e11fc0e542b6cc2b175fe9e8ab", + "cd4_REP2.read_distribution.txt:md5,748d618cbb6bebc5922a89af78932f60", + "jurkat.read_distribution.txt:md5,5ec2c28ee0ff01e0fa0889b16136624f" + ], + [ + "cd4_REP1.dreg.bedGraph:md5,6ecfb93ba1a56308ce7d3c4703e0e5e3", + "cd4_REP1.minus.bedGraph:md5,9e07f1d5637b2193f55da08d6877bd93", + "cd4_REP1.minus.bigWig:md5,fa4743c954c2d96c38d1d53511ebf647", + "cd4_REP1.plus.bedGraph:md5,c111dc157dc7ecd53e7f6b8ce8d5ccc0", + "cd4_REP1.plus.bigWig:md5,37f187a2a476cba99a00ab7683079f84", + "cd4_REP2.dreg.bedGraph:md5,949a822bee0b968f118fb4d2d0fcf251", + "cd4_REP2.minus.bedGraph:md5,d0bdd2bf54e343a00d620d41da32e2f3", + "cd4_REP2.minus.bigWig:md5,9f8cb0bdf31650b1af341b5522cf7634", + "cd4_REP2.plus.bedGraph:md5,268311481da2d62204f71a1a8bc5d43b", + "cd4_REP2.plus.bigWig:md5,4f5f27b5e3258ebf2ee7bf1f8fe17357", + "jurkat.dreg.bedGraph:md5,9a2a287e9d8e73185d5754442051055b", + "jurkat.minus.bedGraph:md5,964feef1a4988cbf900840fa572a676e", + "jurkat.minus.bigWig:md5,172ea254e30275889eb94a2f2f7f04cf", + "jurkat.plus.bedGraph:md5,198a0f027ca6799ecc74196232402c81", + "jurkat.plus.bigWig:md5,0bd721f298a8dde14ffdbda6db303f93" + ], "cd4.bed:md5,28eafdfa41f98475e5e651fd0e8f95f2", "jurkat.bed:md5,7e59345b336cc8a9c5f96bf7df7b3d06", - "4df1ea73be642288f18fa0d84f2f2820", - "32b824f32b196761243365d93065a0da", - "519b0eb7154a059df04f6a74e01c0578" + [ + "cd4_intersect.bed:md5,d41d8cd98f00b204e9800998ecf8427e", + "jurkat_intersect.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + [ + "cd4_filtered.bed:md5,ae17ebd0485c6fc2648dcdb31eeb59b2", + "jurkat_filtered.bed:md5,f671cf2998b8d2422554c8cee21ee91f" + ], + true ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-03T10:35:05.994986959" + "timestamp": "2024-08-11T13:24:35.500633327" }, "software_versions": { "content": [ @@ -51,6 +113,16 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-04T22:14:36.419331739" + "timestamp": "2024-08-11T14:01:27.77798393" + }, + "gzip_software_versions": { + "content": [ + "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GUNZIP_GTF={gunzip=1.1}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-10T23:12:22.858450381" } } \ No newline at end of file From ebeb0425b1cdf35821f64e4135e65dbf33649192 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Sun, 11 Aug 2024 19:57:24 -0500 Subject: [PATCH 16/16] test: Fix non-deterministic versions and bams --- workflows/nascent.nf | 2 +- workflows/tests/aligner/bowtie2.nf.test | 6 +++--- workflows/tests/aligner/bowtie2.nf.test.snap | 12 ++++++------ workflows/tests/aligner/bwa.nf.test.snap | 4 ++-- workflows/tests/aligner/bwamem2.nf.test.snap | 4 ++-- workflows/tests/aligner/dragmap.nf.test | 7 ++++--- workflows/tests/aligner/dragmap.nf.test.snap | 12 ++++++------ workflows/tests/aligner/hisat2.nf.test.snap | 4 ++-- workflows/tests/aligner/star.nf.test.snap | 8 ++++---- 9 files changed, 30 insertions(+), 29 deletions(-) diff --git a/workflows/nascent.nf b/workflows/nascent.nf index c74dbead..db08a147 100644 --- a/workflows/nascent.nf +++ b/workflows/nascent.nf @@ -84,7 +84,7 @@ workflow NASCENT { ch_bowtie2_index, ch_hisat2_index, ) - ch_versions = ch_versions.mix(PREPARE_GENOME.out.versions.first()) + ch_versions = ch_versions.mix(PREPARE_GENOME.out.versions) ch_fasta = PREPARE_GENOME.out.fasta.map{ fasta -> [ [ id:fasta.baseName ], fasta ] } // diff --git a/workflows/tests/aligner/bowtie2.nf.test b/workflows/tests/aligner/bowtie2.nf.test index daeff718..12d14359 100644 --- a/workflows/tests/aligner/bowtie2.nf.test +++ b/workflows/tests/aligner/bowtie2.nf.test @@ -22,9 +22,9 @@ nextflow_pipeline { workflow.trace.tasks().size(), UTILS.getAllFilesFromDir("$outputDir/preprocessing/fastp/", ".json"), // NOTE Not deterministic - path("$outputDir/bowtie2/cd4_REP1.sorted.bam").exists(), - path("$outputDir/bowtie2/cd4_REP2.sorted.bam").exists(), - path("$outputDir/bowtie2/jurkat.sorted.bam").exists(), + bam("$outputDir/bowtie2/cd4_REP1.sorted.bam").getHeaderMD5(), + bam("$outputDir/bowtie2/cd4_REP2.sorted.bam").getHeaderMD5(), + bam("$outputDir/bowtie2/jurkat.sorted.bam").getHeaderMD5(), path("$outputDir/bowtie2/log").list(), path("$outputDir/bowtie2/samtools_stats").list(), path("$outputDir/quality_control/bbsplit").list(), diff --git a/workflows/tests/aligner/bowtie2.nf.test.snap b/workflows/tests/aligner/bowtie2.nf.test.snap index 60005471..4535939e 100644 --- a/workflows/tests/aligner/bowtie2.nf.test.snap +++ b/workflows/tests/aligner/bowtie2.nf.test.snap @@ -7,9 +7,9 @@ "cd4_REP2.trimmed.fastp.json:md5,bc6e3f9ff7835f220535cc393b8eb25f", "jurkat.trimmed.fastp.json:md5,65f7247a87479c7157c7357d575336e2" ], - true, - true, - true, + "7945f971cd63ad99ff2d9cc81e19ea39", + "43982cec9077e7030428267841cf04ef", + "8813c6dd42cabd94042f4f9e4aee3560", [ "cd4_REP1.bowtie2.log:md5,024c3b6bca27f3836cdd86c0287d2971", "cd4_REP2.bowtie2.log:md5,089af358aad637ec94c10172eb024773", @@ -98,16 +98,16 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-11T13:47:28.150239282" + "timestamp": "2024-08-11T20:03:14.305867126" }, "software_versions": { "content": [ - "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, BOWTIE2_ALIGN={bowtie2=2.5.2, samtools=1.18, pigz=2.6}, CUSTOM_GETCHROMSIZES={getchromsizes=1.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SAMTOOLS_FLAGSTAT={samtools=1.2}, SAMTOOLS_IDXSTATS={samtools=1.2}, SAMTOOLS_INDEX={samtools=1.2}, SAMTOOLS_SORT={samtools=1.2}, SAMTOOLS_STATS={samtools=1.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" + "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, BOWTIE2_ALIGN={bowtie2=2.5.2, samtools=1.18, pigz=2.6}, BOWTIE2_BUILD={bowtie2=2.5.2}, CUSTOM_GETCHROMSIZES={getchromsizes=1.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SAMTOOLS_FLAGSTAT={samtools=1.2}, SAMTOOLS_IDXSTATS={samtools=1.2}, SAMTOOLS_INDEX={samtools=1.2}, SAMTOOLS_SORT={samtools=1.2}, SAMTOOLS_STATS={samtools=1.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-11T13:47:28.018231429" + "timestamp": "2024-08-11T20:03:14.17485497" } } \ No newline at end of file diff --git a/workflows/tests/aligner/bwa.nf.test.snap b/workflows/tests/aligner/bwa.nf.test.snap index 84a03068..fd644009 100644 --- a/workflows/tests/aligner/bwa.nf.test.snap +++ b/workflows/tests/aligner/bwa.nf.test.snap @@ -164,13 +164,13 @@ }, "software_versions": { "content": [ - "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, BWA_MEM={bwa=0.7.18-r1243-dirty, samtools=1.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" + "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, BWA_INDEX={bwa=0.7.18-r1243-dirty}, BWA_MEM={bwa=0.7.18-r1243-dirty, samtools=1.2}, CUSTOM_GETCHROMSIZES={getchromsizes=1.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-09T13:24:17.114505802" + "timestamp": "2024-08-11T20:05:55.979332162" }, "Should work with BWA Index": { "content": [ diff --git a/workflows/tests/aligner/bwamem2.nf.test.snap b/workflows/tests/aligner/bwamem2.nf.test.snap index 6d1ed380..031e0397 100644 --- a/workflows/tests/aligner/bwamem2.nf.test.snap +++ b/workflows/tests/aligner/bwamem2.nf.test.snap @@ -97,12 +97,12 @@ }, "software_versions": { "content": [ - "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, BWAMEM2_MEM={bwamem2=2.2.1, samtools=1.19.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SAMTOOLS_FLAGSTAT={samtools=1.2}, SAMTOOLS_IDXSTATS={samtools=1.2}, SAMTOOLS_INDEX={samtools=1.2}, SAMTOOLS_SORT={samtools=1.2}, SAMTOOLS_STATS={samtools=1.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" + "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, BWAMEM2_INDEX={bwamem2=2.2.1}, BWAMEM2_MEM={bwamem2=2.2.1, samtools=1.19.2}, CUSTOM_GETCHROMSIZES={getchromsizes=1.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SAMTOOLS_FLAGSTAT={samtools=1.2}, SAMTOOLS_IDXSTATS={samtools=1.2}, SAMTOOLS_INDEX={samtools=1.2}, SAMTOOLS_SORT={samtools=1.2}, SAMTOOLS_STATS={samtools=1.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-04T20:16:56.413251993" + "timestamp": "2024-08-11T20:10:59.639394977" } } \ No newline at end of file diff --git a/workflows/tests/aligner/dragmap.nf.test b/workflows/tests/aligner/dragmap.nf.test index 97d2c8fc..3479fbed 100644 --- a/workflows/tests/aligner/dragmap.nf.test +++ b/workflows/tests/aligner/dragmap.nf.test @@ -19,9 +19,10 @@ nextflow_pipeline { { assert snapshot( workflow.trace.tasks().size(), UTILS.getAllFilesFromDir("$outputDir/preprocessing/fastp/", ".json"), - bam("$outputDir/dragmap/cd4_REP1.sorted.bam").getSamLinesMD5(), - bam("$outputDir/dragmap/cd4_REP2.sorted.bam").getSamLinesMD5(), - bam("$outputDir/dragmap/jurkat.sorted.bam").getSamLinesMD5(), + // NOTE Not deterministic + bam("$outputDir/dragmap/cd4_REP1.sorted.bam").getHeaderMD5(), + bam("$outputDir/dragmap/cd4_REP2.sorted.bam").getHeaderMD5(), + bam("$outputDir/dragmap/jurkat.sorted.bam").getHeaderMD5(), // NOTE Not deterministic // path("$outputDir/dragmap/log").list(), path("$outputDir/dragmap/samtools_stats").list(), diff --git a/workflows/tests/aligner/dragmap.nf.test.snap b/workflows/tests/aligner/dragmap.nf.test.snap index de7f38b5..454d3150 100644 --- a/workflows/tests/aligner/dragmap.nf.test.snap +++ b/workflows/tests/aligner/dragmap.nf.test.snap @@ -7,9 +7,9 @@ "cd4_REP2.trimmed.fastp.json:md5,bc6e3f9ff7835f220535cc393b8eb25f", "jurkat.trimmed.fastp.json:md5,65f7247a87479c7157c7357d575336e2" ], - "decb90fed362f83e7e5ace7e2e7e2884", - "24f05cf423094f251c23853e7c622c87", - "ff713596f886b6a62e5a68acc8851021", + "9294458e8828aa4446fc6ea24f828d11", + "767cae9340255d914b40f5f0a76f9d65", + "b47414b7dada10ad11535d36af2e2cb", [ "cd4_REP1.sorted.bam.flagstat:md5,6a27aa41830e5f10a2c54c8a05611f9a", "cd4_REP1.sorted.bam.idxstats:md5,75eaf648cea73812913344af3851ce16", @@ -93,16 +93,16 @@ "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-11T13:56:33.006429411" + "timestamp": "2024-08-11T20:13:30.191639621" }, "software_versions": { "content": [ - "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, DRAGMAP_ALIGN={dragmap=1.2.1, samtools=1.15.1, pigz=2.3.4}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SAMTOOLS_FLAGSTAT={samtools=1.2}, SAMTOOLS_IDXSTATS={samtools=1.2}, SAMTOOLS_INDEX={samtools=1.2}, SAMTOOLS_SORT={samtools=1.2}, SAMTOOLS_STATS={samtools=1.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" + "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, CUSTOM_GETCHROMSIZES={getchromsizes=1.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, DRAGMAP_ALIGN={dragmap=1.2.1, samtools=1.15.1, pigz=2.3.4}, DRAGMAP_HASHTABLE={dragmap=1.3.0}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SAMTOOLS_FLAGSTAT={samtools=1.2}, SAMTOOLS_IDXSTATS={samtools=1.2}, SAMTOOLS_INDEX={samtools=1.2}, SAMTOOLS_SORT={samtools=1.2}, SAMTOOLS_STATS={samtools=1.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-04T20:19:06.859222166" + "timestamp": "2024-08-11T20:13:30.140165153" } } \ No newline at end of file diff --git a/workflows/tests/aligner/hisat2.nf.test.snap b/workflows/tests/aligner/hisat2.nf.test.snap index 6b3dd437..59dd928f 100644 --- a/workflows/tests/aligner/hisat2.nf.test.snap +++ b/workflows/tests/aligner/hisat2.nf.test.snap @@ -102,12 +102,12 @@ }, "software_versions": { "content": [ - "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, HISAT2_ALIGN={hisat2=2.2.1, samtools=1.16.1}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SAMTOOLS_FLAGSTAT={samtools=1.2}, SAMTOOLS_IDXSTATS={samtools=1.2}, SAMTOOLS_INDEX={samtools=1.2}, SAMTOOLS_SORT={samtools=1.2}, SAMTOOLS_STATS={samtools=1.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, UNTAR_HISAT2_INDEX={untar=1.34}, Workflow={nf-core/nascent=v2.3.0dev}}" + "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, CUSTOM_GETCHROMSIZES={getchromsizes=1.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, HISAT2_ALIGN={hisat2=2.2.1, samtools=1.16.1}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SAMTOOLS_FLAGSTAT={samtools=1.2}, SAMTOOLS_IDXSTATS={samtools=1.2}, SAMTOOLS_INDEX={samtools=1.2}, SAMTOOLS_SORT={samtools=1.2}, SAMTOOLS_STATS={samtools=1.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, UNTAR_HISAT2_INDEX={untar=1.34}, Workflow={nf-core/nascent=v2.3.0dev}}" ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-04T20:20:46.356464865" + "timestamp": "2024-08-11T20:16:04.102598697" } } \ No newline at end of file diff --git a/workflows/tests/aligner/star.nf.test.snap b/workflows/tests/aligner/star.nf.test.snap index 67c0d17b..67b63f95 100644 --- a/workflows/tests/aligner/star.nf.test.snap +++ b/workflows/tests/aligner/star.nf.test.snap @@ -107,22 +107,22 @@ }, "software_versions": { "content": [ - "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, CUSTOM_GETCHROMSIZES={getchromsizes=1.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" + "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, CUSTOM_GETCHROMSIZES={getchromsizes=1.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-11T14:01:27.77798393" + "timestamp": "2024-08-11T20:19:37.161656241" }, "gzip_software_versions": { "content": [ - "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GUNZIP_GTF={gunzip=1.1}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" + "{BBMAP_PILEUP={bbmap=39.01, samtools=1.16.1, pigz=2.6}, BEDTOOLS_GENOMECOV_MINUS={bedtools=2.31.1}, BEDTOOLS_GENOMECOV_PLUS={bedtools=2.31.1}, BEDTOOLS_INTERSECT={bedtools=2.31.1}, BEDTOOLS_INTERSECT_FILTER={bedtools=2.31.1}, CUSTOM_GETCHROMSIZES={getchromsizes=1.2}, DEEPTOOLS_BAMCOVERAGE_MINUS={deeptools=3.5.1}, DEEPTOOLS_BAMCOVERAGE_PLUS={deeptools=3.5.1}, FASTP={fastp=0.23.4}, FASTQC={fastqc=0.12.1}, GTF2BED={perl=5.26.2}, GUNZIP_GTF={gunzip=1.1}, HOMER_MAKETAGDIRECTORY={homer=4.11, samtools=1.11}, PINTS_CALLER={python=3.10.6, pints=1.1.8}, PRESEQ_CCURVE={preseq=3.1.1}, PRESEQ_LCEXTRAP={preseq=3.1.1}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SUBREAD_FEATURECOUNTS_GENE={subread=2.0.1}, Workflow={nf-core/nascent=v2.3.0dev}}" ], "meta": { "nf-test": "0.9.0", "nextflow": "24.04.4" }, - "timestamp": "2024-08-10T23:12:22.858450381" + "timestamp": "2024-08-11T20:23:02.096824195" } } \ No newline at end of file