From 5d966a4bdcbdff419ae999b7a7ee78a8f4eca3a6 Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 14 Nov 2024 14:43:37 +0100 Subject: [PATCH 1/9] add controlfreec test --- tests/variant_calling_controlfreec.nf.test | 181 ++++++++++++++ .../variant_calling_controlfreec.nf.test.snap | 228 ++++++++++++++++++ 2 files changed, 409 insertions(+) create mode 100644 tests/variant_calling_controlfreec.nf.test create mode 100644 tests/variant_calling_controlfreec.nf.test.snap diff --git a/tests/variant_calling_controlfreec.nf.test b/tests/variant_calling_controlfreec.nf.test new file mode 100644 index 0000000000..5c4e331c76 --- /dev/null +++ b/tests/variant_calling_controlfreec.nf.test @@ -0,0 +1,181 @@ +nextflow_pipeline { + + name "Test pipeline" + script "../main.nf" + tag "pipeline" + tag "pipeline_sarek" + + test("Run with profile test | --tools controlfreec | somatic") { + + when { + params { + modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' + chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' + fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' + fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' + intervals = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed' + input = "${projectDir}/tests/csv/3.0/recalibrated_somatic.csv" + outdir = "$outputDir" + step = "variant_calling" + tools = 'controlfreec' + wes = true + } + } + + 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') + // cram_files: All cram files + def cram_files = getAllFilesFromDir(params.outdir, include: ['**/*.cram']) + def fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta' + assertAll( + { 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_sarek_software_mqc_versions.yml"), + // All stable path name, with a relative path + stable_name, + // All files with stable contents + stable_path, + // All cram files + cram_files.collect{ file -> [ file.getName(), cram(file.toString(), fasta).getReadsMD5() ] } + ).match() } + ) + } + } + + // test("Run with profile test | --tools controlfreec --no_intervals | somatic") { + + // when { + // params { + // modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' + // chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' + // fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' + // fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' + // intervals = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed' + // input = "${projectDir}/tests/csv/3.0/recalibrated_somatic.csv" + // outdir = "$outputDir" + // no_intervals = true + // step = "variant_calling" + // tools = 'controlfreec' + // wes = true + // } + // } + + // 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') + // // cram_files: All cram files + // def cram_files = getAllFilesFromDir(params.outdir, include: ['**/*.cram']) + // def fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta' + // assertAll( + // { 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_sarek_software_mqc_versions.yml"), + // // All stable path name, with a relative path + // stable_name, + // // All files with stable contents + // stable_path, + // // All cram files + // cram_files.collect{ file -> [ file.getName(), cram(file.toString(), fasta).getReadsMD5() ] } + // ).match() } + // ) + // } + // } + + // test("Run with profile test | --tools controlfreec | tumoronly") { + + // when { + // params { + // modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' + // chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' + // fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' + // fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' + // intervals = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed' + // input = "${projectDir}/tests/csv/3.0/recalibrated_tumoronly.csv" + // outdir = "$outputDir" + // step = "variant_calling" + // tools = 'controlfreec' + // wes = true + // } + // } + + // 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') + // // cram_files: All cram files + // def cram_files = getAllFilesFromDir(params.outdir, include: ['**/*.cram']) + // def fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta' + // assertAll( + // { 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_sarek_software_mqc_versions.yml"), + // // All stable path name, with a relative path + // stable_name, + // // All files with stable contents + // stable_path, + // // All cram files + // cram_files.collect{ file -> [ file.getName(), cram(file.toString(), fasta).getReadsMD5() ] } + // ).match() } + // ) + // } + // } + + // test("Run with profile test | --tools controlfreec --no_intervals | tumoronly") { + + // when { + // params { + // modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' + // chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' + // fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' + // fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' + // intervals = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed' + // input = "${projectDir}/tests/csv/3.0/recalibrated_tumoronly.csv" + // outdir = "$outputDir" + // no_intervals = true + // step = "variant_calling" + // tools = 'controlfreec' + // wes = true + // } + // } + + // 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') + // // cram_files: All cram files + // def cram_files = getAllFilesFromDir(params.outdir, include: ['**/*.cram']) + // def fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta' + // assertAll( + // { 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_sarek_software_mqc_versions.yml"), + // // All stable path name, with a relative path + // stable_name, + // // All files with stable contents + // stable_path, + // // All cram files + // cram_files.collect{ file -> [ file.getName(), cram(file.toString(), fasta).getReadsMD5() ] } + // ).match() } + // ) + // } + // } +} diff --git a/tests/variant_calling_controlfreec.nf.test.snap b/tests/variant_calling_controlfreec.nf.test.snap new file mode 100644 index 0000000000..56e383fc3c --- /dev/null +++ b/tests/variant_calling_controlfreec.nf.test.snap @@ -0,0 +1,228 @@ +{ + "Run with profile test | --tools controlfreec --no_intervals | somatic": { + "content": [ + 8, + { + "SAMTOOLS_MPILEUP": { + "samtools": 1.21 + }, + "Workflow": { + "nf-core/sarek": "v3.5.0dev" + } + }, + [ + "csv", + "no_intervals.bed", + "no_intervals.bed.gz", + "no_intervals.bed.gz.tbi", + "pipeline_info", + "pipeline_info/nf_core_sarek_software_mqc_versions.yml", + "reference", + "reports", + "reports/mosdepth", + "reports/mosdepth/sample3", + "reports/mosdepth/sample3/sample3.recal.mosdepth.global.dist.txt", + "reports/mosdepth/sample3/sample3.recal.mosdepth.summary.txt", + "reports/mosdepth/sample3/sample3.recal.per-base.bed.gz", + "reports/mosdepth/sample3/sample3.recal.per-base.bed.gz.csi", + "reports/mosdepth/sample4", + "reports/mosdepth/sample4/sample4.recal.mosdepth.global.dist.txt", + "reports/mosdepth/sample4/sample4.recal.mosdepth.summary.txt", + "reports/mosdepth/sample4/sample4.recal.per-base.bed.gz", + "reports/mosdepth/sample4/sample4.recal.per-base.bed.gz.csi", + "reports/samtools", + "reports/samtools/sample3", + "reports/samtools/sample3/sample3.recal.cram.stats", + "reports/samtools/sample4", + "reports/samtools/sample4/sample4.recal.cram.stats" + ], + [ + "sample3.recal.mosdepth.global.dist.txt:md5,69e29702ef01fd8f6c7a5468fc35a16a", + "sample3.recal.mosdepth.summary.txt:md5,d2775eb102acc5950f7f53883dcb503d", + "sample3.recal.per-base.bed.gz:md5,297f96648928d0ca5184223fb9941e7c", + "sample3.recal.per-base.bed.gz.csi:md5,519cc5bf84da0d71b87a88c76f83194e", + "sample4.recal.mosdepth.global.dist.txt:md5,f2dcd00a64947c49e8e4b93c2f4fbf27", + "sample4.recal.mosdepth.summary.txt:md5,0a7300e56eda6fba7c7564f00aa000f0", + "sample4.recal.per-base.bed.gz:md5,39a1bc436aa8546c26faedbe94cb676c", + "sample4.recal.per-base.bed.gz.csi:md5,aaa7bed9e7ef873b23bca249b8b58eb9", + "sample3.recal.cram.stats:md5,bcc229318527e414e69aaa5cd092ad9b", + "sample4.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03" + ], + [ + + ] + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-10-29T15:19:24.665754" + }, + "Run with profile test | --tools controlfreec | tumoronly": { + "content": [ + 7, + { + "SAMTOOLS_MPILEUP": { + "samtools": 1.21 + }, + "Workflow": { + "nf-core/sarek": "v3.5.0dev" + } + }, + [ + "csv", + "pipeline_info", + "pipeline_info/nf_core_sarek_software_mqc_versions.yml", + "reference", + "reports", + "reports/mosdepth", + "reports/mosdepth/sample2", + "reports/mosdepth/sample2/sample2.recal.mosdepth.global.dist.txt", + "reports/mosdepth/sample2/sample2.recal.mosdepth.region.dist.txt", + "reports/mosdepth/sample2/sample2.recal.mosdepth.summary.txt", + "reports/mosdepth/sample2/sample2.recal.per-base.bed.gz", + "reports/mosdepth/sample2/sample2.recal.per-base.bed.gz.csi", + "reports/mosdepth/sample2/sample2.recal.regions.bed.gz", + "reports/mosdepth/sample2/sample2.recal.regions.bed.gz.csi", + "reports/samtools", + "reports/samtools/sample2", + "reports/samtools/sample2/sample2.recal.cram.stats" + ], + [ + "sample2.recal.mosdepth.global.dist.txt:md5,f2dcd00a64947c49e8e4b93c2f4fbf27", + "sample2.recal.mosdepth.region.dist.txt:md5,39005ffaac22871ffaaf19656fe69c5b", + "sample2.recal.mosdepth.summary.txt:md5,68d4b98f17361fddf73052ead34fa370", + "sample2.recal.per-base.bed.gz:md5,39a1bc436aa8546c26faedbe94cb676c", + "sample2.recal.per-base.bed.gz.csi:md5,aaa7bed9e7ef873b23bca249b8b58eb9", + "sample2.recal.regions.bed.gz:md5,b7561bc56a955f7db0f11e67e2ec0386", + "sample2.recal.regions.bed.gz.csi:md5,538cb5d244411a670a4b041691f8825b", + "sample2.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03" + ], + [ + + ] + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.04.4" + }, + "timestamp": "2024-10-29T15:27:51.939103" + }, + "Run with profile test | --tools controlfreec | somatic": { + "content": [ + 10, + { + "SAMTOOLS_MPILEUP": { + "samtools": 1.21 + }, + "Workflow": { + "nf-core/sarek": "v3.5.0dev" + } + }, + [ + "csv", + "pipeline_info", + "pipeline_info/nf_core_sarek_software_mqc_versions.yml", + "reference", + "reports", + "reports/mosdepth", + "reports/mosdepth/sample3", + "reports/mosdepth/sample3/sample3.recal.mosdepth.global.dist.txt", + "reports/mosdepth/sample3/sample3.recal.mosdepth.region.dist.txt", + "reports/mosdepth/sample3/sample3.recal.mosdepth.summary.txt", + "reports/mosdepth/sample3/sample3.recal.per-base.bed.gz", + "reports/mosdepth/sample3/sample3.recal.per-base.bed.gz.csi", + "reports/mosdepth/sample3/sample3.recal.regions.bed.gz", + "reports/mosdepth/sample3/sample3.recal.regions.bed.gz.csi", + "reports/mosdepth/sample4", + "reports/mosdepth/sample4/sample4.recal.mosdepth.global.dist.txt", + "reports/mosdepth/sample4/sample4.recal.mosdepth.region.dist.txt", + "reports/mosdepth/sample4/sample4.recal.mosdepth.summary.txt", + "reports/mosdepth/sample4/sample4.recal.per-base.bed.gz", + "reports/mosdepth/sample4/sample4.recal.per-base.bed.gz.csi", + "reports/mosdepth/sample4/sample4.recal.regions.bed.gz", + "reports/mosdepth/sample4/sample4.recal.regions.bed.gz.csi", + "reports/samtools", + "reports/samtools/sample3", + "reports/samtools/sample3/sample3.recal.cram.stats", + "reports/samtools/sample4", + "reports/samtools/sample4/sample4.recal.cram.stats" + ], + [ + "sample3.recal.mosdepth.global.dist.txt:md5,69e29702ef01fd8f6c7a5468fc35a16a", + "sample3.recal.mosdepth.region.dist.txt:md5,6ec49cd7d510c2eb3d9d90fdb79b783a", + "sample3.recal.mosdepth.summary.txt:md5,103098d0bf76ed82d2b87d5f242b099a", + "sample3.recal.per-base.bed.gz:md5,297f96648928d0ca5184223fb9941e7c", + "sample3.recal.per-base.bed.gz.csi:md5,519cc5bf84da0d71b87a88c76f83194e", + "sample3.recal.regions.bed.gz:md5,314ce8d7273eff353072108aa77c327c", + "sample3.recal.regions.bed.gz.csi:md5,538cb5d244411a670a4b041691f8825b", + "sample4.recal.mosdepth.global.dist.txt:md5,f2dcd00a64947c49e8e4b93c2f4fbf27", + "sample4.recal.mosdepth.region.dist.txt:md5,39005ffaac22871ffaaf19656fe69c5b", + "sample4.recal.mosdepth.summary.txt:md5,68d4b98f17361fddf73052ead34fa370", + "sample4.recal.per-base.bed.gz:md5,39a1bc436aa8546c26faedbe94cb676c", + "sample4.recal.per-base.bed.gz.csi:md5,aaa7bed9e7ef873b23bca249b8b58eb9", + "sample4.recal.regions.bed.gz:md5,b7561bc56a955f7db0f11e67e2ec0386", + "sample4.recal.regions.bed.gz.csi:md5,538cb5d244411a670a4b041691f8825b", + "sample3.recal.cram.stats:md5,bcc229318527e414e69aaa5cd092ad9b", + "sample4.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03" + ], + [ + + ] + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-10-29T15:17:43.826814" + }, + "Run with profile test | --tools controlfreec --no_intervals | tumoronly": { + "content": [ + 5, + { + "SAMTOOLS_MPILEUP": { + "samtools": 1.21 + }, + "Workflow": { + "nf-core/sarek": "v3.5.0dev" + } + }, + [ + "csv", + "no_intervals.bed", + "no_intervals.bed.gz", + "no_intervals.bed.gz.tbi", + "pipeline_info", + "pipeline_info/nf_core_sarek_software_mqc_versions.yml", + "reference", + "reports", + "reports/mosdepth", + "reports/mosdepth/sample2", + "reports/mosdepth/sample2/sample2.recal.mosdepth.global.dist.txt", + "reports/mosdepth/sample2/sample2.recal.mosdepth.region.dist.txt", + "reports/mosdepth/sample2/sample2.recal.mosdepth.summary.txt", + "reports/mosdepth/sample2/sample2.recal.regions.bed.gz", + "reports/mosdepth/sample2/sample2.recal.regions.bed.gz.csi", + "reports/samtools", + "reports/samtools/sample2", + "reports/samtools/sample2/sample2.recal.cram.stats" + ], + [ + "sample2.recal.mosdepth.global.dist.txt:md5,53f9ae9ab5002ffba340fa8cef7d70e4", + "sample2.recal.mosdepth.region.dist.txt:md5,17600d21ac453506c52249cf435ad8ea", + "sample2.recal.mosdepth.summary.txt:md5,7141030385af1f653718c9e0c9a5be80", + "sample2.recal.regions.bed.gz:md5,c680c5d75f0cea068e3f917f4cf9bf52", + "sample2.recal.regions.bed.gz.csi:md5,4003c8833ed5e9b9f45282a6915c935e", + "sample2.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03" + ], + [ + + ] + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-10-29T15:13:49.158315" + } +} \ No newline at end of file From 1f15c8796e3a1674bae43b14bdf8263e768f2bc0 Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 14 Nov 2024 16:48:20 +0100 Subject: [PATCH 2/9] add tests --- tests/.nftignore | 1 + tests/variant_calling_controlfreec.nf.test | 96 +++---- .../variant_calling_controlfreec.nf.test.snap | 245 +++++++++--------- 3 files changed, 173 insertions(+), 169 deletions(-) diff --git a/tests/.nftignore b/tests/.nftignore index 6996d5ea9c..eab033ffd2 100644 --- a/tests/.nftignore +++ b/tests/.nftignore @@ -11,6 +11,7 @@ multiqc/multiqc_data/multiqc_sources.txt multiqc/multiqc_data/picard_deduplication.txt multiqc/multiqc_plots/{svg,pdf,png}/*.{svg,pdf,png} multiqc/multiqc_report.html +no_intervals.{bed,bed.gz,bed.gz.tbi} pipeline_info/*.{html,json,txt,yml} preprocessing/**/*.{md,recal,sorted}.{bam,bam.bai,cram,cram.crai,table} reference/dragmap/hash_table.{cfg,cfg.bin} diff --git a/tests/variant_calling_controlfreec.nf.test b/tests/variant_calling_controlfreec.nf.test index 5c4e331c76..b0f047eb93 100644 --- a/tests/variant_calling_controlfreec.nf.test +++ b/tests/variant_calling_controlfreec.nf.test @@ -11,10 +11,12 @@ nextflow_pipeline { params { modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' + dbsnp = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz' + dbsnp_tbi = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz.tbi' fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' - intervals = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed' input = "${projectDir}/tests/csv/3.0/recalibrated_somatic.csv" + intervals = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed' outdir = "$outputDir" step = "variant_calling" tools = 'controlfreec' @@ -54,12 +56,13 @@ nextflow_pipeline { // params { // modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' // chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' + // dbsnp = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz' + // dbsnp_tbi = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz.tbi' // fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' // fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' - // intervals = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed' // input = "${projectDir}/tests/csv/3.0/recalibrated_somatic.csv" - // outdir = "$outputDir" // no_intervals = true + // outdir = "$outputDir" // step = "variant_calling" // tools = 'controlfreec' // wes = true @@ -98,10 +101,12 @@ nextflow_pipeline { // params { // modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' // chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' + // dbsnp = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz' + // dbsnp_tbi = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz.tbi' // fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' // fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' - // intervals = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed' // input = "${projectDir}/tests/csv/3.0/recalibrated_tumoronly.csv" + // intervals = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed' // outdir = "$outputDir" // step = "variant_calling" // tools = 'controlfreec' @@ -135,47 +140,48 @@ nextflow_pipeline { // } // } - // test("Run with profile test | --tools controlfreec --no_intervals | tumoronly") { + test("Run with profile test | --tools controlfreec --no_intervals | tumoronly") { - // when { - // params { - // modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' - // chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' - // fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' - // fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' - // intervals = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed' - // input = "${projectDir}/tests/csv/3.0/recalibrated_tumoronly.csv" - // outdir = "$outputDir" - // no_intervals = true - // step = "variant_calling" - // tools = 'controlfreec' - // wes = true - // } - // } + when { + params { + modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' + chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' + dbsnp = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz' + dbsnp_tbi = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz.tbi' + fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' + fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' + input = "${projectDir}/tests/csv/3.0/recalibrated_tumoronly.csv" + no_intervals = true + outdir = "$outputDir" + step = "variant_calling" + tools = 'controlfreec' + wes = true + } + } - // 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') - // // cram_files: All cram files - // def cram_files = getAllFilesFromDir(params.outdir, include: ['**/*.cram']) - // def fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta' - // assertAll( - // { 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_sarek_software_mqc_versions.yml"), - // // All stable path name, with a relative path - // stable_name, - // // All files with stable contents - // stable_path, - // // All cram files - // cram_files.collect{ file -> [ file.getName(), cram(file.toString(), fasta).getReadsMD5() ] } - // ).match() } - // ) - // } - // } + 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') + // cram_files: All cram files + def cram_files = getAllFilesFromDir(params.outdir, include: ['**/*.cram']) + def fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta' + assertAll( + { 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_sarek_software_mqc_versions.yml"), + // All stable path name, with a relative path + stable_name, + // All files with stable contents + stable_path, + // All cram files + cram_files.collect{ file -> [ file.getName(), cram(file.toString(), fasta).getReadsMD5() ] } + ).match() } + ) + } + } } diff --git a/tests/variant_calling_controlfreec.nf.test.snap b/tests/variant_calling_controlfreec.nf.test.snap index 56e383fc3c..06fc231db0 100644 --- a/tests/variant_calling_controlfreec.nf.test.snap +++ b/tests/variant_calling_controlfreec.nf.test.snap @@ -1,117 +1,23 @@ { - "Run with profile test | --tools controlfreec --no_intervals | somatic": { + "Run with profile test | --tools controlfreec | somatic": { "content": [ - 8, + 16, { - "SAMTOOLS_MPILEUP": { - "samtools": 1.21 + "ASSESS_SIGNIFICANCE": { + "controlfreec": 11.6 }, - "Workflow": { - "nf-core/sarek": "v3.5.0dev" - } - }, - [ - "csv", - "no_intervals.bed", - "no_intervals.bed.gz", - "no_intervals.bed.gz.tbi", - "pipeline_info", - "pipeline_info/nf_core_sarek_software_mqc_versions.yml", - "reference", - "reports", - "reports/mosdepth", - "reports/mosdepth/sample3", - "reports/mosdepth/sample3/sample3.recal.mosdepth.global.dist.txt", - "reports/mosdepth/sample3/sample3.recal.mosdepth.summary.txt", - "reports/mosdepth/sample3/sample3.recal.per-base.bed.gz", - "reports/mosdepth/sample3/sample3.recal.per-base.bed.gz.csi", - "reports/mosdepth/sample4", - "reports/mosdepth/sample4/sample4.recal.mosdepth.global.dist.txt", - "reports/mosdepth/sample4/sample4.recal.mosdepth.summary.txt", - "reports/mosdepth/sample4/sample4.recal.per-base.bed.gz", - "reports/mosdepth/sample4/sample4.recal.per-base.bed.gz.csi", - "reports/samtools", - "reports/samtools/sample3", - "reports/samtools/sample3/sample3.recal.cram.stats", - "reports/samtools/sample4", - "reports/samtools/sample4/sample4.recal.cram.stats" - ], - [ - "sample3.recal.mosdepth.global.dist.txt:md5,69e29702ef01fd8f6c7a5468fc35a16a", - "sample3.recal.mosdepth.summary.txt:md5,d2775eb102acc5950f7f53883dcb503d", - "sample3.recal.per-base.bed.gz:md5,297f96648928d0ca5184223fb9941e7c", - "sample3.recal.per-base.bed.gz.csi:md5,519cc5bf84da0d71b87a88c76f83194e", - "sample4.recal.mosdepth.global.dist.txt:md5,f2dcd00a64947c49e8e4b93c2f4fbf27", - "sample4.recal.mosdepth.summary.txt:md5,0a7300e56eda6fba7c7564f00aa000f0", - "sample4.recal.per-base.bed.gz:md5,39a1bc436aa8546c26faedbe94cb676c", - "sample4.recal.per-base.bed.gz.csi:md5,aaa7bed9e7ef873b23bca249b8b58eb9", - "sample3.recal.cram.stats:md5,bcc229318527e414e69aaa5cd092ad9b", - "sample4.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03" - ], - [ - - ] - ], - "meta": { - "nf-test": "0.9.1", - "nextflow": "24.10.0" - }, - "timestamp": "2024-10-29T15:19:24.665754" - }, - "Run with profile test | --tools controlfreec | tumoronly": { - "content": [ - 7, - { - "SAMTOOLS_MPILEUP": { - "samtools": 1.21 + "FREEC2BED": { + "controlfreec": "11.6b" + }, + "FREEC2CIRCOS": { + "controlfreec": "11.6b" + }, + "FREEC_SOMATIC": { + "controlfreec": "11.6b" + }, + "MAKEGRAPH2": { + "controlfreec": "11.6b" }, - "Workflow": { - "nf-core/sarek": "v3.5.0dev" - } - }, - [ - "csv", - "pipeline_info", - "pipeline_info/nf_core_sarek_software_mqc_versions.yml", - "reference", - "reports", - "reports/mosdepth", - "reports/mosdepth/sample2", - "reports/mosdepth/sample2/sample2.recal.mosdepth.global.dist.txt", - "reports/mosdepth/sample2/sample2.recal.mosdepth.region.dist.txt", - "reports/mosdepth/sample2/sample2.recal.mosdepth.summary.txt", - "reports/mosdepth/sample2/sample2.recal.per-base.bed.gz", - "reports/mosdepth/sample2/sample2.recal.per-base.bed.gz.csi", - "reports/mosdepth/sample2/sample2.recal.regions.bed.gz", - "reports/mosdepth/sample2/sample2.recal.regions.bed.gz.csi", - "reports/samtools", - "reports/samtools/sample2", - "reports/samtools/sample2/sample2.recal.cram.stats" - ], - [ - "sample2.recal.mosdepth.global.dist.txt:md5,f2dcd00a64947c49e8e4b93c2f4fbf27", - "sample2.recal.mosdepth.region.dist.txt:md5,39005ffaac22871ffaaf19656fe69c5b", - "sample2.recal.mosdepth.summary.txt:md5,68d4b98f17361fddf73052ead34fa370", - "sample2.recal.per-base.bed.gz:md5,39a1bc436aa8546c26faedbe94cb676c", - "sample2.recal.per-base.bed.gz.csi:md5,aaa7bed9e7ef873b23bca249b8b58eb9", - "sample2.recal.regions.bed.gz:md5,b7561bc56a955f7db0f11e67e2ec0386", - "sample2.recal.regions.bed.gz.csi:md5,538cb5d244411a670a4b041691f8825b", - "sample2.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03" - ], - [ - - ] - ], - "meta": { - "nf-test": "0.9.1", - "nextflow": "24.04.4" - }, - "timestamp": "2024-10-29T15:27:51.939103" - }, - "Run with profile test | --tools controlfreec | somatic": { - "content": [ - 10, - { "SAMTOOLS_MPILEUP": { "samtools": 1.21 }, @@ -121,6 +27,14 @@ }, [ "csv", + "multiqc", + "multiqc/multiqc_data", + "multiqc/multiqc_data/multiqc.log", + "multiqc/multiqc_data/multiqc_citations.txt", + "multiqc/multiqc_data/multiqc_data.json", + "multiqc/multiqc_data/multiqc_software_versions.txt", + "multiqc/multiqc_data/multiqc_sources.txt", + "multiqc/multiqc_report.html", "pipeline_info", "pipeline_info/nf_core_sarek_software_mqc_versions.yml", "reference", @@ -146,9 +60,27 @@ "reports/samtools/sample3", "reports/samtools/sample3/sample3.recal.cram.stats", "reports/samtools/sample4", - "reports/samtools/sample4/sample4.recal.cram.stats" + "reports/samtools/sample4/sample4.recal.cram.stats", + "variant_calling", + "variant_calling/controlfreec", + "variant_calling/controlfreec/sample4_vs_sample3", + "variant_calling/controlfreec/sample4_vs_sample3/config.txt", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.bed", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.circos.txt", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.normal.mpileup.gz_control.cpn", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.p.value.txt", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz_BAF.txt", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz_CNVs", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz_info.txt", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz_ratio.BedGraph", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz_ratio.txt", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz_sample.cpn", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_BAF.png", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_ratio.log2.png", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_ratio.png" ], [ + "multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f", "sample3.recal.mosdepth.global.dist.txt:md5,69e29702ef01fd8f6c7a5468fc35a16a", "sample3.recal.mosdepth.region.dist.txt:md5,6ec49cd7d510c2eb3d9d90fdb79b783a", "sample3.recal.mosdepth.summary.txt:md5,103098d0bf76ed82d2b87d5f242b099a", @@ -164,7 +96,21 @@ "sample4.recal.regions.bed.gz:md5,b7561bc56a955f7db0f11e67e2ec0386", "sample4.recal.regions.bed.gz.csi:md5,538cb5d244411a670a4b041691f8825b", "sample3.recal.cram.stats:md5,bcc229318527e414e69aaa5cd092ad9b", - "sample4.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03" + "sample4.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03", + "config.txt:md5,79c6425fb06e9682f0f82d2218fc4557", + "sample4_vs_sample3.bed:md5,47f60179409e9389e59b2e2525e42210", + "sample4_vs_sample3.circos.txt:md5,68addb1d8bda08355842bef0ab15cd6e", + "sample4_vs_sample3.normal.mpileup.gz_control.cpn:md5,d50bf2c9a4d35f022364901c284e80ed", + "sample4_vs_sample3.p.value.txt:md5,3fad51341e7ee56c3b02de6a51d77efa", + "sample4_vs_sample3.tumor.mpileup.gz_BAF.txt:md5,723779bd103b66dcfa6fcfa692135a61", + "sample4_vs_sample3.tumor.mpileup.gz_CNVs:md5,1d9166f66bf72adf2aea74adfc4ab015", + "sample4_vs_sample3.tumor.mpileup.gz_info.txt:md5,b79da6ae026d86777d60d9f9edb9c6f6", + "sample4_vs_sample3.tumor.mpileup.gz_ratio.BedGraph:md5,cb087117ea046a6350885a34cb4bf667", + "sample4_vs_sample3.tumor.mpileup.gz_ratio.txt:md5,690cbefd87a77a6a37689135585c401c", + "sample4_vs_sample3.tumor.mpileup.gz_sample.cpn:md5,b4f97163fdb6a3d97ca4ea560394cdb1", + "sample4_vs_sample3_BAF.png:md5,16456932bb16e79c8cec4f747846c321", + "sample4_vs_sample3_ratio.log2.png:md5,89dce170acbb4c438be8359d242940df", + "sample4_vs_sample3_ratio.png:md5,6ac35ba93babc019c2d863f7e06b49b1" ], [ @@ -174,12 +120,27 @@ "nf-test": "0.9.1", "nextflow": "24.10.0" }, - "timestamp": "2024-10-29T15:17:43.826814" + "timestamp": "2024-11-14T16:46:15.872055864" }, "Run with profile test | --tools controlfreec --no_intervals | tumoronly": { "content": [ - 5, + 11, { + "ASSESS_SIGNIFICANCE": { + "controlfreec": 11.6 + }, + "FREEC2BED": { + "controlfreec": "11.6b" + }, + "FREEC2CIRCOS": { + "controlfreec": "11.6b" + }, + "FREEC_TUMORONLY": { + "controlfreec": "11.6b" + }, + "MAKEGRAPH2": { + "controlfreec": "11.6b" + }, "SAMTOOLS_MPILEUP": { "samtools": 1.21 }, @@ -189,6 +150,14 @@ }, [ "csv", + "multiqc", + "multiqc/multiqc_data", + "multiqc/multiqc_data/multiqc.log", + "multiqc/multiqc_data/multiqc_citations.txt", + "multiqc/multiqc_data/multiqc_data.json", + "multiqc/multiqc_data/multiqc_software_versions.txt", + "multiqc/multiqc_data/multiqc_sources.txt", + "multiqc/multiqc_report.html", "no_intervals.bed", "no_intervals.bed.gz", "no_intervals.bed.gz.tbi", @@ -199,21 +168,49 @@ "reports/mosdepth", "reports/mosdepth/sample2", "reports/mosdepth/sample2/sample2.recal.mosdepth.global.dist.txt", - "reports/mosdepth/sample2/sample2.recal.mosdepth.region.dist.txt", "reports/mosdepth/sample2/sample2.recal.mosdepth.summary.txt", - "reports/mosdepth/sample2/sample2.recal.regions.bed.gz", - "reports/mosdepth/sample2/sample2.recal.regions.bed.gz.csi", + "reports/mosdepth/sample2/sample2.recal.per-base.bed.gz", + "reports/mosdepth/sample2/sample2.recal.per-base.bed.gz.csi", "reports/samtools", "reports/samtools/sample2", - "reports/samtools/sample2/sample2.recal.cram.stats" + "reports/samtools/sample2/sample2.recal.cram.stats", + "variant_calling", + "variant_calling/controlfreec", + "variant_calling/controlfreec/sample2", + "variant_calling/controlfreec/sample2/config.txt", + "variant_calling/controlfreec/sample2/sample2.bed", + "variant_calling/controlfreec/sample2/sample2.circos.txt", + "variant_calling/controlfreec/sample2/sample2.p.value.txt", + "variant_calling/controlfreec/sample2/sample2.tumor.mpileup.gz_BAF.txt", + "variant_calling/controlfreec/sample2/sample2.tumor.mpileup.gz_CNVs", + "variant_calling/controlfreec/sample2/sample2.tumor.mpileup.gz_info.txt", + "variant_calling/controlfreec/sample2/sample2.tumor.mpileup.gz_ratio.BedGraph", + "variant_calling/controlfreec/sample2/sample2.tumor.mpileup.gz_ratio.txt", + "variant_calling/controlfreec/sample2/sample2.tumor.mpileup.gz_sample.cpn", + "variant_calling/controlfreec/sample2/sample2_BAF.png", + "variant_calling/controlfreec/sample2/sample2_ratio.log2.png", + "variant_calling/controlfreec/sample2/sample2_ratio.png" ], [ - "sample2.recal.mosdepth.global.dist.txt:md5,53f9ae9ab5002ffba340fa8cef7d70e4", - "sample2.recal.mosdepth.region.dist.txt:md5,17600d21ac453506c52249cf435ad8ea", - "sample2.recal.mosdepth.summary.txt:md5,7141030385af1f653718c9e0c9a5be80", - "sample2.recal.regions.bed.gz:md5,c680c5d75f0cea068e3f917f4cf9bf52", - "sample2.recal.regions.bed.gz.csi:md5,4003c8833ed5e9b9f45282a6915c935e", - "sample2.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03" + "multiqc_citations.txt:md5,4c806e63a283ec1b7e78cdae3a923d4f", + "sample2.recal.mosdepth.global.dist.txt:md5,f2dcd00a64947c49e8e4b93c2f4fbf27", + "sample2.recal.mosdepth.summary.txt:md5,0a7300e56eda6fba7c7564f00aa000f0", + "sample2.recal.per-base.bed.gz:md5,39a1bc436aa8546c26faedbe94cb676c", + "sample2.recal.per-base.bed.gz.csi:md5,aaa7bed9e7ef873b23bca249b8b58eb9", + "sample2.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03", + "config.txt:md5,7d15a416ba3d3c2a4d4255e48152937f", + "sample2.bed:md5,5249f46e614b60867bdd6b9b83327979", + "sample2.circos.txt:md5,2efab24d023931cec8b158c56d1f1765", + "sample2.p.value.txt:md5,38c8c9ad33a4fca3804a34d5c436cd1e", + "sample2.tumor.mpileup.gz_BAF.txt:md5,0bb91da6a637ed64d7622eb7d539fd71", + "sample2.tumor.mpileup.gz_CNVs:md5,741831784091e9a51e0c07117b67e18f", + "sample2.tumor.mpileup.gz_info.txt:md5,fed6aa0e0f4232255d5152f5774161b9", + "sample2.tumor.mpileup.gz_ratio.BedGraph:md5,d2347daecbb4eb1f1a3b5558acdf657a", + "sample2.tumor.mpileup.gz_ratio.txt:md5,7587b17b4303715aa45eae017e357c23", + "sample2.tumor.mpileup.gz_sample.cpn:md5,8bf25e5cf94e89bcbbd4bb0d453d3057", + "sample2_BAF.png:md5,32e1189f07f9ddb4892cae10f4003e4a", + "sample2_ratio.log2.png:md5,6d8b8cabc35d391f9a92ede6128eb378", + "sample2_ratio.png:md5,47fce58116c63d6cad34f80575e34e43" ], [ @@ -223,6 +220,6 @@ "nf-test": "0.9.1", "nextflow": "24.10.0" }, - "timestamp": "2024-10-29T15:13:49.158315" + "timestamp": "2024-11-14T16:47:40.762784422" } } \ No newline at end of file From 1831eb5d727d4a256688e63f403a0bae3921cd67 Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 14 Nov 2024 16:49:09 +0100 Subject: [PATCH 3/9] update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a90f9db6a..9e96c11dfb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [1695](https://github.com/nf-core/sarek/pull/1695) - Update all modules - [1707](https://github.com/nf-core/sarek/pull/1707) - Un-hide parameters and clean up Json schema - [1708](https://github.com/nf-core/sarek/pull/1708) - Migrate pipeline pytest alignment and annotation tests to nf-test +- [1731](https://github.com/nf-core/sarek/pull/1731) - Migrate pipeline pytest controlfreec tests to nf-test ### Fixed From fbb686d4e7ab820368d83ae037a78264b08aa16b Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 14 Nov 2024 16:56:37 +0100 Subject: [PATCH 4/9] remove pytest test --- tests/test_controlfreec.yml | 173 ------------------------------------ 1 file changed, 173 deletions(-) delete mode 100644 tests/test_controlfreec.yml diff --git a/tests/test_controlfreec.yml b/tests/test_controlfreec.yml deleted file mode 100644 index 5483c69469..0000000000 --- a/tests/test_controlfreec.yml +++ /dev/null @@ -1,173 +0,0 @@ -- name: Run variant calling on somatic samples with controlfreec - command: nextflow run main.nf -profile test,tools_somatic --tools controlfreec --outdir results - tags: - - controlfreec - - somatic - - variant_calling - - copy_number_calling - files: - - path: results/multiqc - - path: results/variant_calling/controlfreec/sample4_vs_sample3/config.txt - contains: - [ - "BedGraphOutput = TRUE", - "minExpectedGC = 0", - "maxThreads = 2", - "noisyData = TRUE", - "readCountThreshold = 1", - "sex = XX", - "window = 10", - ] - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.bed - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.circos.txt - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.normal.mpileup.gz_control.cpn - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.p.value.txt - # binary changes md5sums on reruns - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz_BAF.txt - # binary changes md5sums on reruns - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz_CNVs - # binary changes md5sums on reruns - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz_info.txt - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz_ratio.BedGraph - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz_ratio.txt - # binary changes md5sums on reruns - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz_sample.cpn - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_BAF.png - # binary changes md5sums on reruns - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_ratio.log2.png - # binary changes md5sums on reruns - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_ratio.png - # binary changes md5sums on reruns - - path: results/variant_calling/mpileup/sample4_vs_sample3/sample4_vs_sample3.normal.mpileup.gz - should_exist: false - - path: results/variant_calling/mpileup/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz - should_exist: false - - path: results/cnvkit - should_exist: false - - path: results/reports/mosdepth/sample3/sample3.recal.mosdepth.global.dist.txt - - path: results/reports/mosdepth/sample3/sample3.recal.mosdepth.region.dist.txt - - path: results/reports/mosdepth/sample3/sample3.recal.mosdepth.summary.txt - - path: results/reports/mosdepth/sample3/sample3.recal.regions.bed.gz - - path: results/reports/mosdepth/sample3/sample3.recal.regions.bed.gz.csi - - path: results/reports/samtools/sample3/sample3.recal.cram.stats - # conda changes md5sums for test - - path: results/reports/mosdepth/sample4/sample4.recal.mosdepth.global.dist.txt - - path: results/reports/mosdepth/sample4/sample4.recal.mosdepth.region.dist.txt - - path: results/reports/mosdepth/sample4/sample4.recal.mosdepth.summary.txt - - path: results/reports/mosdepth/sample4/sample4.recal.regions.bed.gz - - path: results/reports/mosdepth/sample4/sample4.recal.regions.bed.gz.csi - - path: results/reports/samtools/sample4/sample4.recal.cram.stats - # conda changes md5sums for test -- name: Run variant calling on somatic samples with controlfreec without intervals - command: nextflow run main.nf -profile test,tools_somatic --tools controlfreec --no_intervals -stub-run --outdir results - tags: - - controlfreec - - no_intervals - - somatic - - variant_calling - - copy_number_calling - files: - - path: results/multiqc - - path: results/no_intervals.bed - md5sum: f3dac01ea66b95fe477446fde2d31489 - - path: results/no_intervals.bed.gz - md5sum: f3dac01ea66b95fe477446fde2d31489 - - path: results/no_intervals.bed.gz.tbi - md5sum: f3dac01ea66b95fe477446fde2d31489 - - path: results/variant_calling/controlfreec/sample4_vs_sample3/GC_profile.sample4_vs_sample3.cpn - md5sum: d41d8cd98f00b204e9800998ecf8427e # This is the md5sum of an empty file. Are all these files suppose to be empty? - - path: results/variant_calling/controlfreec/sample4_vs_sample3/config.txt - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.bed - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.circos.txt - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.p.value.txt - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_BAF.png - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_BAF.txt - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_CNVs - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_info.txt - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_ratio.BedGraph - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_ratio.log2.png - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_ratio.png - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_ratio.txt - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_sample.cpn - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/mpileup/sample4_vs_sample3/sample4_vs_sample3.normal.mpileup.gz - should_exist: false - - path: results/variant_calling/mpileup/sample4_vs_sample3/sample4_vs_sample3.tumor.mpileup.gz - should_exist: false - - path: results/controlfreec - should_exist: false - - path: results/mpileup - should_exist: false - - path: results/reports/mosdepth/sample3/sample3.recal.global.dist.txt - - path: results/reports/mosdepth/sample3/sample3.recal.summary.txt - - path: results/reports/mosdepth/sample3/sample3.recal.per-base.bed.gz - - path: results/reports/mosdepth/sample3/sample3.recal.per-base.bed.gz.csi - - path: results/reports/samtools/sample3/sample3.recal.cram.stats - # conda changes md5sums for test - - path: results/reports/mosdepth/sample4/sample4.recal.global.dist.txt - - path: results/reports/mosdepth/sample4/sample4.recal.summary.txt - - path: results/reports/mosdepth/sample4/sample4.recal.per-base.bed.gz - - path: results/reports/mosdepth/sample4/sample4.recal.per-base.bed.gz.csi - - path: results/reports/samtools/sample4/sample4.recal.cram.stats - # conda changes md5sums for test -- name: Run variant calling on tumor_only sample with controlfreec - command: nextflow run main.nf -profile test,tools_tumoronly --tools controlfreec -stub-run --outdir results - tags: - - controlfreec - - tumor_only - - variant_calling - - copy_number_calling - files: - - path: results/multiqc - - path: results/variant_calling/controlfreec/sample2/GC_profile.sample2.cpn - md5sum: d41d8cd98f00b204e9800998ecf8427e # This is the md5sum of an empty file. Are all these files suppose to be empty? - - path: results/variant_calling/controlfreec/sample2/config.txt - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample2/sample2.bed - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample2/sample2.circos.txt - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample2/sample2.p.value.txt - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample2/sample2_BAF.png - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample2/sample2_BAF.txt - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample2/sample2_CNVs - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample2/sample2_info.txt - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample2/sample2_ratio.BedGraph - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample2/sample2_ratio.log2.png - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample2/sample2_ratio.png - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample2/sample2_ratio.txt - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/controlfreec/sample2/sample2_sample.cpn - md5sum: d41d8cd98f00b204e9800998ecf8427e - - path: results/variant_calling/mpileup/sample2/sample2.tumor.mpileup.gz - should_exist: false - - path: results/controlfreec - should_exist: false - - path: results/mpileup - should_exist: false - - path: results/reports/mosdepth/sample2/sample2.recal.global.dist.txt - - path: results/reports/mosdepth/sample2/sample2.recal.region.dist.txt - - path: results/reports/mosdepth/sample2/sample2.recal.summary.txt - - path: results/reports/mosdepth/sample2/sample2.recal.regions.bed.gz - - path: results/reports/mosdepth/sample2/sample2.recal.regions.bed.gz.csi - - path: results/reports/samtools/sample2/sample2.recal.cram.stats From 14826cbf9ab66b675d802320f5f514a62aa3326e Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 14 Nov 2024 16:57:08 +0100 Subject: [PATCH 5/9] remove pytest test --- tests/config/pytesttags.yml | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/tests/config/pytesttags.yml b/tests/config/pytesttags.yml index bf67e8358c..651e60a552 100644 --- a/tests/config/pytesttags.yml +++ b/tests/config/pytesttags.yml @@ -139,27 +139,6 @@ cnvkit: - tests/csv/3.0/recalibrated_tumoronly.csv - tests/test_cnvkit.yml -## controlfreec -controlfreec: - - conf/modules/controlfreec.config - - conf/modules/mpileup.config - - modules/nf-core/cat/cat/** - - modules/nf-core/controlfreec/assesssignificance/** - - modules/nf-core/controlfreec/freec/** - - modules/nf-core/controlfreec/freec2bed/** - - modules/nf-core/controlfreec/freec2circos/** - - modules/nf-core/controlfreec/makegraph2/** - - modules/nf-core/mosdepth/** - - modules/nf-core/samtools/mpileup/** - - subworkflows/local/bam_variant_calling_mpileup/** - - subworkflows/local/bam_variant_calling_somatic_all/** - - subworkflows/local/bam_variant_calling_somatic_controlfreec/** - - subworkflows/local/bam_variant_calling_tumor_only_all/** - - subworkflows/local/bam_variant_calling_tumor_only_controlfreec/** - - tests/csv/3.0/recalibrated_somatic.csv - - tests/csv/3.0/recalibrated_tumoronly.csv - - tests/test_controlfreec.yml - ## deepvariant deepvariant: - conf/modules/deepvariant.config From 434823a28338b8f2c82492cf8bd864f128d87351 Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 14 Nov 2024 17:02:47 +0100 Subject: [PATCH 6/9] update nf-test to 9.0.2 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8ed6cebe7e..dec0eb59ee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ on: env: NFT_DIFF: "pdiff" NFT_DIFF_ARGS: "--line-numbers --width 120 --expand-tabs=2" - NFT_VER: "0.9.0" + NFT_VER: "0.9.2" NFT_WORKDIR: "~" NXF_ANSI_LOG: false NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity From e34218c900ce94b74266e2cbefe3cb7ec612395f Mon Sep 17 00:00:00 2001 From: maxulysse Date: Thu, 14 Nov 2024 17:11:49 +0100 Subject: [PATCH 7/9] do not capture this file --- tests/.nftignore | 1 + tests/variant_calling_controlfreec.nf.test.snap | 8 +++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/tests/.nftignore b/tests/.nftignore index eab033ffd2..785b202a93 100644 --- a/tests/.nftignore +++ b/tests/.nftignore @@ -22,3 +22,4 @@ reports/markduplicates/**/*.md.cram.metrics reports/snpeff/*/*_snpEff.csv reports/snpeff/*/snpEff_summary.html variant_calling/**/*.vcf.{gz,gz.tbi} +variant_calling/controlfreec/*/config.txt diff --git a/tests/variant_calling_controlfreec.nf.test.snap b/tests/variant_calling_controlfreec.nf.test.snap index 06fc231db0..8f3ce080f8 100644 --- a/tests/variant_calling_controlfreec.nf.test.snap +++ b/tests/variant_calling_controlfreec.nf.test.snap @@ -97,7 +97,6 @@ "sample4.recal.regions.bed.gz.csi:md5,538cb5d244411a670a4b041691f8825b", "sample3.recal.cram.stats:md5,bcc229318527e414e69aaa5cd092ad9b", "sample4.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03", - "config.txt:md5,79c6425fb06e9682f0f82d2218fc4557", "sample4_vs_sample3.bed:md5,47f60179409e9389e59b2e2525e42210", "sample4_vs_sample3.circos.txt:md5,68addb1d8bda08355842bef0ab15cd6e", "sample4_vs_sample3.normal.mpileup.gz_control.cpn:md5,d50bf2c9a4d35f022364901c284e80ed", @@ -113,7 +112,7 @@ "sample4_vs_sample3_ratio.png:md5,6ac35ba93babc019c2d863f7e06b49b1" ], [ - + ] ], "meta": { @@ -198,7 +197,6 @@ "sample2.recal.per-base.bed.gz:md5,39a1bc436aa8546c26faedbe94cb676c", "sample2.recal.per-base.bed.gz.csi:md5,aaa7bed9e7ef873b23bca249b8b58eb9", "sample2.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03", - "config.txt:md5,7d15a416ba3d3c2a4d4255e48152937f", "sample2.bed:md5,5249f46e614b60867bdd6b9b83327979", "sample2.circos.txt:md5,2efab24d023931cec8b158c56d1f1765", "sample2.p.value.txt:md5,38c8c9ad33a4fca3804a34d5c436cd1e", @@ -213,7 +211,7 @@ "sample2_ratio.png:md5,47fce58116c63d6cad34f80575e34e43" ], [ - + ] ], "meta": { @@ -222,4 +220,4 @@ }, "timestamp": "2024-11-14T16:47:40.762784422" } -} \ No newline at end of file +} From cf4f60662ff82c4075c9155de8205cec35b5c90b Mon Sep 17 00:00:00 2001 From: maxulysse Date: Fri, 15 Nov 2024 10:06:13 +0100 Subject: [PATCH 8/9] no commented tests --- tests/variant_calling_controlfreec.nf.test | 90 ---------------------- 1 file changed, 90 deletions(-) diff --git a/tests/variant_calling_controlfreec.nf.test b/tests/variant_calling_controlfreec.nf.test index b0f047eb93..163cdde918 100644 --- a/tests/variant_calling_controlfreec.nf.test +++ b/tests/variant_calling_controlfreec.nf.test @@ -50,96 +50,6 @@ nextflow_pipeline { } } - // test("Run with profile test | --tools controlfreec --no_intervals | somatic") { - - // when { - // params { - // modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' - // chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' - // dbsnp = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz' - // dbsnp_tbi = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz.tbi' - // fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' - // fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' - // input = "${projectDir}/tests/csv/3.0/recalibrated_somatic.csv" - // no_intervals = true - // outdir = "$outputDir" - // step = "variant_calling" - // tools = 'controlfreec' - // wes = true - // } - // } - - // 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') - // // cram_files: All cram files - // def cram_files = getAllFilesFromDir(params.outdir, include: ['**/*.cram']) - // def fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta' - // assertAll( - // { 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_sarek_software_mqc_versions.yml"), - // // All stable path name, with a relative path - // stable_name, - // // All files with stable contents - // stable_path, - // // All cram files - // cram_files.collect{ file -> [ file.getName(), cram(file.toString(), fasta).getReadsMD5() ] } - // ).match() } - // ) - // } - // } - - // test("Run with profile test | --tools controlfreec | tumoronly") { - - // when { - // params { - // modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' - // chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' - // dbsnp = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz' - // dbsnp_tbi = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz.tbi' - // fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' - // fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' - // input = "${projectDir}/tests/csv/3.0/recalibrated_tumoronly.csv" - // intervals = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed' - // outdir = "$outputDir" - // step = "variant_calling" - // tools = 'controlfreec' - // wes = true - // } - // } - - // 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') - // // cram_files: All cram files - // def cram_files = getAllFilesFromDir(params.outdir, include: ['**/*.cram']) - // def fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta' - // assertAll( - // { 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_sarek_software_mqc_versions.yml"), - // // All stable path name, with a relative path - // stable_name, - // // All files with stable contents - // stable_path, - // // All cram files - // cram_files.collect{ file -> [ file.getName(), cram(file.toString(), fasta).getReadsMD5() ] } - // ).match() } - // ) - // } - // } - test("Run with profile test | --tools controlfreec --no_intervals | tumoronly") { when { From 01a4915bfd2fe65aadc0fb2348d5bf43b52f95db Mon Sep 17 00:00:00 2001 From: FriederikeHanssen Date: Tue, 10 Dec 2024 10:43:04 +0000 Subject: [PATCH 9/9] add stub tests --- modules.json | 2 +- modules/local/create_intervals_bed/main.nf | 2 +- modules/nf-core/samtools/mpileup/main.nf | 21 +- tests/variant_calling_controlfreec.nf.test | 90 ++++ .../variant_calling_controlfreec.nf.test.snap | 395 +++++++++++++++++- 5 files changed, 502 insertions(+), 8 deletions(-) diff --git a/modules.json b/modules.json index c2e28076ab..1b00aac7e4 100644 --- a/modules.json +++ b/modules.json @@ -392,7 +392,7 @@ }, "samtools/mpileup": { "branch": "master", - "git_sha": "b13f07be4c508d6ff6312d354d09f2493243e208", + "git_sha": "13e7d1046922381df90cd8fe9bee8c3e57ae8457", "installed_by": ["modules"] }, "samtools/stats": { diff --git a/modules/local/create_intervals_bed/main.nf b/modules/local/create_intervals_bed/main.nf index 2bf36190e4..ad42e6ad53 100644 --- a/modules/local/create_intervals_bed/main.nf +++ b/modules/local/create_intervals_bed/main.nf @@ -79,7 +79,7 @@ process CREATE_INTERVALS_BED { // def prefix_basename = prefix.substring(0, prefix.lastIndexOf(".")) """ - touch ${prefix}.bed + touch ${prefix}.stub.bed cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/nf-core/samtools/mpileup/main.nf b/modules/nf-core/samtools/mpileup/main.nf index a45c6045b1..925c8244e0 100644 --- a/modules/nf-core/samtools/mpileup/main.nf +++ b/modules/nf-core/samtools/mpileup/main.nf @@ -6,13 +6,14 @@ process SAMTOOLS_MPILEUP { container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://depot.galaxyproject.org/singularity/samtools:1.21--h50ea8bc_0' : 'biocontainers/samtools:1.21--h50ea8bc_0' }" + input: tuple val(meta), path(input), path(intervals) path fasta output: tuple val(meta), path("*.mpileup.gz"), emit: mpileup - path "versions.yml" , emit: versions + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when @@ -20,15 +21,29 @@ process SAMTOOLS_MPILEUP { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def intervals = intervals ? "-l ${intervals}" : "" + def intervals_arg = intervals ? "-l ${intervals}" : "" """ samtools mpileup \\ --fasta-ref $fasta \\ --output ${prefix}.mpileup \\ $args \\ - $intervals \\ + $intervals_arg \\ $input bgzip ${prefix}.mpileup + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') + END_VERSIONS + """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def intervals_arg = intervals ? "-l ${intervals}" : "" + """ + touch ${prefix}.mpileup.gz + cat <<-END_VERSIONS > versions.yml "${task.process}": samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') diff --git a/tests/variant_calling_controlfreec.nf.test b/tests/variant_calling_controlfreec.nf.test index 163cdde918..934cf97c4c 100644 --- a/tests/variant_calling_controlfreec.nf.test +++ b/tests/variant_calling_controlfreec.nf.test @@ -94,4 +94,94 @@ nextflow_pipeline { ) } } + + test("Run with profile test | --tools controlfreec --no_intervals | somatic | stub") { + options "-stub" + when { + params { + modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' + chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' + dbsnp = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz' + dbsnp_tbi = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz.tbi' + fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' + fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' + input = "${projectDir}/tests/csv/3.0/recalibrated_somatic.csv" + no_intervals = true + outdir = "$outputDir" + step = "variant_calling" + tools = 'controlfreec' + wes = true + } + } + + 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') + // cram_files: All cram files + def cram_files = getAllFilesFromDir(params.outdir, include: ['**/*.cram']) + def fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta' + assertAll( + { 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_sarek_software_mqc_versions.yml"), + // All stable path name, with a relative path + stable_name, + // All files with stable contents + stable_path, + // All cram files + cram_files.collect{ file -> [ file.getName(), cram(file.toString(), fasta).getReadsMD5() ] } + ).match() } + ) + } + } + + test("Run with profile test | --tools controlfreec | tumoronly | stub") { + options "-stub" + when { + params { + modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' + chr_dir = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chromosomes.tar.gz' + dbsnp = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz' + dbsnp_tbi = params.modules_testdata_base_path + '/genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz.tbi' + fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta' + fasta_fai = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai' + input = "${projectDir}/tests/csv/3.0/recalibrated_tumoronly.csv" + intervals = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed' + outdir = "$outputDir" + step = "variant_calling" + tools = 'controlfreec' + wes = true + } + } + + 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') + // cram_files: All cram files + def cram_files = getAllFilesFromDir(params.outdir, include: ['**/*.cram']) + def fasta = params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta' + assertAll( + { 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_sarek_software_mqc_versions.yml"), + // All stable path name, with a relative path + stable_name, + // All files with stable contents + stable_path, + // All cram files + cram_files.collect{ file -> [ file.getName(), cram(file.toString(), fasta).getReadsMD5() ] } + ).match() } + ) + } + } } diff --git a/tests/variant_calling_controlfreec.nf.test.snap b/tests/variant_calling_controlfreec.nf.test.snap index 8f3ce080f8..5fe28a6577 100644 --- a/tests/variant_calling_controlfreec.nf.test.snap +++ b/tests/variant_calling_controlfreec.nf.test.snap @@ -1,4 +1,284 @@ { + "Run with profile test | --tools controlfreec --no_intervals | somatic": { + "content": [ + 8, + { + "SAMTOOLS_MPILEUP": { + "samtools": 1.21 + }, + "Workflow": { + "nf-core/sarek": "v3.5.0dev" + } + }, + [ + "csv", + "no_intervals.bed", + "no_intervals.bed.gz", + "no_intervals.bed.gz.tbi", + "pipeline_info", + "pipeline_info/nf_core_sarek_software_mqc_versions.yml", + "reference", + "reports", + "reports/mosdepth", + "reports/mosdepth/sample3", + "reports/mosdepth/sample3/sample3.recal.mosdepth.global.dist.txt", + "reports/mosdepth/sample3/sample3.recal.mosdepth.summary.txt", + "reports/mosdepth/sample3/sample3.recal.per-base.bed.gz", + "reports/mosdepth/sample3/sample3.recal.per-base.bed.gz.csi", + "reports/mosdepth/sample4", + "reports/mosdepth/sample4/sample4.recal.mosdepth.global.dist.txt", + "reports/mosdepth/sample4/sample4.recal.mosdepth.summary.txt", + "reports/mosdepth/sample4/sample4.recal.per-base.bed.gz", + "reports/mosdepth/sample4/sample4.recal.per-base.bed.gz.csi", + "reports/samtools", + "reports/samtools/sample3", + "reports/samtools/sample3/sample3.recal.cram.stats", + "reports/samtools/sample4", + "reports/samtools/sample4/sample4.recal.cram.stats" + ], + [ + "sample3.recal.mosdepth.global.dist.txt:md5,69e29702ef01fd8f6c7a5468fc35a16a", + "sample3.recal.mosdepth.summary.txt:md5,d2775eb102acc5950f7f53883dcb503d", + "sample3.recal.per-base.bed.gz:md5,297f96648928d0ca5184223fb9941e7c", + "sample3.recal.per-base.bed.gz.csi:md5,519cc5bf84da0d71b87a88c76f83194e", + "sample4.recal.mosdepth.global.dist.txt:md5,f2dcd00a64947c49e8e4b93c2f4fbf27", + "sample4.recal.mosdepth.summary.txt:md5,0a7300e56eda6fba7c7564f00aa000f0", + "sample4.recal.per-base.bed.gz:md5,39a1bc436aa8546c26faedbe94cb676c", + "sample4.recal.per-base.bed.gz.csi:md5,aaa7bed9e7ef873b23bca249b8b58eb9", + "sample3.recal.cram.stats:md5,bcc229318527e414e69aaa5cd092ad9b", + "sample4.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03" + ], + [ + + ] + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-10T09:46:49.516904333" + }, + "Run with profile test | --tools controlfreec | tumoronly": { + "content": [ + 11, + { + "FREEC2BED": { + "controlfreec": "11.6b" + }, + "FREEC2CIRCOS": { + "controlfreec": "11.6b" + }, + "FREEC_TUMORONLY": { + "controlfreec": "11.6b" + }, + "SAMTOOLS_MPILEUP": { + "samtools": 1.21 + }, + "Workflow": { + "nf-core/sarek": "v3.5.0dev" + } + }, + [ + "csv", + "pipeline_info", + "pipeline_info/nf_core_sarek_software_mqc_versions.yml", + "reference", + "reports", + "reports/mosdepth", + "reports/mosdepth/sample2", + "reports/mosdepth/sample2/sample2.recal.mosdepth.global.dist.txt", + "reports/mosdepth/sample2/sample2.recal.mosdepth.region.dist.txt", + "reports/mosdepth/sample2/sample2.recal.mosdepth.summary.txt", + "reports/mosdepth/sample2/sample2.recal.per-base.bed.gz", + "reports/mosdepth/sample2/sample2.recal.per-base.bed.gz.csi", + "reports/mosdepth/sample2/sample2.recal.regions.bed.gz", + "reports/mosdepth/sample2/sample2.recal.regions.bed.gz.csi", + "reports/samtools", + "reports/samtools/sample2", + "reports/samtools/sample2/sample2.recal.cram.stats", + "variant_calling", + "variant_calling/controlfreec", + "variant_calling/controlfreec/sample2", + "variant_calling/controlfreec/sample2/config.txt", + "variant_calling/controlfreec/sample2/sample2.bed", + "variant_calling/controlfreec/sample2/sample2.circos.txt", + "variant_calling/controlfreec/sample2/sample2.p.value.txt", + "variant_calling/controlfreec/sample2/sample2.tumor.mpileup.gz_BAF.txt", + "variant_calling/controlfreec/sample2/sample2.tumor.mpileup.gz_CNVs", + "variant_calling/controlfreec/sample2/sample2.tumor.mpileup.gz_info.txt", + "variant_calling/controlfreec/sample2/sample2.tumor.mpileup.gz_ratio.BedGraph", + "variant_calling/controlfreec/sample2/sample2.tumor.mpileup.gz_ratio.txt", + "variant_calling/controlfreec/sample2/sample2.tumor.mpileup.gz_sample.cpn" + ], + [ + "sample2.recal.mosdepth.global.dist.txt:md5,f2dcd00a64947c49e8e4b93c2f4fbf27", + "sample2.recal.mosdepth.region.dist.txt:md5,39005ffaac22871ffaaf19656fe69c5b", + "sample2.recal.mosdepth.summary.txt:md5,68d4b98f17361fddf73052ead34fa370", + "sample2.recal.per-base.bed.gz:md5,39a1bc436aa8546c26faedbe94cb676c", + "sample2.recal.per-base.bed.gz.csi:md5,aaa7bed9e7ef873b23bca249b8b58eb9", + "sample2.recal.regions.bed.gz:md5,b7561bc56a955f7db0f11e67e2ec0386", + "sample2.recal.regions.bed.gz.csi:md5,538cb5d244411a670a4b041691f8825b", + "sample2.recal.cram.stats:md5,0d1784cb4c3f14b9858247ac6128dd03", + "sample2.bed:md5,480eb7f5467f7496c0c96da382563fed", + "sample2.circos.txt:md5,83b313af17990145404e4a98d59b98b2", + "sample2.p.value.txt:md5,a5baccb0b7e35c93848fc7d3f586bc98", + "sample2.tumor.mpileup.gz_BAF.txt:md5,c7f0d18d66988fe2938a8f5691772bcb", + "sample2.tumor.mpileup.gz_CNVs:md5,29d1456ae74a2a07c87dfae5dd1bf4a9", + "sample2.tumor.mpileup.gz_info.txt:md5,da8f48d99b48e85c2aac89f143e20e5b", + "sample2.tumor.mpileup.gz_ratio.BedGraph:md5,869661a75d7ec23f6cf1192b4c6f8512", + "sample2.tumor.mpileup.gz_ratio.txt:md5,cc7f5e1ae29196cc1f4052eebc03b65c", + "sample2.tumor.mpileup.gz_sample.cpn:md5,1b53d73a6f04b29c9693ecbffe8dc3a2" + ], + [ + + ] + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-10T09:55:52.492595419" + }, + "Run with profile test | --tools controlfreec --no_intervals | somatic | stub": { + "content": [ + 14, + { + "ASSESS_SIGNIFICANCE": { + "controlfreec": 11.6 + }, + "FREEC2BED": { + "controlfreec": "11.6b" + }, + "FREEC2CIRCOS": { + "controlfreec": "11.6b" + }, + "FREEC_SOMATIC": { + "controlfreec": "11.6b" + }, + "MAKEGRAPH2": { + "controlfreec": "11.6b" + }, + "SAMTOOLS_MPILEUP": { + "samtools": 1.21 + }, + "Workflow": { + "nf-core/sarek": "v3.5.0dev" + } + }, + [ + "csv", + "multiqc", + "multiqc/multiqc_data", + "multiqc/multiqc_plots", + "multiqc/multiqc_report.html", + "no_intervals.bed", + "no_intervals.bed.gz", + "no_intervals.bed.gz.tbi", + "pipeline_info", + "pipeline_info/nf_core_sarek_software_mqc_versions.yml", + "reference", + "reports", + "reports/mosdepth", + "reports/mosdepth/sample3", + "reports/mosdepth/sample3/sample3.recal.global.dist.txt", + "reports/mosdepth/sample3/sample3.recal.per-base.bed.gz", + "reports/mosdepth/sample3/sample3.recal.per-base.bed.gz.csi", + "reports/mosdepth/sample3/sample3.recal.per-base.d4", + "reports/mosdepth/sample3/sample3.recal.quantized.bed.gz", + "reports/mosdepth/sample3/sample3.recal.quantized.bed.gz.csi", + "reports/mosdepth/sample3/sample3.recal.region.dist.txt", + "reports/mosdepth/sample3/sample3.recal.regions.bed.gz", + "reports/mosdepth/sample3/sample3.recal.regions.bed.gz.csi", + "reports/mosdepth/sample3/sample3.recal.summary.txt", + "reports/mosdepth/sample3/sample3.recal.thresholds.bed.gz", + "reports/mosdepth/sample3/sample3.recal.thresholds.bed.gz.csi", + "reports/mosdepth/sample4", + "reports/mosdepth/sample4/sample4.recal.global.dist.txt", + "reports/mosdepth/sample4/sample4.recal.per-base.bed.gz", + "reports/mosdepth/sample4/sample4.recal.per-base.bed.gz.csi", + "reports/mosdepth/sample4/sample4.recal.per-base.d4", + "reports/mosdepth/sample4/sample4.recal.quantized.bed.gz", + "reports/mosdepth/sample4/sample4.recal.quantized.bed.gz.csi", + "reports/mosdepth/sample4/sample4.recal.region.dist.txt", + "reports/mosdepth/sample4/sample4.recal.regions.bed.gz", + "reports/mosdepth/sample4/sample4.recal.regions.bed.gz.csi", + "reports/mosdepth/sample4/sample4.recal.summary.txt", + "reports/mosdepth/sample4/sample4.recal.thresholds.bed.gz", + "reports/mosdepth/sample4/sample4.recal.thresholds.bed.gz.csi", + "reports/samtools", + "reports/samtools/sample3", + "reports/samtools/sample3/sample3.recal.cram.stats", + "reports/samtools/sample4", + "reports/samtools/sample4/sample4.recal.cram.stats", + "variant_calling", + "variant_calling/controlfreec", + "variant_calling/controlfreec/sample4_vs_sample3", + "variant_calling/controlfreec/sample4_vs_sample3/GC_profile.sample4_vs_sample3.cpn", + "variant_calling/controlfreec/sample4_vs_sample3/config.txt", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.bed", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.circos.txt", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3.p.value.txt", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_BAF.png", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_BAF.txt", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_CNVs", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_info.txt", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_ratio.BedGraph", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_ratio.log2.png", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_ratio.png", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_ratio.txt", + "variant_calling/controlfreec/sample4_vs_sample3/sample4_vs_sample3_sample.cpn" + ], + [ + "sample3.recal.global.dist.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample3.recal.per-base.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "sample3.recal.per-base.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample3.recal.per-base.d4:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample3.recal.quantized.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "sample3.recal.quantized.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample3.recal.region.dist.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample3.recal.regions.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "sample3.recal.regions.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample3.recal.summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample3.recal.thresholds.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "sample3.recal.thresholds.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4.recal.global.dist.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4.recal.per-base.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "sample4.recal.per-base.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4.recal.per-base.d4:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4.recal.quantized.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "sample4.recal.quantized.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4.recal.region.dist.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4.recal.regions.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "sample4.recal.regions.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4.recal.summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4.recal.thresholds.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "sample4.recal.thresholds.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample3.recal.cram.stats:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4.recal.cram.stats:md5,d41d8cd98f00b204e9800998ecf8427e", + "GC_profile.sample4_vs_sample3.cpn:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4_vs_sample3.bed:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4_vs_sample3.circos.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4_vs_sample3.p.value.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4_vs_sample3_BAF.png:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4_vs_sample3_BAF.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4_vs_sample3_CNVs:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4_vs_sample3_info.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4_vs_sample3_ratio.BedGraph:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4_vs_sample3_ratio.log2.png:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4_vs_sample3_ratio.png:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4_vs_sample3_ratio.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample4_vs_sample3_sample.cpn:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + [ + + ] + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-10T10:14:32.674251218" + }, "Run with profile test | --tools controlfreec | somatic": { "content": [ 16, @@ -112,7 +392,7 @@ "sample4_vs_sample3_ratio.png:md5,6ac35ba93babc019c2d863f7e06b49b1" ], [ - + ] ], "meta": { @@ -121,6 +401,115 @@ }, "timestamp": "2024-11-14T16:46:15.872055864" }, + "Run with profile test | --tools controlfreec | tumoronly | stub": { + "content": [ + 13, + { + "ASSESS_SIGNIFICANCE": { + "controlfreec": 11.6 + }, + "FREEC2BED": { + "controlfreec": "11.6b" + }, + "FREEC2CIRCOS": { + "controlfreec": "11.6b" + }, + "FREEC_TUMORONLY": { + "controlfreec": "11.6b" + }, + "MAKEGRAPH2": { + "controlfreec": "11.6b" + }, + "SAMTOOLS_MPILEUP": { + "samtools": 1.21 + }, + "Workflow": { + "nf-core/sarek": "v3.5.0dev" + } + }, + [ + "csv", + "multiqc", + "multiqc/multiqc_data", + "multiqc/multiqc_plots", + "multiqc/multiqc_report.html", + "pipeline_info", + "pipeline_info/nf_core_sarek_software_mqc_versions.yml", + "reference", + "reports", + "reports/mosdepth", + "reports/mosdepth/sample2", + "reports/mosdepth/sample2/sample2.recal.global.dist.txt", + "reports/mosdepth/sample2/sample2.recal.per-base.bed.gz", + "reports/mosdepth/sample2/sample2.recal.per-base.bed.gz.csi", + "reports/mosdepth/sample2/sample2.recal.per-base.d4", + "reports/mosdepth/sample2/sample2.recal.quantized.bed.gz", + "reports/mosdepth/sample2/sample2.recal.quantized.bed.gz.csi", + "reports/mosdepth/sample2/sample2.recal.region.dist.txt", + "reports/mosdepth/sample2/sample2.recal.regions.bed.gz", + "reports/mosdepth/sample2/sample2.recal.regions.bed.gz.csi", + "reports/mosdepth/sample2/sample2.recal.summary.txt", + "reports/mosdepth/sample2/sample2.recal.thresholds.bed.gz", + "reports/mosdepth/sample2/sample2.recal.thresholds.bed.gz.csi", + "reports/samtools", + "reports/samtools/sample2", + "reports/samtools/sample2/sample2.recal.cram.stats", + "variant_calling", + "variant_calling/controlfreec", + "variant_calling/controlfreec/sample2", + "variant_calling/controlfreec/sample2/GC_profile.sample2.cpn", + "variant_calling/controlfreec/sample2/config.txt", + "variant_calling/controlfreec/sample2/sample2.bed", + "variant_calling/controlfreec/sample2/sample2.circos.txt", + "variant_calling/controlfreec/sample2/sample2.p.value.txt", + "variant_calling/controlfreec/sample2/sample2_BAF.png", + "variant_calling/controlfreec/sample2/sample2_BAF.txt", + "variant_calling/controlfreec/sample2/sample2_CNVs", + "variant_calling/controlfreec/sample2/sample2_info.txt", + "variant_calling/controlfreec/sample2/sample2_ratio.BedGraph", + "variant_calling/controlfreec/sample2/sample2_ratio.log2.png", + "variant_calling/controlfreec/sample2/sample2_ratio.png", + "variant_calling/controlfreec/sample2/sample2_ratio.txt", + "variant_calling/controlfreec/sample2/sample2_sample.cpn" + ], + [ + "sample2.recal.global.dist.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2.recal.per-base.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "sample2.recal.per-base.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2.recal.per-base.d4:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2.recal.quantized.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "sample2.recal.quantized.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2.recal.region.dist.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2.recal.regions.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "sample2.recal.regions.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2.recal.summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2.recal.thresholds.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "sample2.recal.thresholds.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2.recal.cram.stats:md5,d41d8cd98f00b204e9800998ecf8427e", + "GC_profile.sample2.cpn:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2.bed:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2.circos.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2.p.value.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2_BAF.png:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2_BAF.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2_CNVs:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2_info.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2_ratio.BedGraph:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2_ratio.log2.png:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2_ratio.png:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2_ratio.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sample2_sample.cpn:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + [ + + ] + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-10T10:33:44.36063821" + }, "Run with profile test | --tools controlfreec --no_intervals | tumoronly": { "content": [ 11, @@ -211,7 +600,7 @@ "sample2_ratio.png:md5,47fce58116c63d6cad34f80575e34e43" ], [ - + ] ], "meta": { @@ -220,4 +609,4 @@ }, "timestamp": "2024-11-14T16:47:40.762784422" } -} +} \ No newline at end of file