diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1c5a5625..d1806f1d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,6 +10,8 @@ on: env: NXF_ANSI_LOG: false + CAPSULE_LOG: none + NFTEST_VER: "0.9.0" concurrency: group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}" @@ -47,6 +49,22 @@ jobs: - name: Disk space cleanup uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 - - name: Run pipeline with test data + - name: Install nf-test run: | - nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.profile }},docker --outdir ./results + wget -qO- https://code.askimed.com/install/nf-test | bash -s $NFTEST_VER + sudo mv nf-test /usr/local/bin/ + + - name: Run nf-test + run: nf-test test tests/${{ matrix.profile }}.nf.test --profile +docker --junitxml=test.xml + + - name: Output log on failure + if: failure() + run: | + sudo apt install bat > /dev/null + batcat --decorations=always --color=always .nf-test/tests/*/output/pipeline_info/software_versions.yml + + - name: Publish Test Report + uses: mikepenz/action-junit-report@v3 + if: always() # always run even if the previous step fails + with: + report_paths: test.xml diff --git a/.gitignore b/.gitignore index 4109b5c9..6f1addc9 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ testing/ testing* *.pyc execution_trace* +.nf-test* diff --git a/CHANGELOG.md b/CHANGELOG.md index a2162063..10c6aaed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,19 +5,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## v2.4.0dev - 2024-XX-XX - X -- [[#332]](https://github.com/nf-core/smrnaseq/issues/332) by [[#361]](https://github.com/nf-core/smrnaseq/pull/361) - Fix documentation to use only single-end -- [[#349]](https://github.com/nf-core/smrnaseq/pull/349) - Fix [MIRTOP_QUANT conda issue](https://github.com/nf-core/smrnaseq/issues/347), change conda-base to conda-forge channel -- [[#350]](https://github.com/nf-core/smrnaseq/pull/350) - Fix [MIRTOP_QUANT conda issue](https://github.com/nf-core/smrnaseq/issues/347), set python version to 3.7 to fix pysam issue -- [[#351]](https://github.com/nf-core/smrnaseq/issues/351) - Fix [Protocol inheritance issue](https://github.com/nf-core/smrnaseq/pull/364) - fixing protocol inheritance from subworkflow with move to config profile(s) for different protocols. -- [[#369]](https://github.com/nf-core/smrnaseq/issues/369) - Fix [Linting](https://github.com/nf-core/smrnaseq/pull/377) - Fixed linting warnings and updated modules & subworkflows. +- [[#349]](https://github.com/nf-core/smrnaseq/pull/349) - Fix [MIRTOP_QUANT conda issue](https://github.com/nf-core/smrnaseq/issues/347), change conda-base to conda-forge channel. +- [[#350]](https://github.com/nf-core/smrnaseq/pull/350) - Fix [MIRTOP_QUANT conda issue](https://github.com/nf-core/smrnaseq/issues/347), set python version to 3.7 to fix pysam issue. +- [[#361]](https://github.com/nf-core/smrnaseq/pull/361) - Fix [[#332]](https://github.com/nf-core/smrnaseq/issues/332) - Fix documentation to use only single-end. +- [[#364]](https://github.com/nf-core/smrnaseq/pull/364) - Fix [Protocol inheritance issue](https://github.com/nf-core/smrnaseq/issues/351) - fixing protocol inheritance from subworkflow with move to config profile(s) for different protocols. +- [[#372]](https://github.com/nf-core/smrnaseq/pull/372) - Fix [Plain test profile](https://github.com/nf-core/smrnaseq/issues/371) - Updated default protocol value to "custom". - [[#374]](https://github.com/nf-core/smrnaseq/pull/374) - Fix [default tests](https://github.com/nf-core/smrnaseq/issues/375) so that they do not require additional profiles in CI. Change GitHub CI fail-fast strategy to false. -- [[#371]](https://github.com/nf-core/smrnaseq/issues/371) - Fix [Plain test profile](https://github.com/nf-core/smrnaseq/pull/372) - Updated default protocol value to "custom". -- [[#380]](https://github.com/nf-core/smrnaseq/pull/380) - Fix checking number of samples which causes error in plotMDS. Add nf-tests for local modules using custom R scripts: [edgeR_mirBase.R](https://github.com/nf-core/smrnaseq/issues/187). +- [[#375]](https://github.com/nf-core/smrnaseq/pull/375) - Test [technical repeats](https://github.com/nf-core/smrnaseq/issues/212) - Test merging of technical repeats. +- [[#377]](https://github.com/nf-core/smrnaseq/pull/377) - Fix [Linting](https://github.com/nf-core/smrnaseq/issues/369) - Fixed linting warnings and updated modules & subworkflows. - [[#378]](https://github.com/nf-core/smrnaseq/pull/378) - Fix [`--mirtrace_species` bug](<(https://github.com/nf-core/smrnaseq/issues/348)>). Make `MIRTRACE` process conditional. Add mirgenedb test. -- [[#375]](https://github.com/nf-core/smrnaseq/pull/375) - Test merging of [technical repeats](https://github.com/nf-core/smrnaseq/issues/212). -- [[#383]](https://github.com/nf-core/smrnaseq/pull/383) - Fixes [parameter `--skip_fastp` throws an error](https://github.com/nf-core/smrnaseq/issues/263). -- [[#382]](https://github.com/nf-core/smrnaseq/pull/382) - Add nf-tests for local modules using custom R scripts: [collapse_mirtop.R](https://github.com/nf-core/smrnaseq/issues/174). -- [[#384]](https://github.com/nf-core/smrnaseq/pull/384) - Fix filter stats module and add filter contaminants test profile: [filter status bug fix](https://github.com/nf-core/smrnaseq/issues/360). +- [[#380]](https://github.com/nf-core/smrnaseq/pull/380) - Fix [edgeR_mirBase.R](https://github.com/nf-core/smrnaseq/issues/187) - Fix checking number of samples which causes error in plotMDS. Add nf-tests for local modules using custom R scripts. +- [[#381]](https://github.com/nf-core/smrnaseq/pull/381) - Update [Convert tests to nf-tests](https://github.com/nf-core/smrnaseq/issues/379) - CI tests to nf-tests. +- [[#382]](https://github.com/nf-core/smrnaseq/pull/382) - Add [collapse_mirtop.R](https://github.com/nf-core/smrnaseq/issues/174) - Add nf-tests for local modules using custom R scripts. +- [[#383]](https://github.com/nf-core/smrnaseq/pull/383) - Fix [parameter `--skip_fastp` throws an error](https://github.com/nf-core/smrnaseq/issues/263) - Fix parameter --skip_fastp. +- [[#384]](https://github.com/nf-core/smrnaseq/pull/384) - Fix [filter status bug fix](https://github.com/nf-core/smrnaseq/issues/360) - Fix filter stats module and add filter contaminants test profile. ## v2.3.1 - 2024-04-18 - Gray Zinc Dalmation Patch diff --git a/nextflow.config b/nextflow.config index 1d37c5cd..be7bc161 100644 --- a/nextflow.config +++ b/nextflow.config @@ -21,8 +21,8 @@ params { igenomes_base = 's3://ngi-igenomes/igenomes' igenomes_ignore = false mirna_gtf = null - mature = "https://mirbase.org/download/mature.fa" - hairpin = "https://mirbase.org/download/hairpin.fa" + mature = "https://github.com/nf-core/test-datasets/raw/smrnaseq/miRBase/mature.fa" + hairpin = "https://github.com/nf-core/test-datasets/raw/smrnaseq/miRBase/hairpin.fa" mirgenedb = false mirgenedb_mature = null mirgenedb_hairpin = null diff --git a/nextflow_schema.json b/nextflow_schema.json index db28ef7f..6c394193 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -154,7 +154,7 @@ "description": "Path to FASTA file with mature miRNAs.", "fa_icon": "fas fa-wheelchair", "help_text": "Typically this will be the `mature.fa` file from miRBase. Can be given either as a plain text `.fa` file or a compressed `.gz` file.\n\nDefaults to the current miRBase release URL, from which the file will be downloaded.", - "default": "https://mirbase.org/download/mature.fa" + "default": "https://github.com/nf-core/test-datasets/raw/smrnaseq/miRBase/mature.fa" }, "mirgenedb_mature": { "type": "string", @@ -166,7 +166,7 @@ "description": "Path to FASTA file with miRNAs precursors.", "fa_icon": "fab fa-cuttlefish", "help_text": "Typically this will be the `mature.fa` file from miRBase. Can be given either as a plain text `.fa` file or a compressed `.gz` file.\n\nDefaults to the current miRBase release URL, from which the file will be downloaded.", - "default": "https://mirbase.org/download/hairpin.fa" + "default": "https://github.com/nf-core/test-datasets/raw/smrnaseq/miRBase/hairpin.fa" }, "mirgenedb_hairpin": { "type": "string", diff --git a/tests/lib/UTILS.groovy b/tests/lib/UTILS.groovy new file mode 100644 index 00000000..deacb586 --- /dev/null +++ b/tests/lib/UTILS.groovy @@ -0,0 +1,11 @@ +// Function to remove Nextflow version from software_versions.yml + +class UTILS { + public static String removeNextflowVersion(outputDir) { + def softwareVersions = path("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml").yaml + if (softwareVersions.containsKey("Workflow")) { + softwareVersions.Workflow.remove("Nextflow") + } + return softwareVersions + } +} diff --git a/tests/test.nf.test b/tests/test.nf.test new file mode 100644 index 00000000..cbe3a64c --- /dev/null +++ b/tests/test.nf.test @@ -0,0 +1,327 @@ + +nextflow_pipeline { + + name "Test Workflow main.nf - test" + script "main.nf" + profile "test" + tag "test" + tag "pipeline" + + test("test") { + + when { + params { + outdir = "$outputDir" + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot(UTILS.removeNextflowVersion("$outputDir")).match("software_versions") }, + { assert workflow.trace.succeeded().size() == 196 }, + + { assert snapshot( + path("$outputDir/bowtie_index/genome/genome.2.ebwt"), + path("$outputDir/bowtie_index/genome/genome.3.ebwt"), + path("$outputDir/bowtie_index/genome/genome.1.ebwt"), + path("$outputDir/bowtie_index/genome/genome.rev.2.ebwt"), + path("$outputDir/bowtie_index/genome/genome.4.ebwt"), + path("$outputDir/bowtie_index/genome/genome.edited.fa"), + path("$outputDir/bowtie_index/genome/genome.rev.1.ebwt") + ).match("bowtie_index_genome") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.1.ebwt") + ).match("bowtie_index_mirna_mature") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.1.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.2.ebwt") + ).match("bowtie_index_mirna_hairpin") }, + + { assert snapshot( + path("$outputDir/mirna_quant/reference/mature.fa_igenome.fa"), + path("$outputDir/mirna_quant/reference/hairpin.fa_igenome.fa"), + path("$outputDir/mirna_quant/reference/mature.fa_igenome.fa_idx.fa"), + path("$outputDir/mirna_quant/reference/hairpin.fa_igenome.fa_idx.fa") + ).match("mirna_quant_reference") }, + + { assert snapshot( + path("$outputDir/mirna_quant/seqcluster/final/Control_N2.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N3.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone1_N3.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Control_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N2.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone1_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Control_N3.fastp_trimmed.fastq.gz") + ).match("mirna_quant_seqcluster") }, + + { assert snapshot( + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.flagstat") + ).match("mirna_quant_bam") }, + + { assert snapshot( + path("$outputDir/mirna_quant/mirtop/mirtop_rawData.tsv"), + path("$outputDir/mirna_quant/mirtop/mirtop.tsv").exists(), + path("$outputDir/mirna_quant/mirtop/mirtop.gff").exists(), + path("$outputDir/mirna_quant/mirtop/mirna.tsv"), + path("$outputDir/mirna_quant/mirtop/stats/mirtop_stats.txt").exists() + ).match("mirna_quant_mirtop") }, + + { assert snapshot( + path("$outputDir/mirna_quant/edger_qc/hairpin_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_log2CPM_sample_distances.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_edgeR_MDS_distance_matrix.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_edgeR_MDS_plot_coordinates.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_normalized_CPM.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_edgeR_MDS_plot_coordinates.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_unmapped_read_counts.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_log2CPM_sample_distances.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_edgeR_MDS_distance_matrix.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_normalized_CPM.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_unmapped_read_counts.txt").exists() + ).match("mirna_quant_edger_qc") }, + + { assert snapshot( + path("$outputDir/fastqc/raw/Control_N2.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone9_N3.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone9_N2.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Control_N1.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Control_N3.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone1_N1.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone1_N3.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone9_N1.raw_fastqc.zip").exists() + ).match("fastqc_raw") }, + + { assert snapshot( + path("$outputDir/fastqc/trimmed/Clone9_N3.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone1_N3.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Control_N1.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Control_N2.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone1_N1.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Control_N3.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone9_N2.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone9_N1.trim_fastqc.zip").exists() + ).match("fastqc_trimmed") }, + + { assert snapshot( + path("$outputDir/mirtrace/mirtrace-stats-contamination_basic.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-length.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-contamination_detailed.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-rnatype.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-phred.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-qcstatus.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-mirna-complexity.tsv") + ).match("mirtrace") }, + + { assert snapshot( + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone1_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone9_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Control_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Control_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone9_N2.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Control_N2.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone1_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone9_N3.fastp.fasta") + ).match("mirtrace_qc_passed_reads.all.collapsed") }, + + { assert snapshot( + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone1_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone9_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Control_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Control_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone9_N2.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Control_N2.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone1_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone9_N3.fastp.fasta") + ).match("mirtrace_qc_passed_reads.rnatype_unknown.collapsed") }, + + { assert snapshot( + path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Clone1_N3_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone9_N2_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone9_N1_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Control_N3_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Clone9_N2_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Clone9_N1_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Control_N3_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Clone1_N3_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Clone9_N2_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Control_N3_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Clone9_N1_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Clone9_N1_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Clone1_N3_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Control_N3_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Clone9_N1_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone9_N2_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Clone9_N2_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone1_N3_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Control_N3_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone1_N3_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.flagstat") + ).match("genome_quant_bam") }, + + { assert snapshot( + path("$outputDir/multiqc/multiqc_data/fastqc-status-check-heatmap.txt"), + path("$outputDir/multiqc/multiqc_data/fastp_filtered_reads_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_overrepresented_sequences_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_top_overrepresented_sequences_table-1.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_counts_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_complexity_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot-1_Percentages.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_citations.txt"), + path("$outputDir/multiqc/multiqc_data/samtools-stats-dp.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_length_distribution_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-n-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_duplication_levels_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_sequence_quality_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_general_stats.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_n_content_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_n_content_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-quality-plot_Read_1_After_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_quality_scores_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_qc_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_quality_scores_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_length_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_top_overrepresented_sequences_table.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_overrepresented_sequences_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc-status-check-heatmap-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_counts_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_rna_categories_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-quality-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/samtools_alignment_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_sequence_quality_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtop_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-n-plot_Read_1_After_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/mirtop_unique_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/mirtop_mean_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_adapter_content_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_duplication_levels_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot_Percentages.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot-1_Counts.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_adapter_content_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-gc-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot_Counts.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_sources.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-gc-plot_Read_1_After_filtering.txt") + ).match("multiqc_multiqc_data") }, + + ) + } + + } + +} diff --git a/tests/test.nf.test.snap b/tests/test.nf.test.snap new file mode 100644 index 00000000..39ccd69f --- /dev/null +++ b/tests/test.nf.test.snap @@ -0,0 +1,400 @@ +{ + "fastqc_trimmed": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:48.886414317" + }, + "bowtie_index_genome": { + "content": [ + "genome.2.ebwt:md5,8f007efb2d23e46035cc47340c4d981e", + "genome.3.ebwt:md5,caf97e67055e1b465e933214d0168e68", + "genome.1.ebwt:md5,1bfbf95848b5a2e8a786d0a2c1054bbb", + "genome.rev.2.ebwt:md5,65f054c598e3e9fdd33cb22c9f8f8ca5", + "genome.4.ebwt:md5,87ff9d3ef8b55f845a9205a19c729f1c", + "genome.edited.fa:md5,5aaada29b1c575230fa1b7c3bd4d76db", + "genome.rev.1.ebwt:md5,3275dafaca50d8cafde473b54e9ebbff" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:16.37660337" + }, + "mirtrace": { + "content": [ + "mirtrace-stats-contamination_basic.tsv:md5,a67910702b13918a7d53f1283119f899", + "mirtrace-stats-length.tsv:md5,0609fcb0014f0d2af3308655b2418635", + "mirtrace-stats-contamination_detailed.tsv:md5,feb096d380e1ae62b4e73d54ed79e891", + "mirtrace-stats-rnatype.tsv:md5,8a333ff54c189c4a5a175a619139a9ac", + "mirtrace-stats-phred.tsv:md5,3f645df09c8eb314577cf6c4afda10f4", + "mirtrace-stats-qcstatus.tsv:md5,5fdd73860d2df454e21593df68975459", + "mirtrace-stats-mirna-complexity.tsv:md5,fce67408e9a9ab4a1a6f97e7e23ea2c8" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T14:47:45.013663624" + }, + "mirna_quant_reference": { + "content": [ + "mature.fa_igenome.fa:md5,ef4cabcbea05adf334ba6891a50c951a", + "hairpin.fa_igenome.fa:md5,5fb538f60d5288846600dba31010251e", + "mature.fa_igenome.fa_idx.fa:md5,ef4cabcbea05adf334ba6891a50c951a", + "hairpin.fa_igenome.fa_idx.fa:md5,482b0327b0c1e36748c1ee3d3be9be77" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:18.050822535" + }, + "software_versions": { + "content": [ + "{BOWTIE_MAP_GENOME={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_HAIRPIN={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_MATURE={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_SEQCLUSTER={bowtie=1.3.1, samtools=1.14}, FASTP={fastp=0.23.4}, FASTQC_RAW={fastqc=0.12.1}, FASTQC_TRIM={fastqc=0.12.1}, FORMAT_HAIRPIN={fastx_toolkit=0.0.14}, FORMAT_MATURE={fastx_toolkit=0.0.14}, INDEX_GENOME={bowtie=1.3.1}, INDEX_HAIRPIN={bowtie=1.3.1}, INDEX_MATURE={bowtie=1.3.1}, MIRTOP_QUANT={mirtop=0.4.25}, MIRTRACE_RUN={mirtrace=1.0.1}, PARSE_HAIRPIN={seqkit=2.6.1}, PARSE_MATURE={seqkit=2.6.1}, 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}, SEQCLUSTER_SEQUENCES={seqcluster=1.2.9}, TABLE_MERGE={r-base=3.6.2}, Workflow={nf-core/smrnaseq=v2.3.2dev}}" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:16.357261443" + }, + "mirna_quant_bam": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + "Clone9_N1_mature.sorted.flagstat:md5,014b846757652783ff3f954a966b8a1b", + "Clone1_N1_mature.sorted.idxstats:md5,77ed64ddd23cf07340b65c04559d4726", + "Clone9_N3_mature.sorted.stats:md5,23b012dd60ea6dcec5cedb5a73ffc792", + "Clone9_N3_mature.sorted.flagstat:md5,4f60cfd3527e91df204253f9f1aebfcd", + "Clone1_N1_mature.sorted.flagstat:md5,f138a532bc7dab94f7cf4b4a4e5e23e5", + "Control_N1_mature.sorted.flagstat:md5,16318a574fe410b81c0e2cdf0dfa3c97", + "Clone9_N3_mature.sorted.idxstats:md5,dee54e8e22dfca24acc290bf89a05cd4", + "Clone1_N3_mature.sorted.flagstat:md5,67fc6ba8516d4e5b3ed2a62febc92f0a", + "Clone9_N2_mature.sorted.idxstats:md5,c9643d610de2f4d449a876e41dcab872", + "Clone9_N1_mature.sorted.idxstats:md5,c6eb22f3ff675e422d065375279150b2", + "Control_N2_mature.sorted.idxstats:md5,12388de965d69b6102b62bc9cdf27e85", + "Control_N2_mature.sorted.flagstat:md5,c8742d1b49535ff815c2def66cba681e", + "Clone9_N2_mature.sorted.flagstat:md5,247e02da50509fc1b3c5b35001922a8d", + "Control_N3_mature.sorted.idxstats:md5,5fb7b46915043bd3c947a37afc3e8075", + "Clone1_N3_mature.sorted.idxstats:md5,805f115ac4d9c8033908bafaba6c92fb", + "Control_N2_mature.sorted.stats:md5,ef5935898e3ca45d898053af335d1dfb", + "Control_N1_mature.sorted.idxstats:md5,847bc5c6ef44e1f9754e47e648a5ef98", + "Control_N3_mature.sorted.flagstat:md5,2831f55bccbcf666d1c313ef377bcb30", + "Control_N1_mature.sorted.stats:md5,b4ffb3a7623e32420def4d3470a326ab", + "Control_N3_mature.sorted.stats:md5,ff9dab4d3220aa44cdc80ea2fc311823", + "Clone1_N3_mature.sorted.stats:md5,e8feced949af44c8e5d31523b12122b9", + "Clone1_N1_mature.sorted.stats:md5,9c42ffda181ca24ab076efc16fcfd4b3", + "Clone9_N1_mature.sorted.stats:md5,02184884c17c8730f4df9e1a6144bbdc", + "Clone9_N2_mature.sorted.stats:md5,fb8c403012481dafb895013c555f6d85", + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + "Clone1_N3_mature_hairpin.sorted.flagstat:md5,6f14ec4cd502c0eb213b1905b4568a76", + "Clone1_N3_mature_hairpin.sorted.stats:md5,471db325d8ccd1fe787b5dd91dccf487", + "Control_N3_mature_hairpin.sorted.stats:md5,2f2249c537451d1f72dfe298f16093ac", + "Control_N2_mature_hairpin.sorted.stats:md5,1195dd51f77e338db83dc66476ac7c5f", + "Control_N1_mature_hairpin.sorted.stats:md5,feb69ad2f8bbc527e39502a297f08abd", + "Clone1_N1_mature_hairpin.sorted.stats:md5,bd02cb15e666054edecc89d392d72902", + "Clone9_N2_mature_hairpin.sorted.idxstats:md5,04b1c0ea4f133b5ee9086eec1f4077e7", + "Control_N3_mature_hairpin.sorted.idxstats:md5,2c44710ce63bdebb12d64c729ef338b0", + "Clone9_N1_mature_hairpin.sorted.idxstats:md5,238b462a2418d545418c0b3a28029bdf", + "Clone9_N1_mature_hairpin.sorted.flagstat:md5,3e4b295b54df05c438603edaa53123b1", + "Control_N2_mature_hairpin.sorted.flagstat:md5,2605548b5ab1e6ad6b5cf88ea0030909", + "Clone9_N3_mature_hairpin.sorted.idxstats:md5,9523d29d411c2efb0a1756355230fa98", + "Control_N1_mature_hairpin.sorted.flagstat:md5,41769a400a176ea78432749f07f80fda", + "Clone9_N2_mature_hairpin.sorted.flagstat:md5,663ae0bb8b29d1e1c3d75ef5df1015a4", + "Clone1_N1_mature_hairpin.sorted.idxstats:md5,0bca2d01f734128f3c11cf2697433048", + "Clone9_N2_mature_hairpin.sorted.stats:md5,7bb8654d44dac245aec6aa045250628a", + "Clone9_N1_mature_hairpin.sorted.stats:md5,155f327a9be0afa9584ec426826b5457", + "Clone1_N1_mature_hairpin.sorted.flagstat:md5,8d0c785fec7b300200863c68b158444c", + "Control_N2_mature_hairpin.sorted.idxstats:md5,8859b6e432cef8b24d5fb258a06aaabe", + "Clone1_N3_mature_hairpin.sorted.idxstats:md5,5b6cd8d5784c387d2649f18499a17c6e", + "Clone9_N3_mature_hairpin.sorted.flagstat:md5,efc65cb620ca139b19967e12f13ba007", + "Control_N1_mature_hairpin.sorted.idxstats:md5,e1f455195f1cb42a1d1e58770aaeb2b4", + "Clone9_N3_mature_hairpin.sorted.stats:md5,9f61c028bb1c92667e31093156ada662", + "Control_N3_mature_hairpin.sorted.flagstat:md5,f3df866b94dc6ef355b01f22047aaf4f" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:26.750655347" + }, + "mirna_quant_edger_qc": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:39.507346289" + }, + "fastqc_raw": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:43.59673405" + }, + "multiqc_multiqc_data": { + "content": [ + "fastqc-status-check-heatmap.txt:md5,30f55902420433a11971d36956e8576e", + "fastp_filtered_reads_plot.txt:md5,0af4d3cfbf463f33b2b88cdfd69909ac", + "fastqc_overrepresented_sequences_plot.txt:md5,d861a4a956a3023efa19b1259d8665b2", + true, + "fastqc_sequence_counts_plot-1.txt:md5,37d8ae6c5734eb2679e65e46c9af9101", + "mirtrace_complexity_plot.txt:md5,bb92ed0659dddb15d3e01686acef85b5", + "fastqc_per_sequence_gc_content_plot-1_Percentages.txt:md5,edf5130b48b0814788867dd42e9cf407", + "multiqc_citations.txt:md5,3adbccd17a42d0d5d97ee7ebb476f433", + true, + "fastqc_sequence_length_distribution_plot.txt:md5,13f72b3be854c74cd7b5176ca0583770", + "fastp-seq-content-n-plot_Read_1_Before_filtering.txt:md5,048e9b2293217ab8b47ba0113b83c76c", + "fastqc_sequence_duplication_levels_plot-1.txt:md5,06a4162d4787883b1f39a1b9acb7bb91", + "fastqc_per_base_sequence_quality_plot-1.txt:md5,6a0df664a369ee216412f0033ed3a042", + true, + "fastqc_per_base_n_content_plot-1.txt:md5,048e9b2293217ab8b47ba0113b83c76c", + "fastqc_per_base_n_content_plot.txt:md5,fb8a49467d1679dbf716e1f00c1f25e5", + "fastp-seq-quality-plot_Read_1_After_filtering.txt:md5,b1481a9fbf5ea541b39aed99b51d616f", + "fastqc_per_sequence_quality_scores_plot.txt:md5,38dbd6509de7f1beac17e44acb8336be", + "mirtrace_qc_plot.txt:md5,9036243402f6248214dc0458cb1291e9", + "fastqc_per_sequence_quality_scores_plot-1.txt:md5,69f4459318311103fe71a5d1d3b2c076", + "mirtrace_length_plot.txt:md5,86a0d54324cbe4817b112b02d4872cbb", + true, + "fastqc_overrepresented_sequences_plot-1.txt:md5,1de000de50cc7516bb9d996def14c6eb", + "fastqc-status-check-heatmap-1.txt:md5,e64c353797e6dc057d10b3194ca6b20d", + "fastqc_sequence_counts_plot.txt:md5,384516be5885fdeac59e70c17f1413c2", + "mirtrace_rna_categories_plot.txt:md5,9a57e6b3a3dd75906134030d25f6a7a9", + "fastp-seq-quality-plot_Read_1_Before_filtering.txt:md5,65685440fcb927115ac30b01133e2f92", + true, + "fastqc_per_base_sequence_quality_plot.txt:md5,80ea53d94917cadcb41f3fdb56cba014", + true, + "fastp-seq-content-n-plot_Read_1_After_filtering.txt:md5,048e9b2293217ab8b47ba0113b83c76c", + true, + true, + "fastqc_adapter_content_plot.txt:md5,86a0f478fd3e690ef5132d08bf4e7625", + "fastqc_sequence_duplication_levels_plot.txt:md5,88b0babe77f623547e8af664791ef2d0", + "fastqc_per_sequence_gc_content_plot_Percentages.txt:md5,539883757ae5bf731da93fe0568022e9", + "fastqc_per_sequence_gc_content_plot-1_Counts.txt:md5,ed7205b9c46d5f431c5b3bf499a673a1", + "fastqc_adapter_content_plot-1.txt:md5,71ba0983a71f3a833526ab83a985d072", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.txt:md5,a8387a3e6b350acd16bb0ed5a43949d8", + "fastqc_per_sequence_gc_content_plot_Counts.txt:md5,3e9c1a7204c12d9c1b3b53342cf61840", + true, + "fastp-seq-content-gc-plot_Read_1_After_filtering.txt:md5,efa8123c9ad43f99a6fba671f50322ca" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T14:48:43.985133435" + }, + "mirna_quant_seqcluster": { + "content": [ + "Control_N2.fastp_trimmed.fastq.gz:md5,d6e607edcb3d71c546ce8fdfb18e3999", + "Clone9_N3.fastp_trimmed.fastq.gz:md5,67cf9a7d2fa431f0e772391ed1651f93", + "Clone1_N3.fastp_trimmed.fastq.gz:md5,2e395240c74b3870efe03dc329d8bad8", + "Control_N1.fastp_trimmed.fastq.gz:md5,2f09082eb68a8f1dc308050e330887ec", + "Clone9_N2.fastp_trimmed.fastq.gz:md5,c922ec95a4b84d806dd2054ff0f9cab7", + "Clone9_N1.fastp_trimmed.fastq.gz:md5,115cf0c346a93a47ba782c5724b4f090", + "Clone1_N1.fastp_trimmed.fastq.gz:md5,14a2590e663dbde105780726c2173c25", + "Control_N3.fastp_trimmed.fastq.gz:md5,342368a6e6acdaf0ae9379676b6d07f0" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:18.37847702" + }, + "mirtrace_qc_passed_reads.rnatype_unknown.collapsed": { + "content": [ + "Clone1_N1.fastp.fasta:md5,ba5a705fbc7c4aadd259c29c3a443d97", + "Clone9_N1.fastp.fasta:md5,3e9a4ce784cbcdb946a3e271cc899da9", + "Control_N3.fastp.fasta:md5,850c3a525359f14ea488fcd0eedc2e36", + "Control_N1.fastp.fasta:md5,446f3452ffac337eb1afa5861c2ba94a", + "Clone9_N2.fastp.fasta:md5,168aa25977927be9480f9fe2399a82c7", + "Control_N2.fastp.fasta:md5,5018f8b15dbd524eb7dd0ce39e9b7101", + "Clone1_N3.fastp.fasta:md5,7a6c3163b377b25cf2886004ea9d4a73", + "Clone9_N3.fastp.fasta:md5,80a4b70ef276cf5628dfa2942c7e4988" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T14:48:32.628512644" + }, + "genome_quant_bam": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + "Clone9_N2_mature_hairpin_genome.sorted.flagstat:md5,b8fbbdaca0458b19732312dea2997be8", + "Control_N3_mature_hairpin_genome.sorted.stats:md5,53e8fca566dd5dd8553b25c38e961f6b", + "Clone1_N1_mature_hairpin_genome.sorted.flagstat:md5,4d552770e6d3b06775b6f484684f7a77", + "Clone9_N1_mature_hairpin_genome.sorted.stats:md5,f819db926f570a9bb1cf9b6adff7d758", + "Clone9_N1_mature_hairpin_genome.sorted.flagstat:md5,2fd8cd41edde2292f857528658c3e0a1", + "Clone1_N1_mature_hairpin_genome.sorted.stats:md5,64b19984a4c2fa55e69a28fe7c138d7c", + "Clone1_N3_mature_hairpin_genome.sorted.flagstat:md5,9dee041c82ad3b2d2ab4f8986822f2ce", + "Control_N1_mature_hairpin_genome.sorted.flagstat:md5,18f0028f1cfc137ef8f089e465fe20f5", + "Control_N3_mature_hairpin_genome.sorted.flagstat:md5,ae834e3dbaa18aa9bce66c3b0034c430", + "Clone9_N1_mature_hairpin_genome.sorted.idxstats:md5,a199f8999ba915a81acfc450e0db8393", + "Clone9_N2_mature_hairpin_genome.sorted.stats:md5,6db5d451fa95a77247d38c4a263cf05d", + "Clone9_N3_mature_hairpin_genome.sorted.idxstats:md5,0a227abfa6aa10023219bce7b2795b67", + "Control_N2_mature_hairpin_genome.sorted.stats:md5,f105861208044e44644c74449d0c6142", + "Control_N1_mature_hairpin_genome.sorted.idxstats:md5,fe01b41ed88612c28b667817c4a8fcc1", + "Control_N2_mature_hairpin_genome.sorted.idxstats:md5,b6da32ce230fdeab39f3c4d5dcf41a3a", + "Control_N1_mature_hairpin_genome.sorted.stats:md5,b2afcfcb9e785a71bb5fce25b87fd67a", + "Control_N2_mature_hairpin_genome.sorted.flagstat:md5,b0d42e94b2e0e026cd32a88dce40722c", + "Clone9_N3_mature_hairpin_genome.sorted.stats:md5,8ec73033ee0e2ad16fdc497b209adb50", + "Clone9_N2_mature_hairpin_genome.sorted.idxstats:md5,61c4821cba66c91272e62547617db2c9", + "Clone1_N1_mature_hairpin_genome.sorted.idxstats:md5,169a196ee2da6945392f6a361164ffc5", + "Clone1_N3_mature_hairpin_genome.sorted.stats:md5,fb089da3351a3f8c0bc742f3f4533349", + "Control_N3_mature_hairpin_genome.sorted.idxstats:md5,94d53c9ad335779a1ea25fd5b4b08069", + "Clone1_N3_mature_hairpin_genome.sorted.idxstats:md5,d680e48370d319f1891cdd61b8754644", + "Clone9_N3_mature_hairpin_genome.sorted.flagstat:md5,dbe38679a68d55b8a182831e336eebb1" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:52:20.338493953" + }, + "bowtie_index_mirna_mature": { + "content": [ + "fasta_bidx.3.ebwt:md5,7aeccc6ec919ce1cfcd2b1e40be743fe", + "fasta_bidx.2.ebwt:md5,778bd05aa462c2119736f9a4056bc41f", + "fasta_bidx.1.ebwt:md5,11a2f568aa785d32246cb8ce1aa8add4", + "fasta_bidx.4.ebwt:md5,78260e9dde22d8f31622c77d71bbb605", + "fasta_bidx.rev.2.ebwt:md5,ab52bc362b4c382cf213a71219e9efee", + "fasta_bidx.rev.1.ebwt:md5,0520d43b6b75328f3c30254a2d6baa18" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:16.994060474" + }, + "bowtie_index_mirna_hairpin": { + "content": [ + "fasta_bidx.1.ebwt:md5,40c2c142e094ab5ea531a0564ad62cee", + "fasta_bidx.2.ebwt:md5,6d99166d1a8a7a1bbf262e89db218278", + "fasta_bidx.3.ebwt:md5,5c60180e2f6fc2e0c399f10b9f9bbee2", + "fasta_bidx.4.ebwt:md5,c3d4dbfbb587261ddf29e906029c10b1", + "fasta_bidx.rev.1.ebwt:md5,4532fb1426b29163b23702c8daf84d62", + "fasta_bidx.rev.2.ebwt:md5,4270939b810aa3f461bacee1edc993aa" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:17.519448134" + }, + "mirtrace_qc_passed_reads.all.collapsed": { + "content": [ + "Clone1_N1.fastp.fasta:md5,3761badda2e1c2dd2da3eb1bbfe6e1f8", + "Clone9_N1.fastp.fasta:md5,97310b5094e02329f412bae2657a2765", + "Control_N3.fastp.fasta:md5,f24ddebb1b012ec3817b88ff2e8989ea", + "Control_N1.fastp.fasta:md5,888c2e9639dd152d2f63e3c00019376b", + "Clone9_N2.fastp.fasta:md5,7f3879545cf3beb43af71ce83430abbf", + "Control_N2.fastp.fasta:md5,16e03efca3b17ec279658ad1556f52e4", + "Clone1_N3.fastp.fasta:md5,c6f029e821dceb6d60869a8f3e6e8198", + "Clone9_N3.fastp.fasta:md5,43d45f4416d0028f9adadd0f5ca44d9c" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T14:48:10.730193602" + }, + "mirna_quant_mirtop": { + "content": [ + "mirtop_rawData.tsv:md5,774410dd2cf1e5be83bf8d6e1e8b96b0", + true, + true, + "mirna.tsv:md5,1f840afe7ab68eac73feaaad321b64f6", + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:32.899870265" + } +} diff --git a/tests/test_index.nf.test b/tests/test_index.nf.test new file mode 100644 index 00000000..9800888a --- /dev/null +++ b/tests/test_index.nf.test @@ -0,0 +1,290 @@ +nextflow_pipeline { + + name "Test Workflow main.nf - test_index" + script "main.nf" + profile "test_index" + tag "test_index" + tag "pipeline" + + test("test_index") { + + when { + params { + outdir = "$outputDir" + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot(UTILS.removeNextflowVersion("$outputDir")).match("software_versions") }, + { assert workflow.trace.succeeded().size() == 161 }, + + { assert snapshot( + path("$outputDir/untar/bowtie_index/genome.1.ebwt"), + path("$outputDir/untar/bowtie_index/genome.3.ebwt"), + path("$outputDir/untar/bowtie_index/genome.2.ebwt"), + path("$outputDir/untar/bowtie_index/genome.rev.1.ebwt"), + path("$outputDir/untar/bowtie_index/genome.4.ebwt"), + path("$outputDir/untar/bowtie_index/genome.rev.2.ebwt") + ).match("untar_bowtie_index") }, + + { assert snapshot( + path("$outputDir/mirna_quant/reference/mature.fa_igenome.fa"), + path("$outputDir/mirna_quant/reference/hairpin.fa_igenome.fa"), + path("$outputDir/mirna_quant/reference/mature.fa_igenome.fa_idx.fa"), + path("$outputDir/mirna_quant/reference/hairpin.fa_igenome.fa_idx.fa") + ).match("mirna_quant_reference") }, + + { assert snapshot( + path("$outputDir/mirna_quant/seqcluster/final/Control_N2.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone1_N3.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N2.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N3.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Control_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone1_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Control_N3.fastp_trimmed.fastq.gz") + ).match("mirna_quant_seqcluster") }, + + { assert snapshot( + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.idxstats") + ).match("mirna_quant_bam") }, + + { assert snapshot( + path("$outputDir/mirna_quant/mirtop/mirtop_rawData.tsv"), + path("$outputDir/mirna_quant/mirtop/mirtop.tsv").exists(), + path("$outputDir/mirna_quant/mirtop/mirtop.gff").exists(), + path("$outputDir/mirna_quant/mirtop/mirna.tsv"), + path("$outputDir/mirna_quant/mirtop/stats/mirtop_stats.txt").exists() + ).match("mirna_quant_mirtop") }, + + { assert snapshot( + path("$outputDir/mirna_quant/edger_qc/hairpin_edgeR_MDS_distance_matrix.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_edgeR_MDS_plot_coordinates.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_log2CPM_sample_distances.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_edgeR_MDS_distance_matrix.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_normalized_CPM.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_edgeR_MDS_plot_coordinates.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_log2CPM_sample_distances.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_unmapped_read_counts.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_normalized_CPM.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_unmapped_read_counts.txt").exists() + ).match("mirna_quant_edger_qc") }, + + { assert snapshot( + path("$outputDir/fastqc/raw/Control_N2.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone1_N3.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone9_N2.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Control_N1.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone9_N3.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Control_N3.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone1_N1.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone9_N1.raw_fastqc.zip").exists() + ).match("fastqc_raw") }, + + { assert snapshot( + path("$outputDir/fastqc/trimmed/Control_N2.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone1_N3.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone9_N2.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone9_N3.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Control_N1.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone1_N1.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone9_N1.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Control_N3.trim_fastqc.zip").exists() + ).match("fastqc_trimmed") }, + + { assert snapshot( + path("$outputDir/mirtrace/mirtrace-stats-rnatype.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-length.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-contamination_basic.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-contamination_detailed.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-phred.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-qcstatus.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-mirna-complexity.tsv") + ).match("mirtrace") }, + + { assert snapshot( + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone1_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone9_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Control_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Control_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone9_N2.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Control_N2.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone1_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone9_N3.fastp.fasta") + ).match("mirtrace_qc_passed_reads.all.collapsed") }, + + { assert snapshot( + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone1_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone9_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Control_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Control_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone9_N2.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Control_N2.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone1_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone9_N3.fastp.fasta") + ).match("mirtrace_qc_passed_reads.rnatype_unknown.collapsed") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.1.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.1.ebwt") + ).match("bowtie_index_mirna_mature") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.1.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.2.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.4.ebwt") + ).match("bowtie_index_mirna_hairpin") }, + + // { assert snapshot( //these files are outputed by the profile but are sometimes not outputed while running CI tests + // path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.bam").exists(), + // path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.bam.bai").exists(), + // path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.flagstat"), + // path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.idxstats"), + // path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.stats") + // ).match("genome_quant_bam") }, + + { assert snapshot( + path("$outputDir/multiqc/multiqc_data/fastqc-status-check-heatmap.txt"), + path("$outputDir/multiqc/multiqc_data/fastp_filtered_reads_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_overrepresented_sequences_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_top_overrepresented_sequences_table-1.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_counts_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_complexity_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot-1_Percentages.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_citations.txt"), + path("$outputDir/multiqc/multiqc_data/samtools-stats-dp.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_length_distribution_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-n-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_duplication_levels_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_sequence_quality_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_general_stats.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_n_content_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_n_content_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-quality-plot_Read_1_After_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_quality_scores_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_qc_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_quality_scores_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_length_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_top_overrepresented_sequences_table.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_overrepresented_sequences_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc-status-check-heatmap-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_counts_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_rna_categories_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-quality-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/samtools_alignment_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_sequence_quality_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtop_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-n-plot_Read_1_After_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/mirtop_unique_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/mirtop_mean_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_adapter_content_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_duplication_levels_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot_Percentages.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot-1_Counts.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_adapter_content_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-gc-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot_Counts.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_sources.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-gc-plot_Read_1_After_filtering.txt") + ).match("multiqc_multiqc_data") }, + + ) + } + + } + +} diff --git a/tests/test_index.nf.test.snap b/tests/test_index.nf.test.snap new file mode 100644 index 00000000..323a9cdb --- /dev/null +++ b/tests/test_index.nf.test.snap @@ -0,0 +1,350 @@ +{ + "fastqc_trimmed": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:10:36.718345249" + }, + "mirtrace": { + "content": [ + "mirtrace-stats-rnatype.tsv:md5,8a333ff54c189c4a5a175a619139a9ac", + "mirtrace-stats-length.tsv:md5,0609fcb0014f0d2af3308655b2418635", + "mirtrace-stats-contamination_basic.tsv:md5,a67910702b13918a7d53f1283119f899", + "mirtrace-stats-contamination_detailed.tsv:md5,feb096d380e1ae62b4e73d54ed79e891", + "mirtrace-stats-phred.tsv:md5,3f645df09c8eb314577cf6c4afda10f4", + "mirtrace-stats-qcstatus.tsv:md5,5fdd73860d2df454e21593df68975459", + "mirtrace-stats-mirna-complexity.tsv:md5,fce67408e9a9ab4a1a6f97e7e23ea2c8" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T14:59:18.343473208" + }, + "mirna_quant_reference": { + "content": [ + "mature.fa_igenome.fa:md5,ef4cabcbea05adf334ba6891a50c951a", + "hairpin.fa_igenome.fa:md5,5fb538f60d5288846600dba31010251e", + "mature.fa_igenome.fa_idx.fa:md5,ef4cabcbea05adf334ba6891a50c951a", + "hairpin.fa_igenome.fa_idx.fa:md5,482b0327b0c1e36748c1ee3d3be9be77" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:10:00.32667588" + }, + "software_versions": { + "content": [ + "{BOWTIE_MAP_GENOME={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_HAIRPIN={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_MATURE={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_SEQCLUSTER={bowtie=1.3.1, samtools=1.14}, FASTP={fastp=0.23.4}, FASTQC_RAW={fastqc=0.12.1}, FASTQC_TRIM={fastqc=0.12.1}, FORMAT_HAIRPIN={fastx_toolkit=0.0.14}, FORMAT_MATURE={fastx_toolkit=0.0.14}, INDEX_HAIRPIN={bowtie=1.3.1}, INDEX_MATURE={bowtie=1.3.1}, MIRTOP_QUANT={mirtop=0.4.25}, MIRTRACE_RUN={mirtrace=1.0.1}, PARSE_HAIRPIN={seqkit=2.6.1}, PARSE_MATURE={seqkit=2.6.1}, 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}, SEQCLUSTER_SEQUENCES={seqcluster=1.2.9}, TABLE_MERGE={r-base=3.6.2}, UNTAR_BOWTIE_INDEX={untar=1.3}, Workflow={nf-core/smrnaseq=v2.3.2dev}}" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:09:59.767390635" + }, + "mirna_quant_bam": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + "Control_N1_mature.sorted.flagstat:md5,16318a574fe410b81c0e2cdf0dfa3c97", + "Clone1_N3_mature.sorted.flagstat:md5,67fc6ba8516d4e5b3ed2a62febc92f0a", + "Clone9_N3_mature.sorted.flagstat:md5,4f60cfd3527e91df204253f9f1aebfcd", + "Clone9_N2_mature.sorted.flagstat:md5,247e02da50509fc1b3c5b35001922a8d", + "Clone1_N1_mature.sorted.idxstats:md5,77ed64ddd23cf07340b65c04559d4726", + "Clone9_N2_mature.sorted.idxstats:md5,c9643d610de2f4d449a876e41dcab872", + "Control_N1_mature.sorted.stats:md5,b4ffb3a7623e32420def4d3470a326ab", + "Clone9_N3_mature.sorted.idxstats:md5,dee54e8e22dfca24acc290bf89a05cd4", + "Control_N1_mature.sorted.idxstats:md5,847bc5c6ef44e1f9754e47e648a5ef98", + "Clone1_N3_mature.sorted.stats:md5,e8feced949af44c8e5d31523b12122b9", + "Clone9_N3_mature.sorted.stats:md5,23b012dd60ea6dcec5cedb5a73ffc792", + "Control_N3_mature.sorted.flagstat:md5,2831f55bccbcf666d1c313ef377bcb30", + "Clone1_N1_mature.sorted.stats:md5,9c42ffda181ca24ab076efc16fcfd4b3", + "Control_N2_mature.sorted.flagstat:md5,c8742d1b49535ff815c2def66cba681e", + "Clone9_N1_mature.sorted.idxstats:md5,c6eb22f3ff675e422d065375279150b2", + "Clone1_N3_mature.sorted.idxstats:md5,805f115ac4d9c8033908bafaba6c92fb", + "Control_N2_mature.sorted.idxstats:md5,12388de965d69b6102b62bc9cdf27e85", + "Clone1_N1_mature.sorted.flagstat:md5,f138a532bc7dab94f7cf4b4a4e5e23e5", + "Control_N3_mature.sorted.idxstats:md5,5fb7b46915043bd3c947a37afc3e8075", + "Control_N2_mature.sorted.stats:md5,ef5935898e3ca45d898053af335d1dfb", + "Clone9_N1_mature.sorted.flagstat:md5,014b846757652783ff3f954a966b8a1b", + "Clone9_N1_mature.sorted.stats:md5,02184884c17c8730f4df9e1a6144bbdc", + "Control_N3_mature.sorted.stats:md5,ff9dab4d3220aa44cdc80ea2fc311823", + "Clone9_N2_mature.sorted.stats:md5,fb8c403012481dafb895013c555f6d85", + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + "Clone9_N1_mature_hairpin.sorted.flagstat:md5,3e4b295b54df05c438603edaa53123b1", + "Clone9_N1_mature_hairpin.sorted.stats:md5,155f327a9be0afa9584ec426826b5457", + "Control_N2_mature_hairpin.sorted.flagstat:md5,2605548b5ab1e6ad6b5cf88ea0030909", + "Control_N3_mature_hairpin.sorted.stats:md5,2f2249c537451d1f72dfe298f16093ac", + "Control_N1_mature_hairpin.sorted.flagstat:md5,41769a400a176ea78432749f07f80fda", + "Clone9_N3_mature_hairpin.sorted.stats:md5,9f61c028bb1c92667e31093156ada662", + "Clone1_N1_mature_hairpin.sorted.stats:md5,bd02cb15e666054edecc89d392d72902", + "Control_N3_mature_hairpin.sorted.flagstat:md5,f3df866b94dc6ef355b01f22047aaf4f", + "Control_N3_mature_hairpin.sorted.idxstats:md5,2c44710ce63bdebb12d64c729ef338b0", + "Clone1_N3_mature_hairpin.sorted.flagstat:md5,6f14ec4cd502c0eb213b1905b4568a76", + "Control_N2_mature_hairpin.sorted.idxstats:md5,8859b6e432cef8b24d5fb258a06aaabe", + "Clone9_N1_mature_hairpin.sorted.idxstats:md5,238b462a2418d545418c0b3a28029bdf", + "Clone1_N1_mature_hairpin.sorted.flagstat:md5,8d0c785fec7b300200863c68b158444c", + "Control_N1_mature_hairpin.sorted.idxstats:md5,e1f455195f1cb42a1d1e58770aaeb2b4", + "Clone9_N2_mature_hairpin.sorted.flagstat:md5,663ae0bb8b29d1e1c3d75ef5df1015a4", + "Clone9_N2_mature_hairpin.sorted.idxstats:md5,04b1c0ea4f133b5ee9086eec1f4077e7", + "Clone9_N3_mature_hairpin.sorted.flagstat:md5,efc65cb620ca139b19967e12f13ba007", + "Control_N1_mature_hairpin.sorted.stats:md5,feb69ad2f8bbc527e39502a297f08abd", + "Clone1_N3_mature_hairpin.sorted.stats:md5,471db325d8ccd1fe787b5dd91dccf487", + "Clone1_N3_mature_hairpin.sorted.idxstats:md5,5b6cd8d5784c387d2649f18499a17c6e", + "Control_N2_mature_hairpin.sorted.stats:md5,1195dd51f77e338db83dc66476ac7c5f", + "Clone1_N1_mature_hairpin.sorted.idxstats:md5,0bca2d01f734128f3c11cf2697433048", + "Clone9_N2_mature_hairpin.sorted.stats:md5,7bb8654d44dac245aec6aa045250628a", + "Clone9_N3_mature_hairpin.sorted.idxstats:md5,9523d29d411c2efb0a1756355230fa98" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:10:09.479500085" + }, + "mirna_quant_edger_qc": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:10:23.564610058" + }, + "fastqc_raw": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:10:28.885128861" + }, + "multiqc_multiqc_data": { + "content": [ + "fastqc-status-check-heatmap.txt:md5,30f55902420433a11971d36956e8576e", + "fastp_filtered_reads_plot.txt:md5,0af4d3cfbf463f33b2b88cdfd69909ac", + "fastqc_overrepresented_sequences_plot.txt:md5,d861a4a956a3023efa19b1259d8665b2", + true, + "fastqc_sequence_counts_plot-1.txt:md5,37d8ae6c5734eb2679e65e46c9af9101", + "mirtrace_complexity_plot.txt:md5,bb92ed0659dddb15d3e01686acef85b5", + "fastqc_per_sequence_gc_content_plot-1_Percentages.txt:md5,edf5130b48b0814788867dd42e9cf407", + "multiqc_citations.txt:md5,3adbccd17a42d0d5d97ee7ebb476f433", + true, + "fastqc_sequence_length_distribution_plot.txt:md5,13f72b3be854c74cd7b5176ca0583770", + "fastp-seq-content-n-plot_Read_1_Before_filtering.txt:md5,048e9b2293217ab8b47ba0113b83c76c", + "fastqc_sequence_duplication_levels_plot-1.txt:md5,06a4162d4787883b1f39a1b9acb7bb91", + "fastqc_per_base_sequence_quality_plot-1.txt:md5,6a0df664a369ee216412f0033ed3a042", + true, + "fastqc_per_base_n_content_plot-1.txt:md5,048e9b2293217ab8b47ba0113b83c76c", + "fastqc_per_base_n_content_plot.txt:md5,fb8a49467d1679dbf716e1f00c1f25e5", + "fastp-seq-quality-plot_Read_1_After_filtering.txt:md5,b1481a9fbf5ea541b39aed99b51d616f", + "fastqc_per_sequence_quality_scores_plot.txt:md5,38dbd6509de7f1beac17e44acb8336be", + "mirtrace_qc_plot.txt:md5,9036243402f6248214dc0458cb1291e9", + "fastqc_per_sequence_quality_scores_plot-1.txt:md5,69f4459318311103fe71a5d1d3b2c076", + "mirtrace_length_plot.txt:md5,86a0d54324cbe4817b112b02d4872cbb", + true, + "fastqc_overrepresented_sequences_plot-1.txt:md5,1de000de50cc7516bb9d996def14c6eb", + "fastqc-status-check-heatmap-1.txt:md5,e64c353797e6dc057d10b3194ca6b20d", + "fastqc_sequence_counts_plot.txt:md5,384516be5885fdeac59e70c17f1413c2", + "mirtrace_rna_categories_plot.txt:md5,9a57e6b3a3dd75906134030d25f6a7a9", + "fastp-seq-quality-plot_Read_1_Before_filtering.txt:md5,65685440fcb927115ac30b01133e2f92", + true, + "fastqc_per_base_sequence_quality_plot.txt:md5,80ea53d94917cadcb41f3fdb56cba014", + true, + "fastp-seq-content-n-plot_Read_1_After_filtering.txt:md5,048e9b2293217ab8b47ba0113b83c76c", + true, + true, + "fastqc_adapter_content_plot.txt:md5,86a0f478fd3e690ef5132d08bf4e7625", + "fastqc_sequence_duplication_levels_plot.txt:md5,88b0babe77f623547e8af664791ef2d0", + "fastqc_per_sequence_gc_content_plot_Percentages.txt:md5,539883757ae5bf731da93fe0568022e9", + "fastqc_per_sequence_gc_content_plot-1_Counts.txt:md5,ed7205b9c46d5f431c5b3bf499a673a1", + "fastqc_adapter_content_plot-1.txt:md5,71ba0983a71f3a833526ab83a985d072", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.txt:md5,a8387a3e6b350acd16bb0ed5a43949d8", + "fastqc_per_sequence_gc_content_plot_Counts.txt:md5,3e9c1a7204c12d9c1b3b53342cf61840", + true, + "fastp-seq-content-gc-plot_Read_1_After_filtering.txt:md5,efa8123c9ad43f99a6fba671f50322ca" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T14:59:48.680287029" + }, + "untar_bowtie_index": { + "content": [ + "genome.1.ebwt:md5,1bfbf95848b5a2e8a786d0a2c1054bbb", + "genome.3.ebwt:md5,caf97e67055e1b465e933214d0168e68", + "genome.2.ebwt:md5,8f007efb2d23e46035cc47340c4d981e", + "genome.rev.1.ebwt:md5,3275dafaca50d8cafde473b54e9ebbff", + "genome.4.ebwt:md5,87ff9d3ef8b55f845a9205a19c729f1c", + "genome.rev.2.ebwt:md5,65f054c598e3e9fdd33cb22c9f8f8ca5" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:09:59.790457982" + }, + "mirna_quant_seqcluster": { + "content": [ + "Control_N2.fastp_trimmed.fastq.gz:md5,d6e607edcb3d71c546ce8fdfb18e3999", + "Clone1_N3.fastp_trimmed.fastq.gz:md5,2e395240c74b3870efe03dc329d8bad8", + "Clone9_N2.fastp_trimmed.fastq.gz:md5,c922ec95a4b84d806dd2054ff0f9cab7", + "Clone9_N3.fastp_trimmed.fastq.gz:md5,67cf9a7d2fa431f0e772391ed1651f93", + "Control_N1.fastp_trimmed.fastq.gz:md5,2f09082eb68a8f1dc308050e330887ec", + "Clone1_N1.fastp_trimmed.fastq.gz:md5,14a2590e663dbde105780726c2173c25", + "Clone9_N1.fastp_trimmed.fastq.gz:md5,115cf0c346a93a47ba782c5724b4f090", + "Control_N3.fastp_trimmed.fastq.gz:md5,342368a6e6acdaf0ae9379676b6d07f0" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:10:00.453230388" + }, + "mirtrace_qc_passed_reads.rnatype_unknown.collapsed": { + "content": [ + "Clone1_N1.fastp.fasta:md5,ba5a705fbc7c4aadd259c29c3a443d97", + "Clone9_N1.fastp.fasta:md5,3e9a4ce784cbcdb946a3e271cc899da9", + "Control_N3.fastp.fasta:md5,850c3a525359f14ea488fcd0eedc2e36", + "Control_N1.fastp.fasta:md5,446f3452ffac337eb1afa5861c2ba94a", + "Clone9_N2.fastp.fasta:md5,168aa25977927be9480f9fe2399a82c7", + "Control_N2.fastp.fasta:md5,5018f8b15dbd524eb7dd0ce39e9b7101", + "Clone1_N3.fastp.fasta:md5,7a6c3163b377b25cf2886004ea9d4a73", + "Clone9_N3.fastp.fasta:md5,80a4b70ef276cf5628dfa2942c7e4988" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T14:59:34.948240231" + }, + "bowtie_index_mirna_mature": { + "content": [ + "fasta_bidx.rev.2.ebwt:md5,ab52bc362b4c382cf213a71219e9efee", + "fasta_bidx.rev.1.ebwt:md5,0520d43b6b75328f3c30254a2d6baa18", + "fasta_bidx.4.ebwt:md5,78260e9dde22d8f31622c77d71bbb605", + "fasta_bidx.2.ebwt:md5,778bd05aa462c2119736f9a4056bc41f", + "fasta_bidx.3.ebwt:md5,7aeccc6ec919ce1cfcd2b1e40be743fe", + "fasta_bidx.1.ebwt:md5,11a2f568aa785d32246cb8ce1aa8add4" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:11:09.207867519" + }, + "bowtie_index_mirna_hairpin": { + "content": [ + "fasta_bidx.3.ebwt:md5,5c60180e2f6fc2e0c399f10b9f9bbee2", + "fasta_bidx.2.ebwt:md5,6d99166d1a8a7a1bbf262e89db218278", + "fasta_bidx.rev.1.ebwt:md5,4532fb1426b29163b23702c8daf84d62", + "fasta_bidx.rev.2.ebwt:md5,4270939b810aa3f461bacee1edc993aa", + "fasta_bidx.1.ebwt:md5,40c2c142e094ab5ea531a0564ad62cee", + "fasta_bidx.4.ebwt:md5,c3d4dbfbb587261ddf29e906029c10b1" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:11:17.523064067" + }, + "mirtrace_qc_passed_reads.all.collapsed": { + "content": [ + "Clone1_N1.fastp.fasta:md5,3761badda2e1c2dd2da3eb1bbfe6e1f8", + "Clone9_N1.fastp.fasta:md5,97310b5094e02329f412bae2657a2765", + "Control_N3.fastp.fasta:md5,f24ddebb1b012ec3817b88ff2e8989ea", + "Control_N1.fastp.fasta:md5,888c2e9639dd152d2f63e3c00019376b", + "Clone9_N2.fastp.fasta:md5,7f3879545cf3beb43af71ce83430abbf", + "Control_N2.fastp.fasta:md5,16e03efca3b17ec279658ad1556f52e4", + "Clone1_N3.fastp.fasta:md5,c6f029e821dceb6d60869a8f3e6e8198", + "Clone9_N3.fastp.fasta:md5,43d45f4416d0028f9adadd0f5ca44d9c" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T14:59:21.2869702" + }, + "mirna_quant_mirtop": { + "content": [ + "mirtop_rawData.tsv:md5,774410dd2cf1e5be83bf8d6e1e8b96b0", + true, + true, + "mirna.tsv:md5,1f840afe7ab68eac73feaaad321b64f6", + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:10:16.715546319" + } +} diff --git a/tests/test_mirgenedb.nf.test b/tests/test_mirgenedb.nf.test new file mode 100644 index 00000000..c9051838 --- /dev/null +++ b/tests/test_mirgenedb.nf.test @@ -0,0 +1,280 @@ + +nextflow_pipeline { + + name "Test Workflow main.nf - test_mirgenedb" + script "main.nf" + profile "test_mirgenedb" + tag "test_mirgenedb" + tag "pipeline" + + test("test_mirgenedb") { + + when { + params { + outdir = "$outputDir" + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot(UTILS.removeNextflowVersion("$outputDir")).match("software_versions") }, + { assert workflow.trace.succeeded().size() == 193 }, + + { assert snapshot( + path("$outputDir/bowtie_index/genome/genome.rev.1.ebwt"), + path("$outputDir/bowtie_index/genome/genome.3.ebwt"), + path("$outputDir/bowtie_index/genome/genome.1.ebwt"), + path("$outputDir/bowtie_index/genome/genome.2.ebwt"), + path("$outputDir/bowtie_index/genome/genome.4.ebwt"), + path("$outputDir/bowtie_index/genome/genome.edited.fa"), + path("$outputDir/bowtie_index/genome/genome.rev.2.ebwt") + ).match("bowtie_index_genome") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.2.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.1.ebwt") + ).match("bowtie_index_mirna_hairpin") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.1.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.2.ebwt") + ).match("bowtie_index_mirna_mature") }, + + { assert snapshot( + path("$outputDir/mirna_quant/reference/hsa-hg38-pri-30-30.fas_igenome.fa"), + path("$outputDir/mirna_quant/reference/hsa_igenome.fa"), + path("$outputDir/mirna_quant/reference/hsa-hg38-pri-30-30.fas_igenome.fa_idx.fa"), + path("$outputDir/mirna_quant/reference/hsa_igenome.fa_idx.fa") + ).match("mirna_quant_reference") }, + + { assert snapshot( + path("$outputDir/mirna_quant/seqcluster/final/Control_N2.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone1_N3.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N3.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N2.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Control_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone1_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Control_N3.fastp_trimmed.fastq.gz") + ).match("mirna_quant_seqcluster") }, + + { assert snapshot( + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.stats") + ).match("mirna_quant_bam") }, + + { assert snapshot( + path("$outputDir/mirna_quant/edger_qc/hairpin_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_log2CPM_sample_distances.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_edgeR_MDS_distance_matrix.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_edgeR_MDS_plot_coordinates.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_unmapped_read_counts.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_normalized_CPM.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_edgeR_MDS_distance_matrix.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_edgeR_MDS_plot_coordinates.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_log2CPM_sample_distances.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_unmapped_read_counts.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_normalized_CPM.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.txt").exists() + ).match("mirna_quant_edger_qc") }, + + { assert snapshot( + path("$outputDir/fastqc/raw/Control_N2.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Control_N1.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone1_N3.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone9_N2.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone9_N3.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Control_N3.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone9_N1.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone1_N1.raw_fastqc.zip").exists() + ).match("fastqc_raw") }, + + { assert snapshot( + path("$outputDir/fastqc/trimmed/Control_N2.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Control_N1.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone1_N3.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Control_N3.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone9_N1.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone9_N2.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone1_N1.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone9_N3.trim_fastqc.zip").exists() + ).match("fastqc_trimmed") }, + + { assert snapshot( + path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Clone1_N3_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone1_N3_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Clone9_N2_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone9_N2_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Clone9_N1_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Control_N3_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone9_N1_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Control_N3_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Control_N3_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Clone9_N1_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Clone9_N2_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Clone9_N2_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Control_N3_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone9_N1_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone1_N3_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone9_N2_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Control_N3_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Clone9_N1_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Control_N2_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Clone1_N3_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Clone1_N3_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.stats") + ).match("genome_quant_bam") }, + + { assert snapshot( + path("$outputDir/multiqc/multiqc_data/fastqc-status-check-heatmap.txt"), + path("$outputDir/multiqc/multiqc_data/fastp_filtered_reads_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_overrepresented_sequences_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_top_overrepresented_sequences_table-1.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_counts_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot-1_Percentages.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_citations.txt"), + path("$outputDir/multiqc/multiqc_data/samtools-stats-dp.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_length_distribution_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-n-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_duplication_levels_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_sequence_quality_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_general_stats.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_n_content_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_n_content_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-quality-plot_Read_1_After_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_quality_scores_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_quality_scores_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_top_overrepresented_sequences_table.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_overrepresented_sequences_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_sources.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc-status-check-heatmap-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_counts_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-quality-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/samtools_alignment_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_sequence_quality_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-n-plot_Read_1_After_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_adapter_content_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_duplication_levels_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot_Percentages.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot-1_Counts.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_adapter_content_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-gc-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot_Counts.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-gc-plot_Read_1_After_filtering.txt") + ).match("multiqc_multiqc_data") }, + + ) + } + + } + +} diff --git a/tests/test_mirgenedb.nf.test.snap b/tests/test_mirgenedb.nf.test.snap new file mode 100644 index 00000000..96818b72 --- /dev/null +++ b/tests/test_mirgenedb.nf.test.snap @@ -0,0 +1,329 @@ +{ + "fastqc_trimmed": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:43:10.283525327" + }, + "bowtie_index_genome": { + "content": [ + "genome.rev.1.ebwt:md5,3275dafaca50d8cafde473b54e9ebbff", + "genome.3.ebwt:md5,caf97e67055e1b465e933214d0168e68", + "genome.1.ebwt:md5,1bfbf95848b5a2e8a786d0a2c1054bbb", + "genome.2.ebwt:md5,8f007efb2d23e46035cc47340c4d981e", + "genome.4.ebwt:md5,87ff9d3ef8b55f845a9205a19c729f1c", + "genome.edited.fa:md5,5aaada29b1c575230fa1b7c3bd4d76db", + "genome.rev.2.ebwt:md5,65f054c598e3e9fdd33cb22c9f8f8ca5" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:42:50.692564564" + }, + "genome_quant_bam": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + "Control_N3_mature_hairpin_genome.sorted.flagstat:md5,047445077b03d7db3e7f5a3d5d162a1a", + "Control_N2_mature_hairpin_genome.sorted.idxstats:md5,8fe506f0e0fb6fdec63ec3ac46088971", + "Clone9_N3_mature_hairpin_genome.sorted.stats:md5,d73bffca2d2e685198bb1758c8e3e37c", + "Clone9_N1_mature_hairpin_genome.sorted.stats:md5,26c8e55e56641f2d4387a37b099ff0c2", + "Clone9_N2_mature_hairpin_genome.sorted.stats:md5,77ddc325e6f6b6cf872bc490b31d037d", + "Clone9_N2_mature_hairpin_genome.sorted.idxstats:md5,6f07962963e26663dc09e72eb60c887f", + "Clone1_N1_mature_hairpin_genome.sorted.idxstats:md5,d92f9eae7657418858e6d2b69436f74f", + "Control_N1_mature_hairpin_genome.sorted.idxstats:md5,a11f543771cea6b383fb596f60e998c3", + "Clone9_N3_mature_hairpin_genome.sorted.flagstat:md5,c8756a6359a58edfca350a288129e87c", + "Control_N3_mature_hairpin_genome.sorted.stats:md5,359d0ab9cc2b45b38efb7609cb80e463", + "Clone1_N1_mature_hairpin_genome.sorted.flagstat:md5,5bb521c495f1c450835299b1eb88dc84", + "Clone9_N3_mature_hairpin_genome.sorted.idxstats:md5,730cc6e2f92875f53ba5abaee4fc7a92", + "Clone9_N1_mature_hairpin_genome.sorted.idxstats:md5,aa37c5da7c2b4505ce58c3a21f97121c", + "Clone1_N3_mature_hairpin_genome.sorted.idxstats:md5,55fca6b9d8263d72d1ecd48d9dcb6cd4", + "Clone9_N2_mature_hairpin_genome.sorted.flagstat:md5,c9ea13138a4ade6bb64ac5de54bc2738", + "Control_N3_mature_hairpin_genome.sorted.idxstats:md5,33ff4580ba9a6c28eb5ae94519ebba3d", + "Control_N1_mature_hairpin_genome.sorted.flagstat:md5,df2a57ac3b36f5d40793d3105a4bb2d1", + "Clone9_N1_mature_hairpin_genome.sorted.flagstat:md5,6a8ad3be2ca0fa924fd32a04293d4ce4", + "Control_N2_mature_hairpin_genome.sorted.flagstat:md5,b561e1e2e059cf4a8d156d2878d14638", + "Control_N2_mature_hairpin_genome.sorted.stats:md5,c1a6335191f99e05d41738c78f5d2498", + "Clone1_N3_mature_hairpin_genome.sorted.stats:md5,072c74c558a972d462042fb4e3804209", + "Clone1_N3_mature_hairpin_genome.sorted.flagstat:md5,e21a3e140c55792fb394ddc7fc374d29", + "Clone1_N1_mature_hairpin_genome.sorted.stats:md5,03d3f6227829c80c0e29cb49df9b6a27", + "Control_N1_mature_hairpin_genome.sorted.stats:md5,6a53b78cc7e4ca2338c76095af080151" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:43:14.705257782" + }, + "mirna_quant_reference": { + "content": [ + "hsa-hg38-pri-30-30.fas_igenome.fa:md5,0330f80966b98ef9b300db0b312c422d", + "hsa_igenome.fa:md5,f8a652b0a51db6ce518f7cdba06c3c01", + "hsa-hg38-pri-30-30.fas_igenome.fa_idx.fa:md5,f550596c4dc78658f1aa438c3f2432f1", + "hsa_igenome.fa_idx.fa:md5,f8a652b0a51db6ce518f7cdba06c3c01" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:42:51.639808318" + }, + "software_versions": { + "content": [ + "{BOWTIE_MAP_GENOME={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_HAIRPIN={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_MATURE={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_SEQCLUSTER={bowtie=1.3.1, samtools=1.14}, FASTP={fastp=0.23.4}, FASTQC_RAW={fastqc=0.12.1}, FASTQC_TRIM={fastqc=0.12.1}, FORMAT_HAIRPIN={fastx_toolkit=0.0.14}, FORMAT_MATURE={fastx_toolkit=0.0.14}, INDEX_GENOME={bowtie=1.3.1}, INDEX_HAIRPIN={bowtie=1.3.1}, INDEX_MATURE={bowtie=1.3.1}, PARSE_HAIRPIN={seqkit=2.6.1}, PARSE_MATURE={seqkit=2.6.1}, 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}, SEQCLUSTER_SEQUENCES={seqcluster=1.2.9}, Workflow={nf-core/smrnaseq=v2.3.2dev}}" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:42:50.677062286" + }, + "mirna_quant_bam": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + "Clone1_N1_mature.sorted.idxstats:md5,f391c89a5631b2f2c2d31ebe07fb47d0", + "Clone9_N2_mature.sorted.flagstat:md5,e705ff2fb2aff90722587e4ef2574d47", + "Clone9_N3_mature.sorted.stats:md5,20ed6d356eaa16e0820afb682505ef8e", + "Control_N2_mature.sorted.stats:md5,daab0b0c64f6f43ad16f1bcf269d397f", + "Control_N2_mature.sorted.idxstats:md5,6a40778e06c327a4bd7b4b8288839391", + "Clone9_N2_mature.sorted.idxstats:md5,fa0c2e4129cdf8d4b1db81040f488b06", + "Control_N3_mature.sorted.idxstats:md5,313845385850985d36906780a932f5e2", + "Clone1_N3_mature.sorted.stats:md5,8c5829865ae9fbfddae57947cb6c9519", + "Control_N1_mature.sorted.idxstats:md5,b7a382b1d0f5cba6cb94b3b5a6b18f84", + "Clone1_N3_mature.sorted.idxstats:md5,f1c77fac455e51e5a3d41520c4fd7b94", + "Clone9_N3_mature.sorted.idxstats:md5,1f11006d861191605278b6e5fdfa3d9a", + "Clone9_N1_mature.sorted.idxstats:md5,8302f401476f5c8fee3333e1c742c05e", + "Clone1_N1_mature.sorted.flagstat:md5,e5dfab2690df9cb96aec5889ad008604", + "Control_N2_mature.sorted.flagstat:md5,26eac956af9432cb43344d75001e134b", + "Clone9_N1_mature.sorted.stats:md5,96b82a0250469c1754abddd4c9b121f2", + "Control_N1_mature.sorted.flagstat:md5,f8df7690d20014518f47dc2fe39debec", + "Clone9_N2_mature.sorted.stats:md5,d1a72eb2ee8d515979e3d9c6aca36841", + "Clone1_N1_mature.sorted.stats:md5,c0756996051adc8d1bd0d0b60fd0855b", + "Control_N3_mature.sorted.stats:md5,926dbbacb28c0c79a9129dfe13b8ea46", + "Control_N1_mature.sorted.stats:md5,2a5fce73b26297bfce12d75b1e59b205", + "Control_N3_mature.sorted.flagstat:md5,ebc0ab77211c4c0537f2dae119c61ca2", + "Clone1_N3_mature.sorted.flagstat:md5,b66820feb3fb642aa1d3812f96c17a8f", + "Clone9_N3_mature.sorted.flagstat:md5,a027a77c3750bfb1172ce1dc3b3c2759", + "Clone9_N1_mature.sorted.flagstat:md5,adf40ba27907b6ef726d6c5923a731b9", + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + "Control_N1_mature_hairpin.sorted.idxstats:md5,79dc5e82ff88e7379c893549224cd87f", + "Control_N2_mature_hairpin.sorted.flagstat:md5,c830a70e5badf24c4c2067d5d856853e", + "Clone1_N1_mature_hairpin.sorted.idxstats:md5,cc9d2c4ad6d7e05e4a05c8006d64ac6d", + "Control_N3_mature_hairpin.sorted.idxstats:md5,b35b14f7dfc8fc4a7a757bf0596e0e0f", + "Clone9_N3_mature_hairpin.sorted.idxstats:md5,c0364e7a3b43606b8530adaea02a90b3", + "Clone9_N1_mature_hairpin.sorted.idxstats:md5,f3ed5bf23f73d41c42d3da0bf30f89ea", + "Control_N1_mature_hairpin.sorted.flagstat:md5,1dc7b98f0014a99a20de7c09a6b95340", + "Clone1_N3_mature_hairpin.sorted.idxstats:md5,32e53141026ee40748d8472be8bb561a", + "Clone9_N2_mature_hairpin.sorted.flagstat:md5,ab147350da763f38aaddb0b058d2eb1e", + "Clone9_N3_mature_hairpin.sorted.flagstat:md5,e2a4383981c36024c09c99bcc45d8cc2", + "Clone9_N2_mature_hairpin.sorted.idxstats:md5,07ed767bcfd4fa6fad9c78765e790064", + "Clone9_N1_mature_hairpin.sorted.flagstat:md5,678f4f9e98c3e1fcc5af54e8dd06fbbc", + "Control_N2_mature_hairpin.sorted.idxstats:md5,76a470476116128573764db2399d8565", + "Clone1_N3_mature_hairpin.sorted.stats:md5,29aa9e13aa7d7c95ac2aabd67e49482a", + "Clone1_N3_mature_hairpin.sorted.flagstat:md5,614588858f8e91665e913785c422ce42", + "Control_N2_mature_hairpin.sorted.stats:md5,14064d698b3f709b31b8d7022c9f07cf", + "Control_N1_mature_hairpin.sorted.stats:md5,546c01ab7193d65418db5e11ab57f8c6", + "Clone1_N1_mature_hairpin.sorted.flagstat:md5,ba7fd1aa5c0ed1bb161d1f4278926040", + "Clone1_N1_mature_hairpin.sorted.stats:md5,105a9a3726ab313c5845c70042fdffff", + "Control_N3_mature_hairpin.sorted.stats:md5,7f263ca41f6fe3a48afae87ca4d4bb5f", + "Clone9_N3_mature_hairpin.sorted.stats:md5,98a332aa9c51669ad5aa39429e4e386a", + "Control_N3_mature_hairpin.sorted.flagstat:md5,f5e2a68427234f7f4fb6f28227f61e02", + "Clone9_N1_mature_hairpin.sorted.stats:md5,91bb004f5271b4c507bef7d274df3d61", + "Clone9_N2_mature_hairpin.sorted.stats:md5,9665ed98a7d4ef1ae49b572008a9ab5d" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:42:56.766831973" + }, + "bowtie_index_mirna_mature": { + "content": [ + "fasta_bidx.1.ebwt:md5,7f642e502a03af140cc9defea6c5fbad", + "fasta_bidx.2.ebwt:md5,990abde7202805872f56781abfce9da1", + "fasta_bidx.3.ebwt:md5,f132742aec53cedb06ca87d289f9f4a2", + "fasta_bidx.4.ebwt:md5,70977c4174dd54d5715e24cbe148686c", + "fasta_bidx.rev.1.ebwt:md5,34feb7692da8d4752343cf327e1f4446", + "fasta_bidx.rev.2.ebwt:md5,ea6d4ad4a6fbc394e189ba95c38eaad0" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:42:51.326703216" + }, + "mirna_quant_edger_qc": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:43:01.435116943" + }, + "fastqc_raw": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:43:05.858666351" + }, + "bowtie_index_mirna_hairpin": { + "content": [ + "fasta_bidx.2.ebwt:md5,f2a632771f4d91546b7d72eb02a074be", + "fasta_bidx.1.ebwt:md5,058b4869546dd035b4a0c04f5f88e2a0", + "fasta_bidx.3.ebwt:md5,ff4179d03d07954bc2c4e9e3db53cc84", + "fasta_bidx.4.ebwt:md5,5f58f8d33f5f4ad024fe5d5bed359e70", + "fasta_bidx.rev.2.ebwt:md5,f46776adf134dbf7b15a18ecb6810b05", + "fasta_bidx.rev.1.ebwt:md5,4ad69edd9799cc0a962fb4227336fbfb" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:42:51.008913018" + }, + "multiqc_multiqc_data": { + "content": [ + "fastqc-status-check-heatmap.txt:md5,30f55902420433a11971d36956e8576e", + "fastp_filtered_reads_plot.txt:md5,0af4d3cfbf463f33b2b88cdfd69909ac", + "fastqc_overrepresented_sequences_plot.txt:md5,d861a4a956a3023efa19b1259d8665b2", + true, + "fastqc_sequence_counts_plot-1.txt:md5,37d8ae6c5734eb2679e65e46c9af9101", + "fastqc_per_sequence_gc_content_plot-1_Percentages.txt:md5,edf5130b48b0814788867dd42e9cf407", + "multiqc_citations.txt:md5,57db2426be011862828d18f767d25b57", + true, + "fastqc_sequence_length_distribution_plot.txt:md5,13f72b3be854c74cd7b5176ca0583770", + "fastp-seq-content-n-plot_Read_1_Before_filtering.txt:md5,048e9b2293217ab8b47ba0113b83c76c", + "fastqc_sequence_duplication_levels_plot-1.txt:md5,06a4162d4787883b1f39a1b9acb7bb91", + "fastqc_per_base_sequence_quality_plot-1.txt:md5,6a0df664a369ee216412f0033ed3a042", + true, + "fastqc_per_base_n_content_plot-1.txt:md5,048e9b2293217ab8b47ba0113b83c76c", + "fastqc_per_base_n_content_plot.txt:md5,fb8a49467d1679dbf716e1f00c1f25e5", + "fastp-seq-quality-plot_Read_1_After_filtering.txt:md5,b1481a9fbf5ea541b39aed99b51d616f", + "fastqc_per_sequence_quality_scores_plot.txt:md5,38dbd6509de7f1beac17e44acb8336be", + "fastqc_per_sequence_quality_scores_plot-1.txt:md5,69f4459318311103fe71a5d1d3b2c076", + true, + "fastqc_overrepresented_sequences_plot-1.txt:md5,1de000de50cc7516bb9d996def14c6eb", + true, + "fastqc-status-check-heatmap-1.txt:md5,e64c353797e6dc057d10b3194ca6b20d", + "fastqc_sequence_counts_plot.txt:md5,384516be5885fdeac59e70c17f1413c2", + "fastp-seq-quality-plot_Read_1_Before_filtering.txt:md5,65685440fcb927115ac30b01133e2f92", + true, + "fastqc_per_base_sequence_quality_plot.txt:md5,80ea53d94917cadcb41f3fdb56cba014", + "fastp-seq-content-n-plot_Read_1_After_filtering.txt:md5,048e9b2293217ab8b47ba0113b83c76c", + "fastqc_adapter_content_plot.txt:md5,86a0f478fd3e690ef5132d08bf4e7625", + "fastqc_sequence_duplication_levels_plot.txt:md5,88b0babe77f623547e8af664791ef2d0", + "fastqc_per_sequence_gc_content_plot_Percentages.txt:md5,539883757ae5bf731da93fe0568022e9", + "fastqc_per_sequence_gc_content_plot-1_Counts.txt:md5,ed7205b9c46d5f431c5b3bf499a673a1", + "fastqc_adapter_content_plot-1.txt:md5,71ba0983a71f3a833526ab83a985d072", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.txt:md5,a8387a3e6b350acd16bb0ed5a43949d8", + "fastqc_per_sequence_gc_content_plot_Counts.txt:md5,3e9c1a7204c12d9c1b3b53342cf61840", + "fastp-seq-content-gc-plot_Read_1_After_filtering.txt:md5,efa8123c9ad43f99a6fba671f50322ca" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:43:19.148826267" + }, + "mirna_quant_seqcluster": { + "content": [ + "Control_N2.fastp_trimmed.fastq.gz:md5,d6e607edcb3d71c546ce8fdfb18e3999", + "Clone1_N3.fastp_trimmed.fastq.gz:md5,2e395240c74b3870efe03dc329d8bad8", + "Clone9_N3.fastp_trimmed.fastq.gz:md5,67cf9a7d2fa431f0e772391ed1651f93", + "Clone9_N2.fastp_trimmed.fastq.gz:md5,c922ec95a4b84d806dd2054ff0f9cab7", + "Control_N1.fastp_trimmed.fastq.gz:md5,2f09082eb68a8f1dc308050e330887ec", + "Clone1_N1.fastp_trimmed.fastq.gz:md5,14a2590e663dbde105780726c2173c25", + "Clone9_N1.fastp_trimmed.fastq.gz:md5,115cf0c346a93a47ba782c5724b4f090", + "Control_N3.fastp_trimmed.fastq.gz:md5,342368a6e6acdaf0ae9379676b6d07f0" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:42:51.948240261" + } +} \ No newline at end of file diff --git a/tests/test_no_genome.nf.test b/tests/test_no_genome.nf.test new file mode 100644 index 00000000..2f60b070 --- /dev/null +++ b/tests/test_no_genome.nf.test @@ -0,0 +1,322 @@ + +nextflow_pipeline { + + name "Test Workflow main.nf - test_no_genome" + script "main.nf" + profile "test_no_genome" + tag "test_no_genome" + tag "pipeline" + + test("test_no_genome") { + + when { + params { + outdir = "$outputDir" + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot(UTILS.removeNextflowVersion("$outputDir")).match("software_versions") }, + { assert workflow.trace.succeeded().size() == 147 }, + + { assert snapshot( + path("$outputDir/mirna_quant/reference/mature.fa_igenome.fa"), + path("$outputDir/mirna_quant/reference/hairpin.fa_igenome.fa"), + path("$outputDir/mirna_quant/reference/mature.fa_igenome.fa_idx.fa"), + path("$outputDir/mirna_quant/reference/hairpin.fa_igenome.fa_idx.fa") + ).match("mirna_quant_reference") }, + + { assert snapshot( + path("$outputDir/mirna_quant/seqcluster/final/Control_N2.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone1_N3.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N3.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Control_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N2.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone1_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Control_N3.fastp_trimmed.fastq.gz") + ).match("mirna_quant_seqcluster") }, + + { assert snapshot( + path("$outputDir/mirna_quant/bam/seqcluster/Clone9_N3_seqcluster.bam").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/Control_N2_seqcluster.bam").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/Clone1_N3_seqcluster.bam").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/Clone9_N2_seqcluster.bam").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/Clone9_N1_seqcluster.bam").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/Control_N1_seqcluster.bam").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/Clone1_N1_seqcluster.bam").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/Control_N3_seqcluster.bam").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/unmapped/Clone9_N3_seqcluster_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/unmapped/Control_N2_seqcluster_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/unmapped/Clone1_N3_seqcluster_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/unmapped/Clone9_N2_seqcluster_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/unmapped/Clone9_N1_seqcluster_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/unmapped/Control_N1_seqcluster_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/unmapped/Clone1_N1_seqcluster_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/unmapped/Control_N3_seqcluster_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N2_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N2_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Control_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/unmapped/Control_N2_mature_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/mature/unmapped/Clone9_N3_mature_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/mature/unmapped/Clone1_N3_mature_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/mature/unmapped/Control_N1_mature_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/mature/unmapped/Clone9_N2_mature_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/mature/unmapped/Clone1_N1_mature_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/mature/unmapped/Clone9_N1_mature_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/mature/unmapped/Control_N3_mature_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N2_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N2_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N3_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/unmapped/Control_N2_mature_hairpin_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/hairpin/unmapped/Clone9_N3_mature_hairpin_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/hairpin/unmapped/Clone1_N3_mature_hairpin_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/hairpin/unmapped/Control_N1_mature_hairpin_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/hairpin/unmapped/Clone9_N2_mature_hairpin_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/hairpin/unmapped/Clone1_N1_mature_hairpin_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/hairpin/unmapped/Clone9_N1_mature_hairpin_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/hairpin/unmapped/Control_N3_mature_hairpin_unmapped.fq.gz").exists() + ).match("mirna_quant_bam") }, + + { assert snapshot( + path("$outputDir/mirna_quant/mirtop/mirtop.gff").exists(), + path("$outputDir/mirna_quant/mirtop/mirtop.tsv").exists(), + path("$outputDir/mirna_quant/mirtop/mirtop_rawData.tsv"), + path("$outputDir/mirna_quant/mirtop/mirna.tsv"), + path("$outputDir/mirna_quant/mirtop/stats/mirtop_stats.txt").exists() + ).match("mirna_quant_mirtop") }, + + { assert snapshot( + path("$outputDir/mirna_quant/edger_qc/hairpin_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_log2CPM_sample_distances.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_edgeR_MDS_distance_matrix.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_edgeR_MDS_plot_coordinates.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_normalized_CPM.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_unmapped_read_counts.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_edgeR_MDS_distance_matrix.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_log2CPM_sample_distances.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_edgeR_MDS_plot_coordinates.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_unmapped_read_counts.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_normalized_CPM.txt").exists() + ).match("mirna_quant_edger_qc") }, + + { assert snapshot( + path("$outputDir/fastqc/raw/Control_N2.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone9_N3.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone1_N3.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone9_N1.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Control_N1.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Control_N3.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone1_N1.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone9_N2.raw_fastqc.zip").exists() + ).match("fastqc_raw") }, + + { assert snapshot( + path("$outputDir/fastqc/trimmed/Control_N2.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone1_N3.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Control_N1.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone9_N3.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone9_N2.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone1_N1.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Clone9_N1.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/Control_N3.trim_fastqc.zip").exists() + ).match("fastqc_trimmed") }, + + { assert snapshot( + path("$outputDir/mirtrace/mirtrace-stats-mirna-complexity.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-length.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-contamination_detailed.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-contamination_basic.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-rnatype.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-qcstatus.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-phred.tsv") + ).match("mirtrace") }, + + { assert snapshot( + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone1_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone9_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Control_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Control_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone9_N2.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Control_N2.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone1_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone9_N3.fastp.fasta") + ).match("mirtrace_qc_passed_reads.all.collapsed") }, + + { assert snapshot( + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone1_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone9_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Control_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Control_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone9_N2.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Control_N2.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone1_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone9_N3.fastp.fasta") + ).match("mirtrace_qc_passed_reads.rnatype_unknown.collapsed") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.1.ebwt") + ).match("bowtie_index_mirna_mature") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.1.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.2.ebwt") + ).match("bowtie_index_mirna_hairpin") }, + + { assert snapshot( + path("$outputDir/multiqc/multiqc_data/fastqc-status-check-heatmap.txt"), + path("$outputDir/multiqc/multiqc_data/fastp_filtered_reads_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_overrepresented_sequences_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_top_overrepresented_sequences_table-1.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_counts_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_complexity_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot-1_Percentages.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_citations.txt"), + path("$outputDir/multiqc/multiqc_data/samtools-stats-dp.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_length_distribution_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-n-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_duplication_levels_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_sequence_quality_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_general_stats.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_n_content_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_n_content_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-quality-plot_Read_1_After_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_quality_scores_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_qc_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_quality_scores_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_length_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_top_overrepresented_sequences_table.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_overrepresented_sequences_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc-status-check-heatmap-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_counts_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_rna_categories_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-quality-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/samtools_alignment_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_sequence_quality_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtop_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-n-plot_Read_1_After_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/mirtop_unique_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/mirtop_mean_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_adapter_content_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_duplication_levels_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot_Percentages.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot-1_Counts.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_adapter_content_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-gc-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot_Counts.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_sources.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-gc-plot_Read_1_After_filtering.txt") + ).match("multiqc_multiqc_data") }, + + ) + } + + } + +} diff --git a/tests/test_no_genome.nf.test.snap b/tests/test_no_genome.nf.test.snap new file mode 100644 index 00000000..1035e8fb --- /dev/null +++ b/tests/test_no_genome.nf.test.snap @@ -0,0 +1,383 @@ +{ + "fastqc_trimmed": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:12:19.94791178" + }, + "mirtrace": { + "content": [ + "mirtrace-stats-mirna-complexity.tsv:md5,fce67408e9a9ab4a1a6f97e7e23ea2c8", + "mirtrace-stats-length.tsv:md5,0609fcb0014f0d2af3308655b2418635", + "mirtrace-stats-contamination_detailed.tsv:md5,feb096d380e1ae62b4e73d54ed79e891", + "mirtrace-stats-contamination_basic.tsv:md5,a67910702b13918a7d53f1283119f899", + "mirtrace-stats-rnatype.tsv:md5,8a333ff54c189c4a5a175a619139a9ac", + "mirtrace-stats-qcstatus.tsv:md5,5fdd73860d2df454e21593df68975459", + "mirtrace-stats-phred.tsv:md5,3f645df09c8eb314577cf6c4afda10f4" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T15:19:07.296656154" + }, + "mirna_quant_reference": { + "content": [ + "mature.fa_igenome.fa:md5,48215f56ca0bfbdbb1a28482457283e3", + "hairpin.fa_igenome.fa:md5,cddcc379892cb43e807ff54feafafbc1", + "mature.fa_igenome.fa_idx.fa:md5,48215f56ca0bfbdbb1a28482457283e3", + "hairpin.fa_igenome.fa_idx.fa:md5,f7ee61ca4537300386fdb85c7dec24d2" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:11:52.954791058" + }, + "software_versions": { + "content": [ + "{BOWTIE_MAP_HAIRPIN={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_MATURE={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_SEQCLUSTER={bowtie=1.3.1, samtools=1.14}, FASTP={fastp=0.23.4}, FASTQC_RAW={fastqc=0.12.1}, FASTQC_TRIM={fastqc=0.12.1}, FORMAT_HAIRPIN={fastx_toolkit=0.0.14}, FORMAT_MATURE={fastx_toolkit=0.0.14}, INDEX_HAIRPIN={bowtie=1.3.1}, INDEX_MATURE={bowtie=1.3.1}, MIRTOP_QUANT={mirtop=0.4.25}, MIRTRACE_RUN={mirtrace=1.0.1}, PARSE_HAIRPIN={seqkit=2.6.1}, PARSE_MATURE={seqkit=2.6.1}, 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}, SEQCLUSTER_SEQUENCES={seqcluster=1.2.9}, TABLE_MERGE={r-base=3.6.2}, Workflow={nf-core/smrnaseq=v2.3.2dev}}" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:11:52.791654763" + }, + "mirna_quant_bam": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + "Clone1_N3_mature.sorted.flagstat:md5,67fc6ba8516d4e5b3ed2a62febc92f0a", + "Clone9_N2_mature.sorted.flagstat:md5,247e02da50509fc1b3c5b35001922a8d", + "Clone1_N3_mature.sorted.idxstats:md5,39e30f2f398992208a5411c74a3c9774", + "Clone9_N2_mature.sorted.idxstats:md5,1ecdffcf833b08768c83bd74bf5e1a95", + "Clone9_N1_mature.sorted.stats:md5,02184884c17c8730f4df9e1a6144bbdc", + "Control_N1_mature.sorted.flagstat:md5,16318a574fe410b81c0e2cdf0dfa3c97", + "Control_N2_mature.sorted.flagstat:md5,cdeb62c8bd17760b6d258a17bec1e80c", + "Clone9_N1_mature.sorted.idxstats:md5,4f5c53b3acc6ee228d5f5766bb4bf1d4", + "Control_N1_mature.sorted.stats:md5,b4ffb3a7623e32420def4d3470a326ab", + "Clone1_N1_mature.sorted.flagstat:md5,f138a532bc7dab94f7cf4b4a4e5e23e5", + "Clone9_N2_mature.sorted.stats:md5,fb8c403012481dafb895013c555f6d85", + "Clone9_N1_mature.sorted.flagstat:md5,014b846757652783ff3f954a966b8a1b", + "Control_N3_mature.sorted.idxstats:md5,a38cb5edff03d442729ad3ab2dad5425", + "Control_N1_mature.sorted.idxstats:md5,ec6150327db493da8faaca1525afacd1", + "Clone9_N3_mature.sorted.idxstats:md5,84784ae05dce03ca691f7ae0b4074eb3", + "Clone1_N3_mature.sorted.stats:md5,e8feced949af44c8e5d31523b12122b9", + "Clone1_N1_mature.sorted.idxstats:md5,69adbd609e315faaa5b03082919c941f", + "Clone9_N3_mature.sorted.flagstat:md5,4f60cfd3527e91df204253f9f1aebfcd", + "Control_N2_mature.sorted.idxstats:md5,af6ecc38643b1aedf67354e91e95364e", + "Clone9_N3_mature.sorted.stats:md5,23b012dd60ea6dcec5cedb5a73ffc792", + "Clone1_N1_mature.sorted.stats:md5,9c42ffda181ca24ab076efc16fcfd4b3", + "Control_N3_mature.sorted.stats:md5,ff9dab4d3220aa44cdc80ea2fc311823", + "Control_N2_mature.sorted.stats:md5,958b7a9ccfe3893b117317d00cd29949", + "Control_N3_mature.sorted.flagstat:md5,2831f55bccbcf666d1c313ef377bcb30", + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + "Clone1_N3_mature_hairpin.sorted.stats:md5,8f0cb54dcf9604c6ea3cfc860b483725", + "Clone9_N2_mature_hairpin.sorted.idxstats:md5,416c4f9aef6f2c79c329f477044e6485", + "Control_N1_mature_hairpin.sorted.idxstats:md5,6ed8ee411919ec9baa5034679be63770", + "Clone9_N3_mature_hairpin.sorted.idxstats:md5,361861d00aa0086eb1aa8bacc616db60", + "Clone9_N1_mature_hairpin.sorted.stats:md5,fa18dddebf8b084542858f2c13342c2d", + "Control_N2_mature_hairpin.sorted.stats:md5,0f618f0e64bd16ed4858c9012b7adf87", + "Clone9_N2_mature_hairpin.sorted.stats:md5,925c282fdcd53d9b16e3c89840506daa", + "Clone1_N3_mature_hairpin.sorted.idxstats:md5,a2457f5571563ecc03c4d9834fa75da0", + "Clone1_N1_mature_hairpin.sorted.idxstats:md5,d54f57a896c7b7b5824e3af5b51f3fd2", + "Control_N3_mature_hairpin.sorted.flagstat:md5,dca2071057d621f04d3c88c5fcc061eb", + "Clone9_N2_mature_hairpin.sorted.flagstat:md5,5f3be7d1cf5db0ac22b1e4bbbc89460f", + "Clone9_N3_mature_hairpin.sorted.flagstat:md5,43adb927ee6032297e95fedc5b080ca1", + "Clone9_N1_mature_hairpin.sorted.idxstats:md5,2c376fd533eaa5bfd321657e8cdfc9f1", + "Control_N1_mature_hairpin.sorted.flagstat:md5,94856ef0ef3e2944df1bddc31a118121", + "Clone1_N1_mature_hairpin.sorted.stats:md5,15987963f6d2a224565663ae49a2bb19", + "Control_N2_mature_hairpin.sorted.idxstats:md5,364ab0efe73b5369e362bf12ed738009", + "Control_N1_mature_hairpin.sorted.stats:md5,9eb22683401f87e60cbc0cc73b39b8b7", + "Clone1_N1_mature_hairpin.sorted.flagstat:md5,b2e8eb3b3d10a01a3794e2410c3ba270", + "Clone9_N1_mature_hairpin.sorted.flagstat:md5,718c6b942e1171211326118f4877c4ad", + "Clone1_N3_mature_hairpin.sorted.flagstat:md5,40449964287854e14984545f4007677c", + "Control_N2_mature_hairpin.sorted.flagstat:md5,886085252cd07b0bbe8073be4549c719", + "Control_N3_mature_hairpin.sorted.stats:md5,55cac79ae09a6147ffba190d6115bfa4", + "Control_N3_mature_hairpin.sorted.idxstats:md5,0981f7a524ff0036b2d77c97147f0f0e", + "Clone9_N3_mature_hairpin.sorted.stats:md5,e414a9e5b8a6e737cdd5aacaaaa40da8", + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:12:01.287451552" + }, + "mirna_quant_edger_qc": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:12:09.099429169" + }, + "fastqc_raw": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:12:13.908203185" + }, + "multiqc_multiqc_data": { + "content": [ + "fastqc-status-check-heatmap.txt:md5,30f55902420433a11971d36956e8576e", + "fastp_filtered_reads_plot.txt:md5,0af4d3cfbf463f33b2b88cdfd69909ac", + "fastqc_overrepresented_sequences_plot.txt:md5,d861a4a956a3023efa19b1259d8665b2", + true, + "fastqc_sequence_counts_plot-1.txt:md5,37d8ae6c5734eb2679e65e46c9af9101", + "mirtrace_complexity_plot.txt:md5,bb92ed0659dddb15d3e01686acef85b5", + "fastqc_per_sequence_gc_content_plot-1_Percentages.txt:md5,edf5130b48b0814788867dd42e9cf407", + "multiqc_citations.txt:md5,3adbccd17a42d0d5d97ee7ebb476f433", + true, + "fastqc_sequence_length_distribution_plot.txt:md5,13f72b3be854c74cd7b5176ca0583770", + "fastp-seq-content-n-plot_Read_1_Before_filtering.txt:md5,048e9b2293217ab8b47ba0113b83c76c", + "fastqc_sequence_duplication_levels_plot-1.txt:md5,06a4162d4787883b1f39a1b9acb7bb91", + "fastqc_per_base_sequence_quality_plot-1.txt:md5,6a0df664a369ee216412f0033ed3a042", + true, + "fastqc_per_base_n_content_plot-1.txt:md5,048e9b2293217ab8b47ba0113b83c76c", + "fastqc_per_base_n_content_plot.txt:md5,fb8a49467d1679dbf716e1f00c1f25e5", + "fastp-seq-quality-plot_Read_1_After_filtering.txt:md5,b1481a9fbf5ea541b39aed99b51d616f", + "fastqc_per_sequence_quality_scores_plot.txt:md5,38dbd6509de7f1beac17e44acb8336be", + "mirtrace_qc_plot.txt:md5,9036243402f6248214dc0458cb1291e9", + "fastqc_per_sequence_quality_scores_plot-1.txt:md5,69f4459318311103fe71a5d1d3b2c076", + "mirtrace_length_plot.txt:md5,86a0d54324cbe4817b112b02d4872cbb", + true, + "fastqc_overrepresented_sequences_plot-1.txt:md5,1de000de50cc7516bb9d996def14c6eb", + "fastqc-status-check-heatmap-1.txt:md5,e64c353797e6dc057d10b3194ca6b20d", + "fastqc_sequence_counts_plot.txt:md5,384516be5885fdeac59e70c17f1413c2", + "mirtrace_rna_categories_plot.txt:md5,9a57e6b3a3dd75906134030d25f6a7a9", + "fastp-seq-quality-plot_Read_1_Before_filtering.txt:md5,65685440fcb927115ac30b01133e2f92", + true, + "fastqc_per_base_sequence_quality_plot.txt:md5,80ea53d94917cadcb41f3fdb56cba014", + true, + "fastp-seq-content-n-plot_Read_1_After_filtering.txt:md5,048e9b2293217ab8b47ba0113b83c76c", + true, + true, + "fastqc_adapter_content_plot.txt:md5,86a0f478fd3e690ef5132d08bf4e7625", + "fastqc_sequence_duplication_levels_plot.txt:md5,88b0babe77f623547e8af664791ef2d0", + "fastqc_per_sequence_gc_content_plot_Percentages.txt:md5,539883757ae5bf731da93fe0568022e9", + "fastqc_per_sequence_gc_content_plot-1_Counts.txt:md5,ed7205b9c46d5f431c5b3bf499a673a1", + "fastqc_adapter_content_plot-1.txt:md5,71ba0983a71f3a833526ab83a985d072", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.txt:md5,a8387a3e6b350acd16bb0ed5a43949d8", + "fastqc_per_sequence_gc_content_plot_Counts.txt:md5,3e9c1a7204c12d9c1b3b53342cf61840", + true, + "fastp-seq-content-gc-plot_Read_1_After_filtering.txt:md5,efa8123c9ad43f99a6fba671f50322ca" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T15:19:17.521099383" + }, + "mirna_quant_seqcluster": { + "content": [ + "Control_N2.fastp_trimmed.fastq.gz:md5,d6e607edcb3d71c546ce8fdfb18e3999", + "Clone1_N3.fastp_trimmed.fastq.gz:md5,2e395240c74b3870efe03dc329d8bad8", + "Clone9_N3.fastp_trimmed.fastq.gz:md5,67cf9a7d2fa431f0e772391ed1651f93", + "Control_N1.fastp_trimmed.fastq.gz:md5,2f09082eb68a8f1dc308050e330887ec", + "Clone9_N2.fastp_trimmed.fastq.gz:md5,c922ec95a4b84d806dd2054ff0f9cab7", + "Clone1_N1.fastp_trimmed.fastq.gz:md5,14a2590e663dbde105780726c2173c25", + "Clone9_N1.fastp_trimmed.fastq.gz:md5,115cf0c346a93a47ba782c5724b4f090", + "Control_N3.fastp_trimmed.fastq.gz:md5,342368a6e6acdaf0ae9379676b6d07f0" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:11:53.094072398" + }, + "mirtrace_qc_passed_reads.rnatype_unknown.collapsed": { + "content": [ + "Clone1_N1.fastp.fasta:md5,ba5a705fbc7c4aadd259c29c3a443d97", + "Clone9_N1.fastp.fasta:md5,3e9a4ce784cbcdb946a3e271cc899da9", + "Control_N3.fastp.fasta:md5,850c3a525359f14ea488fcd0eedc2e36", + "Control_N1.fastp.fasta:md5,446f3452ffac337eb1afa5861c2ba94a", + "Clone9_N2.fastp.fasta:md5,168aa25977927be9480f9fe2399a82c7", + "Control_N2.fastp.fasta:md5,5018f8b15dbd524eb7dd0ce39e9b7101", + "Clone1_N3.fastp.fasta:md5,7a6c3163b377b25cf2886004ea9d4a73", + "Clone9_N3.fastp.fasta:md5,80a4b70ef276cf5628dfa2942c7e4988" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T15:19:14.421401668" + }, + "bowtie_index_mirna_mature": { + "content": [ + "fasta_bidx.4.ebwt:md5,62e35549f28a1a85ccaf35858b1726aa", + "fasta_bidx.rev.2.ebwt:md5,726c60d9a0108739ba9b61774bc39633", + "fasta_bidx.1.ebwt:md5,a2162fb747e95535ea5a67023b8961cf", + "fasta_bidx.2.ebwt:md5,876ebed9375cda6f248dfc940308fa5e", + "fasta_bidx.3.ebwt:md5,a6d3abdddbf80cb9b2c97bbd7bc1f084", + "fasta_bidx.rev.1.ebwt:md5,27578696198a61b0a3f783802823337e" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:14:19.484590232" + }, + "bowtie_index_mirna_hairpin": { + "content": [ + "fasta_bidx.2.ebwt:md5,9cf18dd788535404d7fd6a62450d2ce0", + "fasta_bidx.4.ebwt:md5,96e2e8ec9f02d324d845e0708ff4b552", + "fasta_bidx.1.ebwt:md5,9935201150ff358248380e07219fe093", + "fasta_bidx.3.ebwt:md5,cccaad86d0d5e5f3c1d4ca3a700ee980", + "fasta_bidx.rev.1.ebwt:md5,5e75ec9fb284ba316b3982a93f4ded49", + "fasta_bidx.rev.2.ebwt:md5,ba8e745f11b3d28240a78efd5bf2a7b0" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:14:39.888973685" + }, + "mirtrace_qc_passed_reads.all.collapsed": { + "content": [ + "Clone1_N1.fastp.fasta:md5,3761badda2e1c2dd2da3eb1bbfe6e1f8", + "Clone9_N1.fastp.fasta:md5,97310b5094e02329f412bae2657a2765", + "Control_N3.fastp.fasta:md5,f24ddebb1b012ec3817b88ff2e8989ea", + "Control_N1.fastp.fasta:md5,888c2e9639dd152d2f63e3c00019376b", + "Clone9_N2.fastp.fasta:md5,7f3879545cf3beb43af71ce83430abbf", + "Control_N2.fastp.fasta:md5,16e03efca3b17ec279658ad1556f52e4", + "Clone1_N3.fastp.fasta:md5,c6f029e821dceb6d60869a8f3e6e8198", + "Clone9_N3.fastp.fasta:md5,43d45f4416d0028f9adadd0f5ca44d9c" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T15:19:10.317601475" + }, + "mirna_quant_mirtop": { + "content": [ + true, + true, + "mirtop_rawData.tsv:md5,98c46ade3ba0b141f1306c1dbc9a3ff1", + "mirna.tsv:md5,01179dda321cf235df8c1fb72609ecb4", + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:12:05.154814163" + } +} diff --git a/tests/test_skipfastp.nf.test b/tests/test_skipfastp.nf.test new file mode 100644 index 00000000..7eae6e2c --- /dev/null +++ b/tests/test_skipfastp.nf.test @@ -0,0 +1,154 @@ + +nextflow_pipeline { + + name "Test Workflow main.nf - test_skipfastp" + script "main.nf" + profile "test_skipfastp" + tag "test_skipfastp" + tag "pipeline" + + test("test_skipfastp") { + + when { + params { + outdir = "$outputDir" + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot(UTILS.removeNextflowVersion("$outputDir")).match("software_versions") }, + { assert workflow.trace.succeeded().size() == 41 }, + + { assert snapshot( + path("$outputDir/mirna_quant/reference/hairpin.fa_igenome.fa"), + path("$outputDir/mirna_quant/reference/mature.fa_igenome.fa"), + path("$outputDir/mirna_quant/reference/hairpin.fa_igenome.fa_idx.fa"), + path("$outputDir/mirna_quant/reference/mature.fa_igenome.fa_idx.fa") + ).match("mirna_quant_reference") }, + + { assert snapshot( + path("$outputDir/mirna_quant/seqcluster/final/small_Clone1_N3.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/small_Clone1_N1.fastp_trimmed.fastq.gz") + ).match("mirna_quant_seqcluster") }, + + { assert snapshot( + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N3_mature_hairpin.sorted.idxstats") + ).match("mirna_quant_bam") }, + + { assert snapshot( + path("$outputDir/mirna_quant/mirtop/mirtop.tsv").exists(), + path("$outputDir/mirna_quant/mirtop/mirtop_rawData.tsv"), + path("$outputDir/mirna_quant/mirtop/mirtop.gff").exists(), + path("$outputDir/mirna_quant/mirtop/mirna.tsv"), + path("$outputDir/mirna_quant/mirtop/stats/mirtop_stats.txt").exists() + ).match("mirna_quant_mirtop") }, + + { assert snapshot( + path("$outputDir/mirna_quant/edger_qc/hairpin_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_unmapped_read_counts.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_normalized_CPM.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_unmapped_read_counts.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_normalized_CPM.txt").exists() + ).match("mirna_quant_edger_qc") }, + + { assert snapshot( + path("$outputDir/fastqc/raw/Clone1_N1.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/Clone1_N3.raw_fastqc.zip").exists() + ).match("fastqc_raw") }, + + { assert snapshot( + path("$outputDir/mirtrace/mirtrace-stats-contamination_basic.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-rnatype.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-phred.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-contamination_detailed.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-length.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-qcstatus.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-mirna-complexity.tsv") + ).match("mirtrace") }, + + { assert snapshot( + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/small_Clone1_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/small_Clone1_N1.fastp.fasta") + ).match("mirtrace_qc_passed_reads.all.collapsed") }, + + { assert snapshot( + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/small_Clone1_N3.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/small_Clone1_N1.fastp.fasta") + ).match("mirtrace_qc_passed_reads.rnatype_unknown.collapsed") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.2.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.1.ebwt") + ).match("bowtie_index_mirna_hairpin") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.1.ebwt") + ).match("bowtie_index_mirna_mature") }, + + { assert snapshot( + path("$outputDir/multiqc/multiqc_data/fastqc-status-check-heatmap.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_overrepresented_sequences_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_complexity_plot.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_citations.txt"), + path("$outputDir/multiqc/multiqc_data/samtools-stats-dp.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_length_distribution_plot.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_general_stats.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_n_content_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_quality_scores_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_qc_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_length_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_top_overrepresented_sequences_table.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_counts_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_rna_categories_plot.txt"), + path("$outputDir/multiqc/multiqc_data/samtools_alignment_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_sequence_quality_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtop_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/mirtop_unique_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/mirtop_mean_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_duplication_levels_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot_Percentages.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot_Counts.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_sources.txt").exists() + ).match("multiqc_multiqc_data") }, + + ) + } + + } + +} diff --git a/tests/test_skipfastp.nf.test.snap b/tests/test_skipfastp.nf.test.snap new file mode 100644 index 00000000..0b5df662 --- /dev/null +++ b/tests/test_skipfastp.nf.test.snap @@ -0,0 +1,209 @@ +{ + "mirtrace": { + "content": [ + "mirtrace-stats-contamination_basic.tsv:md5,af4ef7d436a78b63ebbdbd5736757736", + "mirtrace-stats-rnatype.tsv:md5,c7cb1b388ecd16ae79e1ebdf8d896342", + "mirtrace-stats-phred.tsv:md5,a56d0e1fd11b9284b9705bed63b30c02", + "mirtrace-stats-contamination_detailed.tsv:md5,4aa73df82130f7cf2d056b4c61cd9d2a", + "mirtrace-stats-length.tsv:md5,48e4ec1a5572c2f4f58355125b95f614", + "mirtrace-stats-qcstatus.tsv:md5,9f8357437ea532505d3f3a461be476b0", + "mirtrace-stats-mirna-complexity.tsv:md5,761ad553ef141cb5f7845cf476b323d9" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:39.961892895" + }, + "mirna_quant_reference": { + "content": [ + "hairpin.fa_igenome.fa:md5,5fb538f60d5288846600dba31010251e", + "mature.fa_igenome.fa:md5,ef4cabcbea05adf334ba6891a50c951a", + "hairpin.fa_igenome.fa_idx.fa:md5,482b0327b0c1e36748c1ee3d3be9be77", + "mature.fa_igenome.fa_idx.fa:md5,ef4cabcbea05adf334ba6891a50c951a" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:35.976877813" + }, + "software_versions": { + "content": [ + "{BOWTIE_MAP_HAIRPIN={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_MATURE={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_SEQCLUSTER={bowtie=1.3.1, samtools=1.14}, FASTQC_RAW={fastqc=0.12.1}, FORMAT_HAIRPIN={fastx_toolkit=0.0.14}, FORMAT_MATURE={fastx_toolkit=0.0.14}, INDEX_HAIRPIN={bowtie=1.3.1}, INDEX_MATURE={bowtie=1.3.1}, MIRTOP_QUANT={mirtop=0.4.25}, MIRTRACE_RUN={mirtrace=1.0.1}, PARSE_HAIRPIN={seqkit=2.6.1}, PARSE_MATURE={seqkit=2.6.1}, 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}, SEQCLUSTER_SEQUENCES={seqcluster=1.2.9}, TABLE_MERGE={r-base=3.6.2}, Workflow={nf-core/smrnaseq=v2.3.2dev}}" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:35.931631908" + }, + "mirna_quant_bam": { + "content": [ + true, + true, + true, + true, + "Clone1_N3_mature.sorted.stats:md5,e028b49e804c55056fca34090cd3d836", + "Clone1_N1_mature.sorted.stats:md5,ae056e94e36c06b35913ae8f9268a473", + "Clone1_N1_mature.sorted.idxstats:md5,4c3722c4eee312a587e3aea26d240696", + "Clone1_N3_mature.sorted.idxstats:md5,bde0293f0938a8a074ad3ac633d8cb73", + "Clone1_N3_mature.sorted.flagstat:md5,9e287eb7ac83624b262864d0255217fd", + "Clone1_N1_mature.sorted.flagstat:md5,f8dd1a5032573e17558964260346c6be", + true, + true, + true, + true, + "Clone1_N1_mature_hairpin.sorted.flagstat:md5,883a0e9f52c4c876ef9847daa63ec0de", + "Clone1_N3_mature_hairpin.sorted.stats:md5,4fbda712e789f98124583069f4f35187", + "Clone1_N1_mature_hairpin.sorted.stats:md5,6f355f21f06071dd5751491a9eb355ef", + "Clone1_N1_mature_hairpin.sorted.idxstats:md5,6601b61f1c8a343ba901f328eb2499ed", + "Clone1_N3_mature_hairpin.sorted.flagstat:md5,1630edf055b591303d7c68d013745938", + "Clone1_N3_mature_hairpin.sorted.idxstats:md5,b44fb26f6be2accc7d52bc38efff69f4" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:37.163599805" + }, + "mirna_quant_edger_qc": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:38.608879537" + }, + "fastqc_raw": { + "content": [ + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:39.284103338" + }, + "multiqc_multiqc_data": { + "content": [ + "fastqc-status-check-heatmap.txt:md5,a16737b9ae7b9b70b0ef7e462101a729", + "fastqc_overrepresented_sequences_plot.txt:md5,0cacfefcbc37b292ae21564f845dfaa6", + "mirtrace_complexity_plot.txt:md5,8c3fae2d2b8fbbe922efd861b8675805", + "multiqc_citations.txt:md5,f46d2983044658a4a89bdec5ba20fda3", + true, + "fastqc_sequence_length_distribution_plot.txt:md5,ff2def0eab8321d4ed590b483641f43b", + true, + "fastqc_per_base_n_content_plot.txt:md5,c345fe5430e3a17ad1dbcc14e7595f50", + "fastqc_per_sequence_quality_scores_plot.txt:md5,edf4d21e2928d37d94bb33a25e1d92a6", + "mirtrace_qc_plot.txt:md5,82c1758d3f20a3e58eff3ebd456ee2f1", + "mirtrace_length_plot.txt:md5,69721d1a60f4a055da2bf091cedd48b3", + true, + "fastqc_sequence_counts_plot.txt:md5,da84941084250726e3828e8908640f8b", + "mirtrace_rna_categories_plot.txt:md5,bf50773cc4c0a82a0dd5b4fe91471062", + true, + "fastqc_per_base_sequence_quality_plot.txt:md5,60f539c88c503680c0b2603749494948", + true, + true, + true, + "fastqc_sequence_duplication_levels_plot.txt:md5,7e7eb4105b8f963bdf68e422e4ebce67", + "fastqc_per_sequence_gc_content_plot_Percentages.txt:md5,7ac995de6a861676f64879b02d04f819", + "fastqc_per_sequence_gc_content_plot_Counts.txt:md5,c18bf431a08ec1230720d83781e8903b", + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:47.048873684" + }, + "mirna_quant_seqcluster": { + "content": [ + "small_Clone1_N3.fastp_trimmed.fastq.gz:md5,1bd799775d6913d60e51dcbf50c39c62", + "small_Clone1_N1.fastp_trimmed.fastq.gz:md5,21c736de10e306f14ec296eaeb38ef45" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:36.043210366" + }, + "mirtrace_qc_passed_reads.rnatype_unknown.collapsed": { + "content": [ + "small_Clone1_N3.fastp.fasta:md5,ca465c7e3c2aabe56f579fd01e091171", + "small_Clone1_N1.fastp.fasta:md5,293e3a6812111905c073f15fb0fa2169" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:42.273316368" + }, + "bowtie_index_mirna_mature": { + "content": [ + "fasta_bidx.2.ebwt:md5,778bd05aa462c2119736f9a4056bc41f", + "fasta_bidx.1.ebwt:md5,11a2f568aa785d32246cb8ce1aa8add4", + "fasta_bidx.4.ebwt:md5,78260e9dde22d8f31622c77d71bbb605", + "fasta_bidx.3.ebwt:md5,7aeccc6ec919ce1cfcd2b1e40be743fe", + "fasta_bidx.rev.2.ebwt:md5,ab52bc362b4c382cf213a71219e9efee", + "fasta_bidx.rev.1.ebwt:md5,0520d43b6b75328f3c30254a2d6baa18" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:45.344599116" + }, + "bowtie_index_mirna_hairpin": { + "content": [ + "fasta_bidx.3.ebwt:md5,5c60180e2f6fc2e0c399f10b9f9bbee2", + "fasta_bidx.2.ebwt:md5,6d99166d1a8a7a1bbf262e89db218278", + "fasta_bidx.1.ebwt:md5,40c2c142e094ab5ea531a0564ad62cee", + "fasta_bidx.rev.2.ebwt:md5,4270939b810aa3f461bacee1edc993aa", + "fasta_bidx.4.ebwt:md5,c3d4dbfbb587261ddf29e906029c10b1", + "fasta_bidx.rev.1.ebwt:md5,4532fb1426b29163b23702c8daf84d62" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:43.962724258" + }, + "mirtrace_qc_passed_reads.all.collapsed": { + "content": [ + "small_Clone1_N3.fastp.fasta:md5,c56851cf67339ed86f852a0f93bfe410", + "small_Clone1_N1.fastp.fasta:md5,980a9ce357496d7c12d598270ccfedcd" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:40.647810605" + }, + "mirna_quant_mirtop": { + "content": [ + true, + "mirtop_rawData.tsv:md5,847886d65be061e26b73aa42115c5be3", + true, + "mirna.tsv:md5,b26e9f5d7535104500e85673b97182a2", + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-26T13:38:37.883500873" + } +} \ No newline at end of file diff --git a/tests/test_technical_repeats.nf.test b/tests/test_technical_repeats.nf.test new file mode 100644 index 00000000..9ee71761 --- /dev/null +++ b/tests/test_technical_repeats.nf.test @@ -0,0 +1,170 @@ + +nextflow_pipeline { + + name "Test Workflow main.nf - test_technical_repeats" + script "main.nf" + profile "test_technical_repeats" + tag "test_technical_repeats" + tag "pipeline" + + test("test_technical_repeats") { + + when { + params { + outdir = "$outputDir" + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot(UTILS.removeNextflowVersion("$outputDir")).match("software_versions") }, + { assert workflow.trace.succeeded().size() == 75 }, + + { assert snapshot( + path("$outputDir/bowtie_index/genome/genome.rev.2.ebwt"), + path("$outputDir/bowtie_index/genome/genome.2.ebwt"), + path("$outputDir/bowtie_index/genome/genome.1.ebwt"), + path("$outputDir/bowtie_index/genome/genome.3.ebwt"), + path("$outputDir/bowtie_index/genome/genome.4.ebwt"), + path("$outputDir/bowtie_index/genome/genome.rev.1.ebwt"), + path("$outputDir/bowtie_index/genome/genome.edited.fa") + ).match("bowtie_index_genome") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.1.ebwt") + ).match("bowtie_index_mirna_mature") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.2.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.1.ebwt") + ).match("bowtie_index_mirna_hairpin") }, + + { assert snapshot( + path("$outputDir/mirna_quant/reference/mature.fa_igenome.fa"), + path("$outputDir/mirna_quant/reference/hairpin.fa_igenome.fa"), + path("$outputDir/mirna_quant/reference/mature.fa_igenome.fa_idx.fa"), + path("$outputDir/mirna_quant/reference/hairpin.fa_igenome.fa_idx.fa") + ).match("mirna_quant_reference") }, + + { assert snapshot( + path("$outputDir/mirna_quant/seqcluster/final/Clone9_N3.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Control_N1.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/Clone1_N1.fastp_trimmed.fastq.gz") + ).match("mirna_quant_seqcluster") }, + + { assert snapshot( + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Control_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/Clone9_N3_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/Clone1_N1_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Clone1_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Clone9_N3_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/Control_N1_mature_hairpin.sorted.stats") + ).match("mirna_quant_bam") }, + + { assert snapshot( + path("$outputDir/mirna_quant/mirtop/mirtop.gff").exists(), + path("$outputDir/mirna_quant/mirtop/mirtop.tsv").exists(), + path("$outputDir/mirna_quant/mirtop/mirtop_rawData.tsv"), + path("$outputDir/mirna_quant/mirtop/mirna.tsv"), + path("$outputDir/mirna_quant/mirtop/stats/mirtop_stats.txt").exists() + ).match("mirna_quant_mirtop") }, + + { assert snapshot( + path("$outputDir/mirna_quant/edger_qc/hairpin_edgeR_MDS_plot_coordinates.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_log2CPM_sample_distances.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_edgeR_MDS_distance_matrix.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_unmapped_read_counts.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_edgeR_MDS_plot_coordinates.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_log2CPM_sample_distances.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_edgeR_MDS_distance_matrix.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_normalized_CPM.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_unmapped_read_counts.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_normalized_CPM.txt").exists() + ).match("mirna_quant_edger_qc") }, + + { assert snapshot( + path("$outputDir/mirtrace/mirtrace-stats-contamination_basic.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-length.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-qcstatus.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-contamination_detailed.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-phred.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-mirna-complexity.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-rnatype.tsv") + ).match("mirtrace") }, + + { assert snapshot( + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone1_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Control_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/Clone9_N3.fastp.fasta") + ).match("mirtrace_qc_passed_reads.rnatype_unknown.collapsed") }, + + { assert snapshot( + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone1_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Control_N1.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/Clone9_N3.fastp.fasta") + ).match("mirtrace_qc_passed_reads.all.collapsed") }, + + { assert snapshot( + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/Clone9_N3_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Control_N1_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/Clone1_N1_mature_hairpin_genome.sorted.stats") + ).match("genome_quant_bam") }, + + ) + } + + } + +} diff --git a/tests/test_technical_repeats.nf.test.snap b/tests/test_technical_repeats.nf.test.snap new file mode 100644 index 00000000..7472e123 --- /dev/null +++ b/tests/test_technical_repeats.nf.test.snap @@ -0,0 +1,225 @@ +{ + "bowtie_index_genome": { + "content": [ + "genome.rev.2.ebwt:md5,65f054c598e3e9fdd33cb22c9f8f8ca5", + "genome.2.ebwt:md5,8f007efb2d23e46035cc47340c4d981e", + "genome.1.ebwt:md5,1bfbf95848b5a2e8a786d0a2c1054bbb", + "genome.3.ebwt:md5,caf97e67055e1b465e933214d0168e68", + "genome.4.ebwt:md5,87ff9d3ef8b55f845a9205a19c729f1c", + "genome.rev.1.ebwt:md5,3275dafaca50d8cafde473b54e9ebbff", + "genome.edited.fa:md5,5aaada29b1c575230fa1b7c3bd4d76db" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:46:13.581428038" + }, + "mirtrace": { + "content": [ + "mirtrace-stats-contamination_basic.tsv:md5,e27f51e118896c51ffcf4e6876da32c3", + "mirtrace-stats-length.tsv:md5,7b3a33f0237c050b43dff34b52edbbf2", + "mirtrace-stats-qcstatus.tsv:md5,9ebba807d2ef929bb0bd9029847571a8", + "mirtrace-stats-contamination_detailed.tsv:md5,2f3b3fd832e8c09fc4be81957b259e31", + "mirtrace-stats-phred.tsv:md5,e2cedb9d91521823c648365dd6606f4a", + "mirtrace-stats-mirna-complexity.tsv:md5,39d7405425c3db8faa3514fb33a81492", + "mirtrace-stats-rnatype.tsv:md5,b2a56404c01c0b44b20a03c50285cc2d" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-26T15:36:54.667308127" + }, + "mirna_quant_reference": { + "content": [ + "mature.fa_igenome.fa:md5,ef4cabcbea05adf334ba6891a50c951a", + "hairpin.fa_igenome.fa:md5,5fb538f60d5288846600dba31010251e", + "mature.fa_igenome.fa_idx.fa:md5,ef4cabcbea05adf334ba6891a50c951a", + "hairpin.fa_igenome.fa_idx.fa:md5,482b0327b0c1e36748c1ee3d3be9be77" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:46:15.806837441" + }, + "software_versions": { + "content": [ + "{BOWTIE_MAP_GENOME={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_HAIRPIN={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_MATURE={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_SEQCLUSTER={bowtie=1.3.1, samtools=1.14}, CAT_FASTQ={cat=8.3}, FASTP={fastp=0.23.4}, FORMAT_HAIRPIN={fastx_toolkit=0.0.14}, FORMAT_MATURE={fastx_toolkit=0.0.14}, INDEX_GENOME={bowtie=1.3.1}, INDEX_HAIRPIN={bowtie=1.3.1}, INDEX_MATURE={bowtie=1.3.1}, MIRTOP_QUANT={mirtop=0.4.25}, MIRTRACE_RUN={mirtrace=1.0.1}, PARSE_HAIRPIN={seqkit=2.6.1}, PARSE_MATURE={seqkit=2.6.1}, 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}, SEQCLUSTER_SEQUENCES={seqcluster=1.2.9}, TABLE_MERGE={r-base=3.6.2}, Workflow={nf-core/smrnaseq=v2.3.2dev}}" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:46:13.562052669" + }, + "mirna_quant_bam": { + "content": [ + true, + true, + true, + true, + true, + true, + "Control_N1_mature.sorted.idxstats:md5,8e96945e95b03c3c33867c98dece1e4e", + "Clone9_N3_mature.sorted.stats:md5,4fe47f64e7bdd0e1efeaa8271e92000a", + "Clone9_N3_mature.sorted.flagstat:md5,bbb6bc880f6fc9424fc16b095af752b9", + "Clone1_N1_mature.sorted.idxstats:md5,f80f8349d8a814e8f67ef4c30e2f6a53", + "Control_N1_mature.sorted.flagstat:md5,f10e74138d682fed95c076112b7f9236", + "Control_N1_mature.sorted.stats:md5,9abec7b88211f78d0e743dbedb1e1125", + "Clone1_N1_mature.sorted.flagstat:md5,e6adf8d4926033f9ae6a0d5ab42bd267", + "Clone9_N3_mature.sorted.idxstats:md5,f92b6bdb8bf206757d8e2733f60f3c1b", + "Clone1_N1_mature.sorted.stats:md5,edfa6dab3271e66f743da2aca3ea7663", + true, + true, + true, + true, + true, + true, + "Control_N1_mature_hairpin.sorted.idxstats:md5,2bb41d5a20116c7457ef45c1b294d22d", + "Clone1_N1_mature_hairpin.sorted.stats:md5,3fc6353abadc1c6e2687bc7a081f93a2", + "Clone9_N3_mature_hairpin.sorted.stats:md5,52d607b29c6fae0a72cb55b83a5d550f", + "Clone1_N1_mature_hairpin.sorted.idxstats:md5,f2a16cf301d8cfd5f9f99edb610705c7", + "Clone1_N1_mature_hairpin.sorted.flagstat:md5,f6d7848cf9c70cd3469ce1944d17be3c", + "Clone9_N3_mature_hairpin.sorted.flagstat:md5,79f3d50c45d9aa0d2525f5f1411e8dd5", + "Clone9_N3_mature_hairpin.sorted.idxstats:md5,98db6ef38c05a65ee7ef5a7520f4f51c", + "Control_N1_mature_hairpin.sorted.flagstat:md5,e727c4751070cf76ebfd484c0e37d990", + "Control_N1_mature_hairpin.sorted.stats:md5,41ed031d9ee3d775fab782beea7c2c5e" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:46:21.464382003" + }, + "mirna_quant_edger_qc": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:46:25.460442833" + }, + "mirna_quant_seqcluster": { + "content": [ + "Clone9_N3.fastp_trimmed.fastq.gz:md5,abb626ba9f41ef35a3684d2b5b4f2c4f", + "Control_N1.fastp_trimmed.fastq.gz:md5,8d0676323aa9e84556cdf209db92b6ed", + "Clone1_N1.fastp_trimmed.fastq.gz:md5,1ce9b5ab0591aa067c0bcfbc4852cd19" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:46:16.233566379" + }, + "mirtrace_qc_passed_reads.rnatype_unknown.collapsed": { + "content": [ + "Clone1_N1.fastp.fasta:md5,869717d19534f6f89aa43bcad6256603", + "Control_N1.fastp.fasta:md5,35910fa3cfd3956634f562d31dfc92b1", + "Clone9_N3.fastp.fasta:md5,9c00a9ad6365891b828f381baf600c31" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-26T15:36:55.12102921" + }, + "genome_quant_bam": { + "content": [ + true, + true, + true, + true, + true, + true, + "Control_N1_mature_hairpin_genome.sorted.idxstats:md5,6f43b2104f522103671ce78dc7d75b6d", + "Clone1_N1_mature_hairpin_genome.sorted.flagstat:md5,1d56901f0754350ee0925cff76bee6d1", + "Clone1_N1_mature_hairpin_genome.sorted.idxstats:md5,f6408e25770f9a8530126900c314332f", + "Clone9_N3_mature_hairpin_genome.sorted.flagstat:md5,50eb08817350b22dbe99bcc3dc7f2a38", + "Clone9_N3_mature_hairpin_genome.sorted.idxstats:md5,6561bdbc8589548d965823d7f43dee39", + "Control_N1_mature_hairpin_genome.sorted.flagstat:md5,41e0b4dc62f9b8779534d67630ea6ab6", + "Clone9_N3_mature_hairpin_genome.sorted.stats:md5,872a90aca4d070f9403ae86b42666e2c", + "Control_N1_mature_hairpin_genome.sorted.stats:md5,97f2c3ceb62b98d9169b226e954a1150", + "Clone1_N1_mature_hairpin_genome.sorted.stats:md5,964b1ec118f45c5cb9443efc996b4b3e" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:46:40.306842994" + }, + "bowtie_index_mirna_mature": { + "content": [ + "fasta_bidx.1.ebwt:md5,11a2f568aa785d32246cb8ce1aa8add4", + "fasta_bidx.3.ebwt:md5,7aeccc6ec919ce1cfcd2b1e40be743fe", + "fasta_bidx.2.ebwt:md5,778bd05aa462c2119736f9a4056bc41f", + "fasta_bidx.4.ebwt:md5,78260e9dde22d8f31622c77d71bbb605", + "fasta_bidx.rev.2.ebwt:md5,ab52bc362b4c382cf213a71219e9efee", + "fasta_bidx.rev.1.ebwt:md5,0520d43b6b75328f3c30254a2d6baa18" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:46:15.08875065" + }, + "bowtie_index_mirna_hairpin": { + "content": [ + "fasta_bidx.2.ebwt:md5,6d99166d1a8a7a1bbf262e89db218278", + "fasta_bidx.1.ebwt:md5,40c2c142e094ab5ea531a0564ad62cee", + "fasta_bidx.3.ebwt:md5,5c60180e2f6fc2e0c399f10b9f9bbee2", + "fasta_bidx.4.ebwt:md5,c3d4dbfbb587261ddf29e906029c10b1", + "fasta_bidx.rev.2.ebwt:md5,4270939b810aa3f461bacee1edc993aa", + "fasta_bidx.rev.1.ebwt:md5,4532fb1426b29163b23702c8daf84d62" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:46:15.464105137" + }, + "mirtrace_qc_passed_reads.all.collapsed": { + "content": [ + "Clone1_N1.fastp.fasta:md5,1c1c8ceb14bafb43548abca69e61ffa0", + "Control_N1.fastp.fasta:md5,643d639fc1a56f2fa7616a1ba8b8dd22", + "Clone9_N3.fastp.fasta:md5,b0d3a983db699e9c429012a02de33268" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-26T15:36:56.134008484" + }, + "mirna_quant_mirtop": { + "content": [ + true, + true, + "mirtop_rawData.tsv:md5,edae282cde52e6b60d42962479866cb3", + "mirna.tsv:md5,b884a1dadb2a803fc3838f124695c68c", + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:46:23.48304173" + } +} \ No newline at end of file diff --git a/tests/test_umi.nf.test b/tests/test_umi.nf.test new file mode 100644 index 00000000..e8d3bdfa --- /dev/null +++ b/tests/test_umi.nf.test @@ -0,0 +1,222 @@ + +nextflow_pipeline { + + name "Test Workflow main.nf - test_umi" + script "main.nf" + profile "test_umi" + tag "test_umi" + tag "pipeline" + + test("test_umi") { + + when { + params { + outdir = "$outputDir" + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot(UTILS.removeNextflowVersion("$outputDir")).match("software_versions") }, + { assert workflow.trace.succeeded().size() == 64 }, + + { assert snapshot( + path("$outputDir/bowtie_index/genome/genome.1.ebwt"), + path("$outputDir/bowtie_index/genome/genome.4.ebwt"), + path("$outputDir/bowtie_index/genome/genome.edited.fa"), + path("$outputDir/bowtie_index/genome/genome.rev.2.ebwt"), + path("$outputDir/bowtie_index/genome/genome.rev.1.ebwt"), + path("$outputDir/bowtie_index/genome/genome.2.ebwt"), + path("$outputDir/bowtie_index/genome/genome.3.ebwt") + ).match("bowtie_index_genome") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.3.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.1.ebwt"), + path("$outputDir/bowtie_index/mirna_hairpin/fasta_bidx.rev.2.ebwt") + ).match("bowtie_index_mirna_hairpin") }, + + { assert snapshot( + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.4.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.2.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.1.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.rev.1.ebwt"), + path("$outputDir/bowtie_index/mirna_mature/fasta_bidx.3.ebwt") + ).match("bowtie_index_mirna_mature") }, + + { assert snapshot( + path("$outputDir/fastqc/raw/SRX8195118_SRR11631014.raw_fastqc.zip").exists(), + path("$outputDir/fastqc/raw/SRX8195117_SRR11631013.raw_fastqc.zip").exists() + ).match("fastqc_raw") }, + + { assert snapshot( + path("$outputDir/fastqc/trimmed/SRX8195118_SRR11631014.trim_fastqc.zip").exists(), + path("$outputDir/fastqc/trimmed/SRX8195117_SRR11631013.trim_fastqc.zip").exists() + ).match("fastqc_trimmed") }, + + { assert snapshot( + path("$outputDir/umi_dedup/bam_deduplicated/SRX8195118_SRR11631014.umi_dedup.sorted.fastq.gz"), + path("$outputDir/umi_dedup/bam_deduplicated/SRX8195117_SRR11631013.umi_dedup.sorted.fastq.gz") + ).match("umi_dedup_bam_deduplicated") }, + + { assert snapshot( + path("$outputDir/umi_dedup/fastq_extracted_umi/SRX8195118_SRR11631014.umi_extract.fastq.gz"), + path("$outputDir/umi_dedup/fastq_extracted_umi/SRX8195117_SRR11631013.umi_extract.fastq.gz") + ).match("umi_dedup_fastq_extracted_umi") }, + + { assert snapshot( + path("$outputDir/mirna_quant/reference/hairpin.fa_igenome.fa"), + path("$outputDir/mirna_quant/reference/hairpin.fa_igenome.fa_idx.fa"), + path("$outputDir/mirna_quant/reference/mature.fa_igenome.fa"), + path("$outputDir/mirna_quant/reference/mature.fa_igenome.fa_idx.fa") + ).match("mirna_quant_reference") }, + + { assert snapshot( + path("$outputDir/mirna_quant/seqcluster/final/SRX8195118_SRR11631014.fastp_trimmed.fastq.gz"), + path("$outputDir/mirna_quant/seqcluster/final/SRX8195117_SRR11631013.fastp_trimmed.fastq.gz") + ).match("mirna_quant_seqcluster") }, + + { assert snapshot( + path("$outputDir/mirna_quant/bam/mature/SRX8195117_SRR11631013_mature.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/SRX8195118_SRR11631014_mature.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/SRX8195118_SRR11631014_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/SRX8195117_SRR11631013_mature.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/mature/SRX8195118_SRR11631014_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/SRX8195117_SRR11631013_mature.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/mature/SRX8195117_SRR11631013_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/SRX8195117_SRR11631013_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/SRX8195117_SRR11631013_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/SRX8195118_SRR11631014_mature.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/mature/SRX8195118_SRR11631014_mature.sorted.stats"), + path("$outputDir/mirna_quant/bam/mature/SRX8195118_SRR11631014_mature.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/mature/unmapped/SRX8195118_SRR11631014_mature_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/mature/unmapped/SRX8195117_SRR11631013_mature_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/SRX8195118_SRR11631014_seqcluster.bam").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/SRX8195117_SRR11631013_seqcluster.bam").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/unmapped/SRX8195118_SRR11631014_seqcluster_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/seqcluster/unmapped/SRX8195117_SRR11631013_seqcluster_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/hairpin/SRX8195118_SRR11631014_mature_hairpin.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/SRX8195117_SRR11631013_mature_hairpin.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/SRX8195118_SRR11631014_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/SRX8195117_SRR11631013_mature_hairpin.sorted.bam").exists(), + path("$outputDir/mirna_quant/bam/hairpin/SRX8195118_SRR11631014_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/SRX8195117_SRR11631013_mature_hairpin.sorted.bam.bai").exists(), + path("$outputDir/mirna_quant/bam/hairpin/SRX8195117_SRR11631013_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/SRX8195117_SRR11631013_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/SRX8195118_SRR11631014_mature_hairpin.sorted.idxstats"), + path("$outputDir/mirna_quant/bam/hairpin/SRX8195118_SRR11631014_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/SRX8195117_SRR11631013_mature_hairpin.sorted.stats"), + path("$outputDir/mirna_quant/bam/hairpin/SRX8195118_SRR11631014_mature_hairpin.sorted.flagstat"), + path("$outputDir/mirna_quant/bam/hairpin/unmapped/SRX8195118_SRR11631014_mature_hairpin_unmapped.fq.gz").exists(), + path("$outputDir/mirna_quant/bam/hairpin/unmapped/SRX8195117_SRR11631013_mature_hairpin_unmapped.fq.gz").exists() + ).match("mirna_quant_bam") }, + + { assert snapshot( + path("$outputDir/mirna_quant/mirtop/mirtop.gff").exists(), + path("$outputDir/mirna_quant/mirtop/mirtop.tsv").exists(), + path("$outputDir/mirna_quant/mirtop/mirtop_rawData.tsv"), + path("$outputDir/mirna_quant/mirtop/mirna.tsv"), + path("$outputDir/mirna_quant/mirtop/stats/mirtop_stats.txt").exists() + ).match("mirna_quant_mirtop") }, + + { assert snapshot( + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_counts.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_normalized_CPM.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_unmapped_read_counts.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/hairpin_logtpm.csv").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_logtpm.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_unmapped_read_counts.txt").exists(), + path("$outputDir/mirna_quant/edger_qc/mature_normalized_CPM.txt").exists() + ).match("mirna_quant_edger_qc") }, + + { assert snapshot( + path("$outputDir/mirtrace/mirtrace-stats-contamination_detailed.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-mirna-complexity.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-length.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-contamination_basic.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-qcstatus.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-phred.tsv"), + path("$outputDir/mirtrace/mirtrace-stats-rnatype.tsv") + ).match("mirtrace") }, + + { assert snapshot( + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/SRX8195118_SRR11631014.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.all.collapsed/SRX8195117_SRR11631013.fastp.fasta") + ).match("mirtrace_qc_passed_reads.all.collapsed") }, + + { assert snapshot( + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/SRX8195118_SRR11631014.fastp.fasta"), + path("$outputDir/mirtrace/qc_passed_reads.rnatype_unknown.collapsed/SRX8195117_SRR11631013.fastp.fasta") + ).match("mirtrace_qc_passed_reads.rnatype_unknown.collapsed") }, + + { assert snapshot( + path("$outputDir/genome_quant/bam/SRX8195118_SRR11631014_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/SRX8195117_SRR11631013_mature_hairpin_genome.sorted.bam").exists(), + path("$outputDir/genome_quant/bam/SRX8195118_SRR11631014_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/SRX8195117_SRR11631013_mature_hairpin_genome.sorted.bam.bai").exists(), + path("$outputDir/genome_quant/bam/SRX8195118_SRR11631014_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/SRX8195117_SRR11631013_mature_hairpin_genome.sorted.flagstat"), + path("$outputDir/genome_quant/bam/SRX8195118_SRR11631014_mature_hairpin_genome.sorted.idxstats"), + path("$outputDir/genome_quant/bam/SRX8195118_SRR11631014_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/SRX8195117_SRR11631013_mature_hairpin_genome.sorted.stats"), + path("$outputDir/genome_quant/bam/SRX8195117_SRR11631013_mature_hairpin_genome.sorted.idxstats") + ).match("genome_quant_bam") }, + + { assert snapshot( + path("$outputDir/multiqc/multiqc_data/fastqc-status-check-heatmap.txt"), + path("$outputDir/multiqc/multiqc_data/fastp_filtered_reads_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_top_overrepresented_sequences_table-1.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_counts_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_complexity_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot-1_Percentages.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_citations.txt"), + path("$outputDir/multiqc/multiqc_data/samtools-stats-dp.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_length_distribution_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-n-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_duplication_levels_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_sequence_quality_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_general_stats.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_n_content_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_n_content_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-quality-plot_Read_1_After_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_quality_scores_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_qc_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_quality_scores_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_length_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_top_overrepresented_sequences_table.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc-status-check-heatmap-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_counts_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtrace_rna_categories_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-quality-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/samtools_alignment_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastqc_per_base_sequence_quality_plot.txt"), + path("$outputDir/multiqc/multiqc_data/mirtop_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-n-plot_Read_1_After_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/mirtop_unique_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/mirtop_mean_read_count_plot.txt").exists(), + path("$outputDir/multiqc/multiqc_data/mirtrace_contamination_check_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_adapter_content_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_sequence_duplication_levels_plot.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot_Percentages.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot-1_Counts.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_adapter_content_plot-1.txt"), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-gc-plot_Read_1_Before_filtering.txt"), + path("$outputDir/multiqc/multiqc_data/fastqc_per_sequence_gc_content_plot_Counts.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_sources.txt").exists(), + path("$outputDir/multiqc/multiqc_data/fastp-seq-content-gc-plot_Read_1_After_filtering.txt") + ).match("multiqc_multiqc_data") }, + + ) + } + + } + +} diff --git a/tests/test_umi.nf.test.snap b/tests/test_umi.nf.test.snap new file mode 100644 index 00000000..df5aaa96 --- /dev/null +++ b/tests/test_umi.nf.test.snap @@ -0,0 +1,307 @@ +{ + "fastqc_trimmed": { + "content": [ + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:18.564529159" + }, + "bowtie_index_genome": { + "content": [ + "genome.1.ebwt:md5,1bfbf95848b5a2e8a786d0a2c1054bbb", + "genome.4.ebwt:md5,87ff9d3ef8b55f845a9205a19c729f1c", + "genome.edited.fa:md5,5aaada29b1c575230fa1b7c3bd4d76db", + "genome.rev.2.ebwt:md5,65f054c598e3e9fdd33cb22c9f8f8ca5", + "genome.rev.1.ebwt:md5,3275dafaca50d8cafde473b54e9ebbff", + "genome.2.ebwt:md5,8f007efb2d23e46035cc47340c4d981e", + "genome.3.ebwt:md5,caf97e67055e1b465e933214d0168e68" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:16.64670185" + }, + "mirtrace": { + "content": [ + "mirtrace-stats-contamination_detailed.tsv:md5,4015530b4d5935b241eb70bf0c51dfad", + "mirtrace-stats-mirna-complexity.tsv:md5,9ed7b0c56b5fe2913cadf9a47f2d4731", + "mirtrace-stats-length.tsv:md5,b9f57e2e6c950a065a28769928d7dbdd", + "mirtrace-stats-contamination_basic.tsv:md5,cf6ced069895d8d6183a5b391c532d1c", + "mirtrace-stats-qcstatus.tsv:md5,bc24cec6cfa63462005d86dba95cfdfd", + "mirtrace-stats-phred.tsv:md5,8cf9fc2223b9aeb50f92c8845edbf535", + "mirtrace-stats-rnatype.tsv:md5,b485dc91adfc66a2237f145430dfbc21" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-26T15:42:33.712941492" + }, + "mirna_quant_reference": { + "content": [ + "hairpin.fa_igenome.fa:md5,5fb538f60d5288846600dba31010251e", + "hairpin.fa_igenome.fa_idx.fa:md5,482b0327b0c1e36748c1ee3d3be9be77", + "mature.fa_igenome.fa:md5,ef4cabcbea05adf334ba6891a50c951a", + "mature.fa_igenome.fa_idx.fa:md5,ef4cabcbea05adf334ba6891a50c951a" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:36.437147891" + }, + "software_versions": { + "content": [ + "{BOWTIE_MAP_GENOME={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_HAIRPIN={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_MATURE={bowtie=1.3.1, samtools=1.14}, BOWTIE_MAP_SEQCLUSTER={bowtie=1.3.1, samtools=1.14}, FASTP={fastp=0.23.4}, FASTP_LENGTH_FILTER={fastp=0.23.4}, FASTQC_RAW={fastqc=0.12.1}, FASTQC_TRIM={fastqc=0.12.1}, FORMAT_HAIRPIN={fastx_toolkit=0.0.14}, FORMAT_MATURE={fastx_toolkit=0.0.14}, INDEX_GENOME={bowtie=1.3.1}, INDEX_HAIRPIN={bowtie=1.3.1}, INDEX_MATURE={bowtie=1.3.1}, MIRTOP_QUANT={mirtop=0.4.25}, MIRTRACE_RUN={mirtrace=1.0.1}, PARSE_HAIRPIN={seqkit=2.6.1}, PARSE_MATURE={seqkit=2.6.1}, 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}, SEQCLUSTER_SEQUENCES={seqcluster=1.2.9}, TABLE_MERGE={r-base=3.6.2}, UMICOLLAPSE_FASTQ={umicollapse=1.0.0-1}, Workflow={nf-core/smrnaseq=v2.3.2dev}}" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:16.629826991" + }, + "mirna_quant_bam": { + "content": [ + true, + true, + true, + true, + true, + true, + "SRX8195117_SRR11631013_mature.sorted.flagstat:md5,171387fb18ba9868e28ca03d24a7daca", + "SRX8195117_SRR11631013_mature.sorted.stats:md5,c5ed9f69f29172af201968f97b49be67", + "SRX8195117_SRR11631013_mature.sorted.idxstats:md5,fb6c4000f82a66654b4f2a40570649b5", + "SRX8195118_SRR11631014_mature.sorted.flagstat:md5,57c6d477394d367ebae59f7267b430a5", + "SRX8195118_SRR11631014_mature.sorted.stats:md5,bf67cbae75e68e5de07d042487010498", + "SRX8195118_SRR11631014_mature.sorted.idxstats:md5,8b9cf0f1647b938f058b80522df24667", + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + true, + "SRX8195117_SRR11631013_mature_hairpin.sorted.idxstats:md5,4e7c1c98804febf6210cee5e3941709e", + "SRX8195117_SRR11631013_mature_hairpin.sorted.flagstat:md5,b86bd14dc687a26ba5a84d1015f4b70a", + "SRX8195118_SRR11631014_mature_hairpin.sorted.idxstats:md5,f4485713620f31d97a5006acdf6d8a5d", + "SRX8195118_SRR11631014_mature_hairpin.sorted.stats:md5,da76c29d304c53210242909c3e23a29a", + "SRX8195117_SRR11631013_mature_hairpin.sorted.stats:md5,b3ff5680bfebaaf6e30bb43a29a3031c", + "SRX8195118_SRR11631014_mature_hairpin.sorted.flagstat:md5,e0c44533bc7813d552de4864d997c916", + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:51.451189696" + }, + "umi_dedup_fastq_extracted_umi": { + "content": [ + "SRX8195118_SRR11631014.umi_extract.fastq.gz:md5,d2928324ae465d3d8eaf65c24418b8cf", + "SRX8195117_SRR11631013.umi_extract.fastq.gz:md5,1aeed318fab39fa646ff790a025bd21d" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:26.481773412" + }, + "mirna_quant_edger_qc": { + "content": [ + true, + true, + true, + true, + true, + true, + true, + true, + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:52:08.29290724" + }, + "fastqc_raw": { + "content": [ + true, + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:18.279986494" + }, + "multiqc_multiqc_data": { + "content": [ + "fastqc-status-check-heatmap.txt:md5,c1509fdd74b21a718fe099de64514995", + "fastp_filtered_reads_plot.txt:md5,3aaa79e1ede44347971c26100d9e954b", + true, + "fastqc_sequence_counts_plot-1.txt:md5,24744e039ce4dbcbacf42edbfd642a8b", + "mirtrace_complexity_plot.txt:md5,03b2a5783383193eeee4a3a094612112", + "fastqc_per_sequence_gc_content_plot-1_Percentages.txt:md5,351f949c0abf4fb7587f3f5d9a28d461", + "multiqc_citations.txt:md5,3adbccd17a42d0d5d97ee7ebb476f433", + true, + "fastqc_sequence_length_distribution_plot.txt:md5,8c34b57ec084e2da9d62c254c0a517f4", + "fastp-seq-content-n-plot_Read_1_Before_filtering.txt:md5,dfdb23f41359b8a6b84d6626a0474d02", + "fastqc_sequence_duplication_levels_plot-1.txt:md5,b5ae95ecd73055798ed70947dda3747c", + "fastqc_per_base_sequence_quality_plot-1.txt:md5,89adfa92b1cde0ad4e401b430bbc68ce", + true, + "fastqc_per_base_n_content_plot-1.txt:md5,db081d3aa63007e5a78113f0fc26f27d", + "fastqc_per_base_n_content_plot.txt:md5,5b5b8cee3162d092c0bcddffbd000f34", + "fastp-seq-quality-plot_Read_1_After_filtering.txt:md5,66a47c7ce00ede2053f8e6eb20ec3417", + "fastqc_per_sequence_quality_scores_plot.txt:md5,3aa99649540afc898d32d2e49a364487", + "mirtrace_qc_plot.txt:md5,b8e9e241fd258a3ddd13ae407d6dd746", + "fastqc_per_sequence_quality_scores_plot-1.txt:md5,4108da6fe352558a652ee2b17d609e07", + "mirtrace_length_plot.txt:md5,3f84d4b3dd20053815b7524bc43f0261", + true, + "fastqc-status-check-heatmap-1.txt:md5,cb2ea844834808ae4c95c6440269cf2e", + "fastqc_sequence_counts_plot.txt:md5,5e5c5132ff1969dfa40cb8b1eadf7a46", + "mirtrace_rna_categories_plot.txt:md5,d7d616cd1ef0797727299f8820f50ab9", + "fastp-seq-quality-plot_Read_1_Before_filtering.txt:md5,f36b7cfd3057b26281367397db45033a", + true, + "fastqc_per_base_sequence_quality_plot.txt:md5,e2e187bc0b0c1f0d1abb3b666945c7b3", + true, + "fastp-seq-content-n-plot_Read_1_After_filtering.txt:md5,bbad2035ada86867c4ed579a93b78d64", + true, + true, + "mirtrace_contamination_check_plot.txt:md5,46c2709ae5228d93ff117b88f9792620", + "fastqc_adapter_content_plot.txt:md5,de1d7324ff5146b49fc9a2e6d4633962", + "fastqc_sequence_duplication_levels_plot.txt:md5,fe7598e49f93bb980a7675a2bb4bd3b5", + "fastqc_per_sequence_gc_content_plot_Percentages.txt:md5,c2f2f9282a50c3eef475664cc969b8ec", + "fastqc_per_sequence_gc_content_plot-1_Counts.txt:md5,15d8fa32e0c11ef0d3d10fc28370972c", + "fastqc_adapter_content_plot-1.txt:md5,89cd342fdc6fbba5f67078c9a2f0c684", + "fastp-seq-content-gc-plot_Read_1_Before_filtering.txt:md5,f832e92fb36db181ed1079be110edb2a", + "fastqc_per_sequence_gc_content_plot_Counts.txt:md5,488e25de89d18d20f29b86f2580a8df9", + true, + "fastp-seq-content-gc-plot_Read_1_After_filtering.txt:md5,d673e3b18c40c5af1edccffba386d678" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-26T15:42:34.218114878" + }, + "mirna_quant_seqcluster": { + "content": [ + "SRX8195118_SRR11631014.fastp_trimmed.fastq.gz:md5,cf4de7d3978d5ff4709a88d3d2d034d8", + "SRX8195117_SRR11631013.fastp_trimmed.fastq.gz:md5,0a0da4dc5c49678d8421537dbf3067bc" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:42.885530924" + }, + "mirtrace_qc_passed_reads.rnatype_unknown.collapsed": { + "content": [ + "SRX8195118_SRR11631014.fastp.fasta:md5,5aff6ac8bf0f5637b730ad8f49ac7a47", + "SRX8195117_SRR11631013.fastp.fasta:md5,08902643a45e944be04ad62dd4eaa610" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-26T15:42:34.012175996" + }, + "genome_quant_bam": { + "content": [ + true, + true, + true, + true, + "SRX8195118_SRR11631014_mature_hairpin_genome.sorted.flagstat:md5,235383f64a943885f5d899f5b8e03eba", + "SRX8195117_SRR11631013_mature_hairpin_genome.sorted.flagstat:md5,977e88cbe62027285df73e1f7f9cd9bc", + "SRX8195118_SRR11631014_mature_hairpin_genome.sorted.idxstats:md5,a4874de294706a7ead30258944ff2dad", + "SRX8195118_SRR11631014_mature_hairpin_genome.sorted.stats:md5,e19093f62044a7d053a0073092c506f3", + "SRX8195117_SRR11631013_mature_hairpin_genome.sorted.stats:md5,053912820064080299710bfbe7baf3c7", + "SRX8195117_SRR11631013_mature_hairpin_genome.sorted.idxstats:md5,cc0413bf90252c3b3af8926fd64bc873" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:52:39.634115257" + }, + "umi_dedup_bam_deduplicated": { + "content": [ + "SRX8195118_SRR11631014.umi_dedup.sorted.fastq.gz:md5,af2b98d9bd6d0760a7eb07813d015aee", + "SRX8195117_SRR11631013.umi_dedup.sorted.fastq.gz:md5,247d78a2d700012064d0b2e28d04b061" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:20.189322584" + }, + "bowtie_index_mirna_mature": { + "content": [ + "fasta_bidx.rev.2.ebwt:md5,ab52bc362b4c382cf213a71219e9efee", + "fasta_bidx.4.ebwt:md5,78260e9dde22d8f31622c77d71bbb605", + "fasta_bidx.2.ebwt:md5,778bd05aa462c2119736f9a4056bc41f", + "fasta_bidx.1.ebwt:md5,11a2f568aa785d32246cb8ce1aa8add4", + "fasta_bidx.rev.1.ebwt:md5,0520d43b6b75328f3c30254a2d6baa18", + "fasta_bidx.3.ebwt:md5,7aeccc6ec919ce1cfcd2b1e40be743fe" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:17.603519295" + }, + "bowtie_index_mirna_hairpin": { + "content": [ + "fasta_bidx.2.ebwt:md5,6d99166d1a8a7a1bbf262e89db218278", + "fasta_bidx.3.ebwt:md5,5c60180e2f6fc2e0c399f10b9f9bbee2", + "fasta_bidx.4.ebwt:md5,c3d4dbfbb587261ddf29e906029c10b1", + "fasta_bidx.1.ebwt:md5,40c2c142e094ab5ea531a0564ad62cee", + "fasta_bidx.rev.1.ebwt:md5,4532fb1426b29163b23702c8daf84d62", + "fasta_bidx.rev.2.ebwt:md5,4270939b810aa3f461bacee1edc993aa" + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:17.150913158" + }, + "mirtrace_qc_passed_reads.all.collapsed": { + "content": [ + "SRX8195118_SRR11631014.fastp.fasta:md5,472b73017f8a22c10855fd196f19c1c7", + "SRX8195117_SRR11631013.fastp.fasta:md5,d05deb2132050f04843341d613cc6e65" + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-26T15:42:33.842847298" + }, + "mirna_quant_mirtop": { + "content": [ + true, + true, + "mirtop_rawData.tsv:md5,ed4a0ceb2e8cd1721aa5ed27270f9623", + "mirna.tsv:md5,e30f3037522a0a20f2a4b32cbb70990a", + true + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "23.10.0" + }, + "timestamp": "2024-08-22T22:51:59.309623574" + } +} \ No newline at end of file diff --git a/workflows/smrnaseq.nf b/workflows/smrnaseq.nf index 256c3c6d..8b6a605a 100644 --- a/workflows/smrnaseq.nf +++ b/workflows/smrnaseq.nf @@ -53,7 +53,7 @@ workflow NFCORE_SMRNASEQ { } // Genome options - def mirna_gtf_from_species = params.mirtrace_species ? "https://mirbase.org/download/CURRENT/genomes/${params.mirtrace_species}.gff3" : false + def mirna_gtf_from_species = params.mirtrace_species ? (params.mirtrace_species == 'hsa' ? "https://github.com/nf-core/test-datasets/raw/smrnaseq/miRBase/hsa.gff3" : "https://mirbase.org/download/CURRENT/genomes/${params.mirtrace_species}.gff3") : false def mirna_gtf = params.mirna_gtf ?: mirna_gtf_from_species if (!params.mirgenedb) {