From 49579a987b5252aa976b35de34482e2af9978f3b Mon Sep 17 00:00:00 2001 From: Sateesh Peri Date: Tue, 20 Jun 2023 13:58:16 -0400 Subject: [PATCH] re-organize tests and use tags in ci job matrix --- .gitattributes | 1 + .github/workflows/ci.yml | 26 +++---- CHANGELOG.md | 2 + .../pipeline/{misc => }/doubleprimers.nf.test | 0 .../{misc => }/doubleprimers.nf.test.snap | 0 .../fasta_input.nf.test => fasta.nf.test} | 0 ..._input.nf.test.snap => fasta.nf.test.snap} | 0 ..._iontorrent.nf.test => iontorrent.nf.test} | 0 ...t.nf.test.snap => iontorrent.nf.test.snap} | 0 .../{misc/multi_seq.nf.test => multi.nf.test} | 0 ...ti_seq.nf.test.snap => multi.nf.test.snap} | 0 .../pe_novaseq.nf.test => novaseq.nf.test} | 0 ...aseq.nf.test.snap => novaseq.nf.test.snap} | 0 ..._pacbio_its.nf.test => pacbio_its.nf.test} | 0 ...s.nf.test.snap => pacbio_its.nf.test.snap} | 0 tests/pipeline/pplace.nf.test | 62 ++++++++++++++++ tests/pipeline/pplace.nf.test.snap | 60 ++++++++++++++++ ...om_reftax.nf.test => reftaxcustom.nf.test} | 0 ...nf.test.snap => reftaxcustom.nf.test.snap} | 0 .../single_end.nf.test => single.nf.test} | 0 ...e_end.nf.test.snap => single.nf.test.snap} | 0 tests/pipeline/sintax.nf.test | 72 +++++++++++++++++++ tests/pipeline/sintax.nf.test.snap | 68 ++++++++++++++++++ .../paired_end.nf.test => test.nf.test} | 0 ...red_end.nf.test.snap => test.nf.test.snap} | 0 25 files changed, 279 insertions(+), 12 deletions(-) rename tests/pipeline/{misc => }/doubleprimers.nf.test (100%) rename tests/pipeline/{misc => }/doubleprimers.nf.test.snap (100%) rename tests/pipeline/{misc/fasta_input.nf.test => fasta.nf.test} (100%) rename tests/pipeline/{misc/fasta_input.nf.test.snap => fasta.nf.test.snap} (100%) rename tests/pipeline/{paired_end/pe_iontorrent.nf.test => iontorrent.nf.test} (100%) rename tests/pipeline/{paired_end/pe_iontorrent.nf.test.snap => iontorrent.nf.test.snap} (100%) rename tests/pipeline/{misc/multi_seq.nf.test => multi.nf.test} (100%) rename tests/pipeline/{misc/multi_seq.nf.test.snap => multi.nf.test.snap} (100%) rename tests/pipeline/{paired_end/pe_novaseq.nf.test => novaseq.nf.test} (100%) rename tests/pipeline/{paired_end/pe_novaseq.nf.test.snap => novaseq.nf.test.snap} (100%) rename tests/pipeline/{paired_end/pe_pacbio_its.nf.test => pacbio_its.nf.test} (100%) rename tests/pipeline/{paired_end/pe_pacbio_its.nf.test.snap => pacbio_its.nf.test.snap} (100%) create mode 100644 tests/pipeline/pplace.nf.test create mode 100644 tests/pipeline/pplace.nf.test.snap rename tests/pipeline/{misc/custom_reftax.nf.test => reftaxcustom.nf.test} (100%) rename tests/pipeline/{misc/custom_reftax.nf.test.snap => reftaxcustom.nf.test.snap} (100%) rename tests/pipeline/{single_end/single_end.nf.test => single.nf.test} (100%) rename tests/pipeline/{single_end/single_end.nf.test.snap => single.nf.test.snap} (100%) create mode 100644 tests/pipeline/sintax.nf.test create mode 100644 tests/pipeline/sintax.nf.test.snap rename tests/pipeline/{paired_end/paired_end.nf.test => test.nf.test} (100%) rename tests/pipeline/{paired_end/paired_end.nf.test.snap => test.nf.test.snap} (100%) diff --git a/.gitattributes b/.gitattributes index 7a2dabc2..c1c17000 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,5 @@ *.config linguist-language=nextflow *.nf.test linguist-language=nextflow +tests/**/*nf.test.snap linguist-generated modules/nf-core/** linguist-generated subworkflows/nf-core/** linguist-generated diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 959c0c84..093ba1fd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,23 +36,25 @@ jobs: fi test: - name: Run pipeline with test data + name: nf-test needs: define_nxf_versions runs-on: ubuntu-latest strategy: fail-fast: false matrix: NXF_VER: ${{ fromJson(needs.define_nxf_versions.outputs.matrix) }} - component: - - "tests/pipeline/misc/custom_reftax.nf.test --profile test_reftaxcustom" - - "tests/pipeline/misc/doubleprimers.nf.test --profile test_doubleprimers" - - "tests/pipeline/misc/fasta_input.nf.test --profile test_fasta" - - "tests/pipeline/misc/multi_seq.nf.test --profile test_multi" - - "tests/pipeline/paired_end/paired_end.nf.test --profile test" - - "tests/pipeline/paired_end/pe_iontorrent.nf.test --profile test_iontorrent" - - "tests/pipeline/paired_end/pe_novaseq.nf.test --profile test_novaseq" - - "tests/pipeline/paired_end/pe_pacbio_its.nf.test --profile test_pacbio_its" - - "tests/pipeline/single_end/single_end.nf.test --profile test_single" + tags: + - "test" + - "test_single" + - "test_fasta" + - "test_multi" + - "test_reftaxcustom" + - "test_doubleprimers" + - "test_iontorrent" + - "test_novaseq" + - "test_pacbio_its" + - "test_sintax" + - "test_pplace" profile: - "docker" @@ -101,7 +103,7 @@ jobs: - name: Run nf-test run: | - nf-test test ${{ matrix.component }},${{ matrix.profile }} --junitxml=test.xml + nf-test test --tag ${{ matrix.tags }} --profile ${{ matrix.tags }},${{ matrix.profile }} --junitxml=test.xml - name: Output log on failure if: failure() diff --git a/CHANGELOG.md b/CHANGELOG.md index 217cf896..a7c3f3a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Added` +- [#580](https://github.com/nf-core/ampliseq/pull/580) - Add NF-TEST pipeline end-to-end tests for existing CI tests - [#591](https://github.com/nf-core/ampliseq/pull/591) - New version of the Unite taxonomy databases: 9.0 - [#564](https://github.com/nf-core/ampliseq/pull/564),[#567](https://github.com/nf-core/ampliseq/pull/567),[#582](https://github.com/nf-core/ampliseq/pull/582) - Added phylogenetic placement - [#577](https://github.com/nf-core/ampliseq/pull/577) - Added SINTAX for taxonomic classification @@ -15,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Changed` +- [#580](https://github.com/nf-core/ampliseq/pull/580) - GitHub Actions CI - pull_request to `dev` tests with NXF_VER `latest-everything` & pull_request to `master` tests with NXF_VER `22.10.1` & `latest-everything` - [#563](https://github.com/nf-core/ampliseq/pull/563) - Renamed DADA2 taxonomic classification files to include the chosen reference taxonomy abbreviation. - [#567](https://github.com/nf-core/ampliseq/pull/567) - Renamed `--dada_tax_agglom_min` and `--qiime_tax_agglom_min` to `--tax_agglom_min` and `--dada_tax_agglom_max` and `--qiime_tax_agglom_max` to `--tax_agglom_max` - [#598](https://github.com/nf-core/ampliseq/pull/598) - Updated Workflow figure with SINTAX and phylogenetic placement diff --git a/tests/pipeline/misc/doubleprimers.nf.test b/tests/pipeline/doubleprimers.nf.test similarity index 100% rename from tests/pipeline/misc/doubleprimers.nf.test rename to tests/pipeline/doubleprimers.nf.test diff --git a/tests/pipeline/misc/doubleprimers.nf.test.snap b/tests/pipeline/doubleprimers.nf.test.snap similarity index 100% rename from tests/pipeline/misc/doubleprimers.nf.test.snap rename to tests/pipeline/doubleprimers.nf.test.snap diff --git a/tests/pipeline/misc/fasta_input.nf.test b/tests/pipeline/fasta.nf.test similarity index 100% rename from tests/pipeline/misc/fasta_input.nf.test rename to tests/pipeline/fasta.nf.test diff --git a/tests/pipeline/misc/fasta_input.nf.test.snap b/tests/pipeline/fasta.nf.test.snap similarity index 100% rename from tests/pipeline/misc/fasta_input.nf.test.snap rename to tests/pipeline/fasta.nf.test.snap diff --git a/tests/pipeline/paired_end/pe_iontorrent.nf.test b/tests/pipeline/iontorrent.nf.test similarity index 100% rename from tests/pipeline/paired_end/pe_iontorrent.nf.test rename to tests/pipeline/iontorrent.nf.test diff --git a/tests/pipeline/paired_end/pe_iontorrent.nf.test.snap b/tests/pipeline/iontorrent.nf.test.snap similarity index 100% rename from tests/pipeline/paired_end/pe_iontorrent.nf.test.snap rename to tests/pipeline/iontorrent.nf.test.snap diff --git a/tests/pipeline/misc/multi_seq.nf.test b/tests/pipeline/multi.nf.test similarity index 100% rename from tests/pipeline/misc/multi_seq.nf.test rename to tests/pipeline/multi.nf.test diff --git a/tests/pipeline/misc/multi_seq.nf.test.snap b/tests/pipeline/multi.nf.test.snap similarity index 100% rename from tests/pipeline/misc/multi_seq.nf.test.snap rename to tests/pipeline/multi.nf.test.snap diff --git a/tests/pipeline/paired_end/pe_novaseq.nf.test b/tests/pipeline/novaseq.nf.test similarity index 100% rename from tests/pipeline/paired_end/pe_novaseq.nf.test rename to tests/pipeline/novaseq.nf.test diff --git a/tests/pipeline/paired_end/pe_novaseq.nf.test.snap b/tests/pipeline/novaseq.nf.test.snap similarity index 100% rename from tests/pipeline/paired_end/pe_novaseq.nf.test.snap rename to tests/pipeline/novaseq.nf.test.snap diff --git a/tests/pipeline/paired_end/pe_pacbio_its.nf.test b/tests/pipeline/pacbio_its.nf.test similarity index 100% rename from tests/pipeline/paired_end/pe_pacbio_its.nf.test rename to tests/pipeline/pacbio_its.nf.test diff --git a/tests/pipeline/paired_end/pe_pacbio_its.nf.test.snap b/tests/pipeline/pacbio_its.nf.test.snap similarity index 100% rename from tests/pipeline/paired_end/pe_pacbio_its.nf.test.snap rename to tests/pipeline/pacbio_its.nf.test.snap diff --git a/tests/pipeline/pplace.nf.test b/tests/pipeline/pplace.nf.test new file mode 100644 index 00000000..b78c479b --- /dev/null +++ b/tests/pipeline/pplace.nf.test @@ -0,0 +1,62 @@ +nextflow_pipeline { + + name "Test Workflow main.nf" + script "main.nf" + tag "test_pplace" + tag "pipeline" + + test("Pplace") { + + when { + params { + outdir = "$outputDir" + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot(UTILS.removeNextflowVersion("$outputDir")).match("software_versions") }, + { assert snapshot(path("$outputDir/overall_summary.tsv")).match("overall_summary_tsv") }, + { assert snapshot(path("$outputDir/barrnap/rrna.arc.gff"), + path("$outputDir/barrnap/rrna.bac.gff"), + path("$outputDir/barrnap/rrna.euk.gff"), + path("$outputDir/barrnap/rrna.mito.gff")).match("barrnap") }, + { assert new File("$outputDir/barrnap/summary.tsv").exists() }, + { assert snapshot(path("$outputDir/cutadapt/cutadapt_summary.tsv")).match("cutadapt") }, + { assert snapshot(path("$outputDir/dada2/ASV_seqs.fasta"), + path("$outputDir/dada2/ASV_table.tsv"), + path("$outputDir/dada2/DADA2_stats.tsv"), + path("$outputDir/dada2/DADA2_table.rds"), + path("$outputDir/dada2/DADA2_table.tsv")).match("dada2") }, + { assert snapshot(path("$outputDir/input/Samplesheet.tsv"), + path("$outputDir/input/Metadata.tsv")).match("input") }, + { assert new File("$outputDir/qiime2/abundance_tables/abs-abund-table-1.tsv").exists() }, + { assert new File("$outputDir/qiime2/abundance_tables/abs-abund-table-2.tsv").exists() }, + { assert new File("$outputDir/qiime2/abundance_tables/abs-abund-table-3.tsv").exists() }, + { assert new File("$outputDir/qiime2/abundance_tables/count_table_filter_stats.tsv").exists() }, + { assert new File("$outputDir/qiime2/abundance_tables/filtered-table.qza").exists() }, + { assert new File("$outputDir/qiime2/abundance_tables/feature-table.biom").exists() }, + { assert new File("$outputDir/qiime2/abundance_tables/feature-table.tsv").exists() }, + { assert new File("$outputDir/qiime2/input/rep-seqs.qza").exists() }, + { assert new File("$outputDir/qiime2/input/table.qza").exists() }, + { assert new File("$outputDir/qiime2/input/taxonomy.qza").exists() }, + { assert new File("$outputDir/qiime2/rel_abundance_tables/rel-table-1.tsv").exists() }, + { assert new File("$outputDir/qiime2/rel_abundance_tables/rel-table-2.tsv").exists() }, + { assert new File("$outputDir/qiime2/rel_abundance_tables/rel-table-3.tsv").exists() }, + { assert new File("$outputDir/qiime2/rel_abundance_tables/rel-table-ASV.tsv").exists() }, + { assert new File("$outputDir/qiime2/rel_abundance_tables/rel-table-ASV_with-PPLACE-tax.tsv").exists() }, + { assert new File("$outputDir/qiime2/rel_abundance_tables/rel-table-ASV_with-QIIME2-tax.tsv").exists() }, + { assert new File("$outputDir/qiime2/representative_sequences/filtered-sequences.qza").exists() }, + { assert new File("$outputDir/qiime2/representative_sequences/rep-seq.fasta").exists() }, + { assert snapshot(path("$outputDir/qiime2/representative_sequences/descriptive_stats.tsv"), + path("$outputDir/qiime2/representative_sequences/seven_number_summary.tsv")).match("qiime2") }, + { assert new File("$outputDir/pplace/test_pplace.taxonomy.per_query_unique.tsv").exists() }, + { assert new File("$outputDir/pplace/test_pplace.taxonomy.per_query.tsv").exists() }, + { assert new File("$outputDir/pplace/test_pplace.graft.test_pplace.epa_result.newick").exists() }, + { assert snapshot(path("$outputDir/multiqc/multiqc_data/multiqc_general_stats.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_cutadapt.txt")).match("multiqc") } + ) + } + } +} diff --git a/tests/pipeline/pplace.nf.test.snap b/tests/pipeline/pplace.nf.test.snap new file mode 100644 index 00000000..6ac96c29 --- /dev/null +++ b/tests/pipeline/pplace.nf.test.snap @@ -0,0 +1,60 @@ +{ + "input": { + "content": [ + "Samplesheet.tsv:md5,dbf8d1a2b7933dab9e5a139f33c2b1f4", + "Metadata.tsv:md5,060b56528bb566eed71f6dfdb52cc395" + ], + "timestamp": "2023-06-20T17:24:03+0000" + }, + "software_versions": { + "content": [ + "{BARRNAP={barrnap=0.9}, CUSTOM_DUMPSOFTWAREVERSIONS={python=3.11.0, yaml=6.0}, CUTADAPT_BASIC={cutadapt=3.4}, DADA2_DENOISING={R=4.1.1, dada2=1.22.0}, DADA2_FILTNTRIM={R=4.1.1, dada2=1.22.0}, DADA2_QUALITY1={R=4.1.1, ShortRead=1.52.0, dada2=1.22.0}, EPANG_PLACE={epang=0.3.8}, FILTER_STATS={pandas=1.1.5, python=3.9.1}, GAPPA_ASSIGN={gappa=0.8.0}, GAPPA_GRAFT={gappa=0.8.0}, GAPPA_HEATTREE={gappa=0.8.0}, HMMER_AFAFORMATQUERY={hmmer/easel=0.48}, HMMER_AFAFORMATREF={hmmer/easel=0.48}, HMMER_HMMALIGNQUERY={hmmer=3.3.2}, HMMER_HMMALIGNREF={hmmer=3.3.2}, HMMER_HMMBUILD={hmmer=3.3.2}, HMMER_MASKQUERY={hmmer/easel=0.48}, HMMER_MASKREF={hmmer/easel=0.48}, HMMER_UNALIGNREF={hmmer/easel=0.48}, QIIME2_INSEQ={qiime2=2022.11.1}, RENAME_RAW_DATA_FILES={sed=4.7}, TRUNCLEN={pandas=1.1.5, python=3.9.1}, Workflow={nf-core/ampliseq=2.6.0dev}}" + ], + "timestamp": "2023-06-20T17:24:03+0000" + }, + "cutadapt": { + "content": [ + "cutadapt_summary.tsv:md5,5d02749984a811479e7d534fda75163f" + ], + "timestamp": "2023-06-20T17:24:03+0000" + }, + "qiime2": { + "content": [ + "descriptive_stats.tsv:md5,666279e79355dd60a0f5c7c8bb77618d", + "seven_number_summary.tsv:md5,e087b59678e7e9ade87e0a7349f54e2e" + ], + "timestamp": "2023-06-20T17:24:03+0000" + }, + "overall_summary_tsv": { + "content": [ + "overall_summary.tsv:md5,f6bf53e90e5d2efc4f62a0e4c789bbec" + ], + "timestamp": "2023-06-20T17:24:03+0000" + }, + "dada2": { + "content": [ + "ASV_seqs.fasta:md5,864c3e0dc9b4a7649beee0c8665dceb5", + "ASV_table.tsv:md5,2618251e597593e4d716dd9bed095539", + "DADA2_stats.tsv:md5,54a1ac8d6c5a3ff15f700c4b2dd40c86", + "DADA2_table.rds:md5,d095501019ce7ebccfa0eb801db1ed29", + "DADA2_table.tsv:md5,5c9fb0bfd70da165f0ce6a361bfe0b43" + ], + "timestamp": "2023-06-20T17:24:03+0000" + }, + "barrnap": { + "content": [ + "rrna.arc.gff:md5,6dae470aace9293d5eb8c318584852dd", + "rrna.bac.gff:md5,439a9084f089120f700f938dfb58fa41", + "rrna.euk.gff:md5,c9bc1d9d8fb77dc19c95dee2d53840eb", + "rrna.mito.gff:md5,df19e1b84ba6f691d20c72b397c88abf" + ], + "timestamp": "2023-06-20T17:24:03+0000" + }, + "multiqc": { + "content": [ + "multiqc_general_stats.txt:md5,9e8ff06d7285ab8748a80e639d3dd54a", + "multiqc_cutadapt.txt:md5,330a7b72dc671ca99fcb3fb84b6776c1" + ], + "timestamp": "2023-06-20T17:24:03+0000" + } +} \ No newline at end of file diff --git a/tests/pipeline/misc/custom_reftax.nf.test b/tests/pipeline/reftaxcustom.nf.test similarity index 100% rename from tests/pipeline/misc/custom_reftax.nf.test rename to tests/pipeline/reftaxcustom.nf.test diff --git a/tests/pipeline/misc/custom_reftax.nf.test.snap b/tests/pipeline/reftaxcustom.nf.test.snap similarity index 100% rename from tests/pipeline/misc/custom_reftax.nf.test.snap rename to tests/pipeline/reftaxcustom.nf.test.snap diff --git a/tests/pipeline/single_end/single_end.nf.test b/tests/pipeline/single.nf.test similarity index 100% rename from tests/pipeline/single_end/single_end.nf.test rename to tests/pipeline/single.nf.test diff --git a/tests/pipeline/single_end/single_end.nf.test.snap b/tests/pipeline/single.nf.test.snap similarity index 100% rename from tests/pipeline/single_end/single_end.nf.test.snap rename to tests/pipeline/single.nf.test.snap diff --git a/tests/pipeline/sintax.nf.test b/tests/pipeline/sintax.nf.test new file mode 100644 index 00000000..f6de2995 --- /dev/null +++ b/tests/pipeline/sintax.nf.test @@ -0,0 +1,72 @@ +nextflow_pipeline { + + name "Test Workflow main.nf" + script "main.nf" + tag "test_sintax" + tag "pipeline" + + test("Sintax") { + + when { + params { + outdir = "$outputDir" + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot(UTILS.removeNextflowVersion("$outputDir")).match("software_versions") }, + { assert snapshot(path("$outputDir/overall_summary.tsv")).match("overall_summary_tsv") }, + { assert snapshot(path("$outputDir/barrnap/rrna.arc.gff"), + path("$outputDir/barrnap/rrna.bac.gff"), + path("$outputDir/barrnap/rrna.euk.gff"), + path("$outputDir/barrnap/rrna.mito.gff")).match("barrnap") }, + { assert new File("$outputDir/barrnap/summary.tsv").exists() }, + { assert snapshot(path("$outputDir/cutadapt/cutadapt_summary.tsv")).match("cutadapt") }, + { assert snapshot(path("$outputDir/dada2/ASV_seqs.fasta"), + path("$outputDir/dada2/ASV_table.tsv"), + path("$outputDir/dada2/DADA2_stats.tsv"), + path("$outputDir/dada2/DADA2_table.rds"), + path("$outputDir/dada2/DADA2_table.tsv")).match("dada2") }, + { assert new File("$outputDir/qiime2/abundance_tables/abs-abund-table-2.tsv").exists() }, + { assert new File("$outputDir/qiime2/abundance_tables/abs-abund-table-3.tsv").exists() }, + { assert new File("$outputDir/qiime2/abundance_tables/abs-abund-table-4.tsv").exists() }, + { assert new File("$outputDir/qiime2/abundance_tables/count_table_filter_stats.tsv").exists() }, + { assert new File("$outputDir/qiime2/abundance_tables/filtered-table.qza").exists() }, + { assert new File("$outputDir/qiime2/abundance_tables/feature-table.biom").exists() }, + { assert new File("$outputDir/qiime2/abundance_tables/feature-table.tsv").exists() }, + { assert new File("$outputDir/qiime2/input/rep-seqs.qza").exists() }, + { assert new File("$outputDir/qiime2/input/table.qza").exists() }, + { assert new File("$outputDir/qiime2/input/taxonomy.qza").exists() }, + { assert new File("$outputDir/qiime2/rel_abundance_tables/rel-table-2.tsv").exists() }, + { assert new File("$outputDir/qiime2/rel_abundance_tables/rel-table-3.tsv").exists() }, + { assert new File("$outputDir/qiime2/rel_abundance_tables/rel-table-4.tsv").exists() }, + { assert new File("$outputDir/qiime2/rel_abundance_tables/rel-table-ASV.tsv").exists() }, + { assert new File("$outputDir/qiime2/rel_abundance_tables/rel-table-ASV_with-SINTAX-tax.tsv").exists() }, + { assert new File("$outputDir/qiime2/representative_sequences/filtered-sequences.qza").exists() }, + { assert new File("$outputDir/qiime2/representative_sequences/rep-seq.fasta").exists() }, + { assert new File("$outputDir/qiime2/ancom/Category-var2-ASV/percent-abundances.tsv").exists() }, + { assert new File("$outputDir/qiime2/ancom/Category-var3-ASV/percent-abundances.tsv").exists() }, + { assert snapshot(path("$outputDir/qiime2/representative_sequences/descriptive_stats.tsv"), + path("$outputDir/qiime2/representative_sequences/seven_number_summary.tsv")).match("qiime2") }, + { assert snapshot(path("$outputDir/input/Samplesheet_pacbio_ITS.tsv"), + path("$outputDir/input/Metadata_pacbio_ITS.tsv")).match("input") }, + { assert new File("$outputDir/itsx/ASV_ITS_seqs.full.fasta").exists() }, + { assert new File("$outputDir/itsx/ASV_ITS_seqs.ITS2.fasta").exists() }, + { assert new File("$outputDir/itsx/ASV_ITS_seqs.summary.txt").exists() }, + { assert new File("$outputDir/itsx/ITSx.args.txt").exists() }, + { assert snapshot(path("$outputDir/SBDI/dna.tsv"), + path("$outputDir/SBDI/emof.tsv"), + path("$outputDir/SBDI/event.tsv")).match("SBDI") }, + { assert new File("$outputDir/SBDI/annotation.tsv").exists() }, + { assert new File("$outputDir/SBDI/asv-table.tsv").exists() }, + { assert new File("$outputDir/sintax/ASV_ITS_tax_sintax.unite-fungi.raw.tsv").exists() }, + { assert new File("$outputDir/sintax/ASV_tax_sintax.unite-fungi.tsv").exists() }, + { assert new File("$outputDir/sintax/ref_taxonomy_sintax.txt").exists() }, + { assert snapshot(path("$outputDir/multiqc/multiqc_data/multiqc_general_stats.txt"), + path("$outputDir/multiqc/multiqc_data/multiqc_cutadapt.txt")).match("multiqc") } + ) + } + } +} diff --git a/tests/pipeline/sintax.nf.test.snap b/tests/pipeline/sintax.nf.test.snap new file mode 100644 index 00000000..1d4f538e --- /dev/null +++ b/tests/pipeline/sintax.nf.test.snap @@ -0,0 +1,68 @@ +{ + "input": { + "content": [ + "Samplesheet_pacbio_ITS.tsv:md5,905b0fc4850149d6457c9da7076c2c2d", + "Metadata_pacbio_ITS.tsv:md5,51d81b0fe29f6377fa21ce8399fc5ae0" + ], + "timestamp": "2023-06-20T16:40:18+0000" + }, + "SBDI": { + "content": [ + "dna.tsv:md5,061ca46725294da75acd8237390f4291", + "emof.tsv:md5,c6599c76a70fe5458db56ff8c2e89a37", + "event.tsv:md5,bfcf7d8ac2a3c6b48d075d6dc235f0e4" + ], + "timestamp": "2023-06-20T16:40:18+0000" + }, + "software_versions": { + "content": [ + "{BARRNAP={barrnap=0.9}, CUSTOM_DUMPSOFTWAREVERSIONS={python=3.11.0, yaml=6.0}, CUTADAPT_BASIC={cutadapt=3.4}, DADA2_DENOISING={R=4.1.1, dada2=1.22.0}, DADA2_FILTNTRIM={R=4.1.1, dada2=1.22.0}, DADA2_QUALITY1={R=4.1.1, ShortRead=1.52.0, dada2=1.22.0}, FASTQC={fastqc=0.11.9}, FILTER_STATS={pandas=1.1.5, python=3.9.1}, ITSX_CUTASV={ITSx=1.1.3}, QIIME2_INSEQ={qiime2=2022.11.1}, RENAME_RAW_DATA_FILES={sed=4.7}, SBDIEXPORT={R=3.6.3}, VSEARCH_SINTAX={vsearch=2.21.1}, Workflow={nf-core/ampliseq=2.6.0dev}}" + ], + "timestamp": "2023-06-20T16:40:18+0000" + }, + "cutadapt": { + "content": [ + "cutadapt_summary.tsv:md5,d185ccd02c22b859fcaf2e5158ce70c6" + ], + "timestamp": "2023-06-20T16:40:18+0000" + }, + "qiime2": { + "content": [ + "descriptive_stats.tsv:md5,f857c6de0bcb1080a0d6fabd7e87c283", + "seven_number_summary.tsv:md5,ef0fd839c0f691c0bbf478de3e724d34" + ], + "timestamp": "2023-06-20T16:40:18+0000" + }, + "overall_summary_tsv": { + "content": [ + "overall_summary.tsv:md5,680baf14004fc0591c2a333c7e5e85b3" + ], + "timestamp": "2023-06-20T16:40:18+0000" + }, + "dada2": { + "content": [ + "ASV_seqs.fasta:md5,a2632b1cc533d290db19ceedaf350dcd", + "ASV_table.tsv:md5,6de5507a0fcb0c9b03f8fec0270440be", + "DADA2_stats.tsv:md5,4bbde0bbf579f60e692bd32d14034f0d", + "DADA2_table.rds:md5,a36558c04a7b21050bb6e479b09bd483", + "DADA2_table.tsv:md5,7e7aab7ae9a3b20fb08f3fe7f8b0430c" + ], + "timestamp": "2023-06-20T16:40:18+0000" + }, + "barrnap": { + "content": [ + "rrna.arc.gff:md5,6bb50a4c244d80d56e759ecfbb045381", + "rrna.bac.gff:md5,7c38dd6692b792ace17142158afeb33e", + "rrna.euk.gff:md5,8ae155cbe43335084a0c9a2ccd655cb3", + "rrna.mito.gff:md5,df19e1b84ba6f691d20c72b397c88abf" + ], + "timestamp": "2023-06-20T16:40:18+0000" + }, + "multiqc": { + "content": [ + "multiqc_general_stats.txt:md5,05682be32bc30bc4610f0ca608cafe67", + "multiqc_cutadapt.txt:md5,1b3b6833e78db31ab12e5c16b7fa1d73" + ], + "timestamp": "2023-06-20T16:40:18+0000" + } +} \ No newline at end of file diff --git a/tests/pipeline/paired_end/paired_end.nf.test b/tests/pipeline/test.nf.test similarity index 100% rename from tests/pipeline/paired_end/paired_end.nf.test rename to tests/pipeline/test.nf.test diff --git a/tests/pipeline/paired_end/paired_end.nf.test.snap b/tests/pipeline/test.nf.test.snap similarity index 100% rename from tests/pipeline/paired_end/paired_end.nf.test.snap rename to tests/pipeline/test.nf.test.snap