From f9ae0677f89c125ae946abf35d40999637ac3b8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=BCbra=20Narc=C4=B1?= Date: Tue, 4 Feb 2025 13:28:59 +0000 Subject: [PATCH] add test_data_base to tests --- tests/germline_small.nf.test | 4 + tests/liftover_test.nf.test | 2 + tests/liftover_truth.nf.test | 2 + tests/somatic_indel.nf.test | 2 + tests/somatic_snv.nf.test | 20 ++++- tests/somatic_snv.nf.test.snap | 160 +++++++++++++++++++++++++++++++++ 6 files changed, 189 insertions(+), 1 deletion(-) diff --git a/tests/germline_small.nf.test b/tests/germline_small.nf.test index ace53fa..250356f 100644 --- a/tests/germline_small.nf.test +++ b/tests/germline_small.nf.test @@ -12,6 +12,8 @@ nextflow_pipeline { when { params { outdir = "$outputDir" + test_data_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/variantbenchmarking' + } } @@ -42,6 +44,8 @@ nextflow_pipeline { when { params { outdir = "$outputDir" + test_data_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/variantbenchmarking' + } } diff --git a/tests/liftover_test.nf.test b/tests/liftover_test.nf.test index b049a2b..231241a 100644 --- a/tests/liftover_test.nf.test +++ b/tests/liftover_test.nf.test @@ -14,6 +14,8 @@ nextflow_pipeline { when { params { outdir = "$outputDir" + test_data_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/variantbenchmarking' + } } diff --git a/tests/liftover_truth.nf.test b/tests/liftover_truth.nf.test index f3e94ce..d421272 100644 --- a/tests/liftover_truth.nf.test +++ b/tests/liftover_truth.nf.test @@ -14,6 +14,8 @@ nextflow_pipeline { when { params { outdir = "$outputDir" + test_data_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/variantbenchmarking' + } } diff --git a/tests/somatic_indel.nf.test b/tests/somatic_indel.nf.test index 9901eac..6e109b0 100644 --- a/tests/somatic_indel.nf.test +++ b/tests/somatic_indel.nf.test @@ -12,6 +12,8 @@ nextflow_pipeline { when { params { outdir = "$outputDir" + test_data_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/variantbenchmarking' + } } diff --git a/tests/somatic_snv.nf.test b/tests/somatic_snv.nf.test index 4262d34..553e685 100644 --- a/tests/somatic_snv.nf.test +++ b/tests/somatic_snv.nf.test @@ -12,12 +12,28 @@ nextflow_pipeline { when { params { outdir = "$outputDir" + test_data_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/variantbenchmarking' + } } then { + // stable_name: All files + folders in ${params.outdir}/ with a stable name + def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}']) + // stable_path: All files in ${params.outdir}/ with stable content + def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore') assertAll( - { assert workflow.success } + { assert workflow.success }, + { assert snapshot( + // Number of successful tasks + workflow.trace.succeeded().size(), + // pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions + removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml"), + // All stable path name, with a relative path + stable_name, + // All files with stable contents + stable_path + ).match() } ) } } @@ -28,6 +44,8 @@ nextflow_pipeline { when { params { outdir = "$outputDir" + test_data_base = 'https://raw.githubusercontent.com/nf-core/test-datasets/variantbenchmarking' + } } diff --git a/tests/somatic_snv.nf.test.snap b/tests/somatic_snv.nf.test.snap index 907ddc0..71b882a 100644 --- a/tests/somatic_snv.nf.test.snap +++ b/tests/somatic_snv.nf.test.snap @@ -96,5 +96,165 @@ "nextflow": "24.10.4" }, "timestamp": "2025-01-29T17:10:57.898182832" + }, + "Params: --analysis 'somatic' --variant_type 'snv' --method 'sompy'": { + "content": [ + 29, + null, + [ + "pipeline_info", + "pipeline_info/nf_core_variantbenchmarking_software_mqc_versions.yml", + "snv", + "snv/SEQC2", + "snv/SEQC2/preprocess", + "snv/SEQC2/preprocess/SEQC2.vcf.gz", + "snv/SEQC2/preprocess/SEQC2.vcf.gz.tbi", + "snv/SEQC2/stats", + "snv/SEQC2/stats/bcftools", + "snv/SEQC2/stats/bcftools/SEQC2.bcftools_stats.txt", + "snv/multiqc", + "snv/multiqc/multiqc_data", + "snv/multiqc/multiqc_data/bcftools-stats-subtypes.txt", + "snv/multiqc/multiqc_data/bcftools_stats_indel-lengths.txt", + "snv/multiqc/multiqc_data/bcftools_stats_variant_depths.txt", + "snv/multiqc/multiqc_data/bcftools_stats_vqc_Count_Indels.txt", + "snv/multiqc/multiqc_data/bcftools_stats_vqc_Count_SNP.txt", + "snv/multiqc/multiqc_data/bcftools_stats_vqc_Count_Transitions.txt", + "snv/multiqc/multiqc_data/bcftools_stats_vqc_Count_Transversions.txt", + "snv/multiqc/multiqc_data/multiqc.log", + "snv/multiqc/multiqc_data/multiqc_bcftools_stats.txt", + "snv/multiqc/multiqc_data/multiqc_citations.txt", + "snv/multiqc/multiqc_data/multiqc_data.json", + "snv/multiqc/multiqc_data/multiqc_general_stats.txt", + "snv/multiqc/multiqc_data/multiqc_software_versions.txt", + "snv/multiqc/multiqc_data/multiqc_sources.txt", + "snv/multiqc/multiqc_plots", + "snv/multiqc/multiqc_plots/pdf", + "snv/multiqc/multiqc_plots/pdf/bcftools-stats-subtypes-cnt.pdf", + "snv/multiqc/multiqc_plots/pdf/bcftools-stats-subtypes-pct.pdf", + "snv/multiqc/multiqc_plots/pdf/bcftools_stats_indel-lengths.pdf", + "snv/multiqc/multiqc_plots/pdf/bcftools_stats_variant_depths.pdf", + "snv/multiqc/multiqc_plots/pdf/bcftools_stats_vqc_Count_Indels.pdf", + "snv/multiqc/multiqc_plots/pdf/bcftools_stats_vqc_Count_SNP.pdf", + "snv/multiqc/multiqc_plots/pdf/bcftools_stats_vqc_Count_Transitions.pdf", + "snv/multiqc/multiqc_plots/pdf/bcftools_stats_vqc_Count_Transversions.pdf", + "snv/multiqc/multiqc_plots/pdf/general_stats_table.pdf", + "snv/multiqc/multiqc_plots/png", + "snv/multiqc/multiqc_plots/png/bcftools-stats-subtypes-cnt.png", + "snv/multiqc/multiqc_plots/png/bcftools-stats-subtypes-pct.png", + "snv/multiqc/multiqc_plots/png/bcftools_stats_indel-lengths.png", + "snv/multiqc/multiqc_plots/png/bcftools_stats_variant_depths.png", + "snv/multiqc/multiqc_plots/png/bcftools_stats_vqc_Count_Indels.png", + "snv/multiqc/multiqc_plots/png/bcftools_stats_vqc_Count_SNP.png", + "snv/multiqc/multiqc_plots/png/bcftools_stats_vqc_Count_Transitions.png", + "snv/multiqc/multiqc_plots/png/bcftools_stats_vqc_Count_Transversions.png", + "snv/multiqc/multiqc_plots/png/general_stats_table.png", + "snv/multiqc/multiqc_plots/svg", + "snv/multiqc/multiqc_plots/svg/bcftools-stats-subtypes-cnt.svg", + "snv/multiqc/multiqc_plots/svg/bcftools-stats-subtypes-pct.svg", + "snv/multiqc/multiqc_plots/svg/bcftools_stats_indel-lengths.svg", + "snv/multiqc/multiqc_plots/svg/bcftools_stats_variant_depths.svg", + "snv/multiqc/multiqc_plots/svg/bcftools_stats_vqc_Count_Indels.svg", + "snv/multiqc/multiqc_plots/svg/bcftools_stats_vqc_Count_SNP.svg", + "snv/multiqc/multiqc_plots/svg/bcftools_stats_vqc_Count_Transitions.svg", + "snv/multiqc/multiqc_plots/svg/bcftools_stats_vqc_Count_Transversions.svg", + "snv/multiqc/multiqc_plots/svg/general_stats_table.svg", + "snv/multiqc/multiqc_report.html", + "snv/summary", + "snv/summary/datavzrd", + "snv/summary/datavzrd/sompy", + "snv/summary/datavzrd/sompy/index.html", + "snv/summary/datavzrd/sompy/static", + "snv/summary/datavzrd/sompy/static/bootstrap-select.min.css", + "snv/summary/datavzrd/sompy/static/bootstrap-table-fixed-columns.min.css", + "snv/summary/datavzrd/sompy/static/bootstrap-table.min.css", + "snv/summary/datavzrd/sompy/static/bootstrap.min.css", + "snv/summary/datavzrd/sompy/static/bundle.js", + "snv/summary/datavzrd/sompy/static/datavzrd.css", + "snv/summary/datavzrd/sompy/test", + "snv/summary/datavzrd/sompy/test/config.js", + "snv/summary/datavzrd/sompy/test/data", + "snv/summary/datavzrd/sompy/test/data/data_1.js", + "snv/summary/datavzrd/sompy/test/functions.js", + "snv/summary/datavzrd/sompy/test/heatmap.js", + "snv/summary/datavzrd/sompy/test/index_1.html", + "snv/summary/datavzrd/sompy/test/plots", + "snv/summary/datavzrd/sompy/test/plots/plot_0.js", + "snv/summary/datavzrd/sompy/test/plots/plot_1.js", + "snv/summary/datavzrd/sompy/test/plots/plot_10.js", + "snv/summary/datavzrd/sompy/test/plots/plot_11.js", + "snv/summary/datavzrd/sompy/test/plots/plot_12.js", + "snv/summary/datavzrd/sompy/test/plots/plot_13.js", + "snv/summary/datavzrd/sompy/test/plots/plot_14.js", + "snv/summary/datavzrd/sompy/test/plots/plot_15.js", + "snv/summary/datavzrd/sompy/test/plots/plot_16.js", + "snv/summary/datavzrd/sompy/test/plots/plot_17.js", + "snv/summary/datavzrd/sompy/test/plots/plot_18.js", + "snv/summary/datavzrd/sompy/test/plots/plot_2.js", + "snv/summary/datavzrd/sompy/test/plots/plot_3.js", + "snv/summary/datavzrd/sompy/test/plots/plot_4.js", + "snv/summary/datavzrd/sompy/test/plots/plot_5.js", + "snv/summary/datavzrd/sompy/test/plots/plot_6.js", + "snv/summary/datavzrd/sompy/test/plots/plot_7.js", + "snv/summary/datavzrd/sompy/test/plots/plot_8.js", + "snv/summary/datavzrd/sompy/test/plots/plot_9.js", + "snv/summary/datavzrd/versions.yml", + "snv/summary/plots", + "snv/summary/plots/sompy", + "snv/summary/plots/sompy/metric_by_tool_sompy_mqc.png", + "snv/summary/plots/sompy/variants_by_tool_sompy_mqc.png", + "snv/summary/tables", + "snv/summary/tables/sompy", + "snv/summary/tables/sompy/sompy.regions.csv", + "snv/summary/tables/sompy/sompy.summary.csv", + "snv/test1", + "snv/test1/benchmarks", + "snv/test1/benchmarks/sompy", + "snv/test1/benchmarks/sompy/test1.SEQC2.freebayes.features.csv", + "snv/test1/benchmarks/sompy/test1.SEQC2.freebayes.metrics.json", + "snv/test1/benchmarks/sompy/test1.SEQC2.freebayes.stats.csv", + "snv/test1/preprocess", + "snv/test1/preprocess/test1.vcf.gz", + "snv/test1/preprocess/test1.vcf.gz.tbi", + "snv/test1/stats", + "snv/test1/stats/bcftools", + "snv/test1/stats/bcftools/test1.freebayes.bcftools_stats.txt", + "snv/test2", + "snv/test2/benchmarks", + "snv/test2/benchmarks/sompy", + "snv/test2/benchmarks/sompy/test2.SEQC2.manta.features.csv", + "snv/test2/benchmarks/sompy/test2.SEQC2.manta.metrics.json", + "snv/test2/benchmarks/sompy/test2.SEQC2.manta.stats.csv", + "snv/test2/preprocess", + "snv/test2/preprocess/test2.vcf.gz", + "snv/test2/preprocess/test2.vcf.gz.tbi", + "snv/test2/stats", + "snv/test2/stats/bcftools", + "snv/test2/stats/bcftools/test2.manta.bcftools_stats.txt", + "snv/test3", + "snv/test3/benchmarks", + "snv/test3/benchmarks/sompy", + "snv/test3/benchmarks/sompy/test3.SEQC2.strelka.features.csv", + "snv/test3/benchmarks/sompy/test3.SEQC2.strelka.metrics.json", + "snv/test3/benchmarks/sompy/test3.SEQC2.strelka.stats.csv", + "snv/test3/preprocess", + "snv/test3/preprocess/test3.vcf.gz", + "snv/test3/preprocess/test3.vcf.gz.tbi", + "snv/test3/stats", + "snv/test3/stats/bcftools", + "snv/test3/stats/bcftools/test3.strelka.bcftools_stats.txt" + ], + [ + "SEQC2.bcftools_stats.txt:md5,2a23dd61a56e7e6435a8ba4617fd793d", + "test1.freebayes.bcftools_stats.txt:md5,ca4f9a72e5cb852b78dbdf92142a4a6f", + "test2.manta.bcftools_stats.txt:md5,0806ab1c22d599b40abc4d22a129a1e2", + "test3.strelka.bcftools_stats.txt:md5,9fc6a285b83b2c2652080562ba9e94d6" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.4" + }, + "timestamp": "2025-02-04T13:25:45.366644429" } } \ No newline at end of file