From a5a6973fcf161d0449b216c166ba232c6c55bcbb Mon Sep 17 00:00:00 2001 From: Matthias De Smet <11850640+matthdsm@users.noreply.github.com> Date: Sat, 21 May 2022 08:33:49 +0200 Subject: [PATCH 1/6] picard: make reference sequence optional --- modules/picard/collecthsmetrics/main.nf | 2 +- modules/picard/collectmultiplemetrics/main.nf | 3 ++- modules/picard/collectwgsmetrics/main.nf | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/picard/collecthsmetrics/main.nf b/modules/picard/collecthsmetrics/main.nf index 317aff4b..06b6b8f3 100644 --- a/modules/picard/collecthsmetrics/main.nf +++ b/modules/picard/collecthsmetrics/main.nf @@ -24,7 +24,7 @@ process PICARD_COLLECTHSMETRICS { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def reference = fasta ? "-R $fasta" : "" + def reference = fasta ? "--REFERENCE_SEQUENCE ${fasta}" : "" def avail_mem = 3 if (!task.memory) { diff --git a/modules/picard/collectmultiplemetrics/main.nf b/modules/picard/collectmultiplemetrics/main.nf index a653b549..3c3152df 100644 --- a/modules/picard/collectmultiplemetrics/main.nf +++ b/modules/picard/collectmultiplemetrics/main.nf @@ -22,6 +22,7 @@ process PICARD_COLLECTMULTIPLEMETRICS { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" + def reference = fasta ? "--REFERENCE_SEQUENCE ${fasta}" : "" def avail_mem = 3 if (!task.memory) { log.info '[Picard CollectMultipleMetrics] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.' @@ -35,7 +36,7 @@ process PICARD_COLLECTMULTIPLEMETRICS { $args \\ --INPUT $bam \\ --OUTPUT ${prefix}.CollectMultipleMetrics \\ - --REFERENCE_SEQUENCE $fasta + $reference cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/picard/collectwgsmetrics/main.nf b/modules/picard/collectwgsmetrics/main.nf index e6dd49e9..13446fcf 100644 --- a/modules/picard/collectwgsmetrics/main.nf +++ b/modules/picard/collectwgsmetrics/main.nf @@ -21,6 +21,7 @@ process PICARD_COLLECTWGSMETRICS { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" + def reference = fasta ? "--REFERENCE_SEQUENCE ${fasta}" : "" def avail_mem = 3 if (!task.memory) { log.info '[Picard CollectWgsMetrics] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.' @@ -34,7 +35,7 @@ process PICARD_COLLECTWGSMETRICS { $args \\ --INPUT $bam \\ --OUTPUT ${prefix}.CollectWgsMetrics.coverage_metrics \\ - --REFERENCE_SEQUENCE $fasta + $reference cat <<-END_VERSIONS > versions.yml From 4da143ce62dfcfbe7b23394be0ae5520a442b43b Mon Sep 17 00:00:00 2001 From: Matthias De Smet <11850640+matthdsm@users.noreply.github.com> Date: Sun, 22 May 2022 06:43:48 +0200 Subject: [PATCH 2/6] add tests --- tests/modules/picard/collecthsmetrics/main.nf | 11 ++++ .../modules/picard/collecthsmetrics/test.yml | 15 ++++- .../picard/collectmultiplemetrics/main.nf | 14 ++++- .../picard/collectmultiplemetrics/test.yml | 62 +++++++++++++++---- 4 files changed, 84 insertions(+), 18 deletions(-) diff --git a/tests/modules/picard/collecthsmetrics/main.nf b/tests/modules/picard/collecthsmetrics/main.nf index a28eb174..b25f3bf5 100644 --- a/tests/modules/picard/collecthsmetrics/main.nf +++ b/tests/modules/picard/collecthsmetrics/main.nf @@ -16,3 +16,14 @@ workflow test_picard_collecthsmetrics { PICARD_COLLECTHSMETRICS ( input, fasta, fai, bait_intervals, target_intervals ) } + +workflow test_picard_collecthsmetrics_nofasta { + + input = [ [ id:'test', single_end:false ], // meta map + file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true) ] + + bait_intervals = file(params.test_data['sarscov2']['genome']['baits_interval_list'], checkIfExists: true) + target_intervals = file(params.test_data['sarscov2']['genome']['targets_interval_list'], checkIfExists: true) + + PICARD_COLLECTHSMETRICS ( input, [], [], bait_intervals, target_intervals ) +} diff --git a/tests/modules/picard/collecthsmetrics/test.yml b/tests/modules/picard/collecthsmetrics/test.yml index 9aa14f15..547cc09f 100644 --- a/tests/modules/picard/collecthsmetrics/test.yml +++ b/tests/modules/picard/collecthsmetrics/test.yml @@ -1,8 +1,17 @@ - name: picard collecthsmetrics test_picard_collecthsmetrics - command: nextflow run ./tests/modules/picard/collecthsmetrics -entry test_picard_collecthsmetrics -c ./tests/config/nextflow.config -c ./tests/modules/picard/collecthsmetrics/nextflow.config + command: nextflow run ./tests/modules/picard/collecthsmetrics -entry test_picard_collecthsmetrics -c ./tests/config/nextflow.config -c ./tests/modules/picard/collecthsmetrics/nextflow.config tags: - - picard - picard/collecthsmetrics + - picard files: - # The file can't be md5'd consistently - path: output/picard/test.CollectHsMetrics.coverage_metrics + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + +- name: picard collecthsmetrics test_picard_collecthsmetrics_nofasta + command: nextflow run ./tests/modules/picard/collecthsmetrics -entry test_picard_collecthsmetrics_nofasta -c ./tests/config/nextflow.config -c ./tests/modules/picard/collecthsmetrics/nextflow.config + tags: + - picard/collecthsmetrics + - picard + files: + - path: output/picard/test.CollectHsMetrics.coverage_metrics + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' diff --git a/tests/modules/picard/collectmultiplemetrics/main.nf b/tests/modules/picard/collectmultiplemetrics/main.nf index 453ecc91..4fee5f73 100644 --- a/tests/modules/picard/collectmultiplemetrics/main.nf +++ b/tests/modules/picard/collectmultiplemetrics/main.nf @@ -5,10 +5,20 @@ nextflow.enable.dsl = 2 include { PICARD_COLLECTMULTIPLEMETRICS } from '../../../../modules/picard/collectmultiplemetrics/main.nf' workflow test_picard_collectmultiplemetrics { - input = [ [ id:'test', single_end:false ], // meta map - file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) + input = [ + [ id:'test', single_end:false ], // meta map + file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) ] fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) PICARD_COLLECTMULTIPLEMETRICS ( input, fasta ) } + +workflow test_picard_collectmultiplemetrics_nofasta { + input = [ + [ id:'test', single_end:false ], // meta map + file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true) + ] + + PICARD_COLLECTMULTIPLEMETRICS ( input, [] ) +} diff --git a/tests/modules/picard/collectmultiplemetrics/test.yml b/tests/modules/picard/collectmultiplemetrics/test.yml index 8fecca73..db77a585 100644 --- a/tests/modules/picard/collectmultiplemetrics/test.yml +++ b/tests/modules/picard/collectmultiplemetrics/test.yml @@ -1,17 +1,53 @@ -- name: picard collectmultiplemetrics - command: nextflow run ./tests/modules/picard/collectmultiplemetrics -entry test_picard_collectmultiplemetrics -c ./tests/config/nextflow.config -c ./tests/modules/picard/collectmultiplemetrics/nextflow.config +- name: picard collectmultiplemetrics test_picard_collectmultiplemetrics + command: nextflow run ./tests/modules/picard/collectmultiplemetrics -entry test_picard_collectmultiplemetrics -c ./tests/config/nextflow.config -c ./tests/modules/picard/collectmultiplemetrics/nextflow.config tags: - picard - picard/collectmultiplemetrics files: - # These can't be md5'd consistently - - path: ./output/picard/test.CollectMultipleMetrics.alignment_summary_metrics - - path: ./output/picard/test.CollectMultipleMetrics.insert_size_metrics - - path: ./output/picard/test.CollectMultipleMetrics.quality_distribution_metrics - - path: ./output/picard/test.CollectMultipleMetrics.quality_by_cycle_metrics - - path: ./output/picard/test.CollectMultipleMetrics.base_distribution_by_cycle_metrics - - path: ./output/picard/test.CollectMultipleMetrics.quality_by_cycle.pdf - - path: ./output/picard/test.CollectMultipleMetrics.quality_distribution.pdf - - path: ./output/picard/test.CollectMultipleMetrics.read_length_histogram.pdf - - path: ./output/picard/test.CollectMultipleMetrics.base_distribution_by_cycle.pdf - - path: ./output/picard/test.CollectMultipleMetrics.insert_size_histogram.pdf + - path: output/picard/test.CollectMultipleMetrics.alignment_summary_metrics + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.base_distribution_by_cycle.pdf + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.base_distribution_by_cycle_metrics + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.insert_size_histogram.pdf + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.insert_size_metrics + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.quality_by_cycle.pdf + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.quality_by_cycle_metrics + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.quality_distribution.pdf + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.quality_distribution_metrics + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.read_length_histogram.pdf + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + +- name: picard collectmultiplemetrics test_picard_collectmultiplemetrics_nofasta + command: nextflow run ./tests/modules/picard/collectmultiplemetrics -entry test_picard_collectmultiplemetrics_nofasta -c ./tests/config/nextflow.config -c ./tests/modules/picard/collectmultiplemetrics/nextflow.config + tags: + - picard + - picard/collectmultiplemetrics + files: + - path: output/picard/test.CollectMultipleMetrics.alignment_summary_metrics + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.base_distribution_by_cycle.pdf + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.base_distribution_by_cycle_metrics + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.insert_size_histogram.pdf + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.insert_size_metrics + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.quality_by_cycle.pdf + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.quality_by_cycle_metrics + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.quality_distribution.pdf + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.quality_distribution_metrics + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' + - path: output/picard/test.CollectMultipleMetrics.read_length_histogram.pdf + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' From c390385cf5a234906a30f013ba0a3c9a27b1b601 Mon Sep 17 00:00:00 2001 From: Matthias De Smet <11850640+matthdsm@users.noreply.github.com> Date: Sun, 22 May 2022 06:44:05 +0200 Subject: [PATCH 3/6] revert wgsmetrics' --- modules/picard/collectwgsmetrics/main.nf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/picard/collectwgsmetrics/main.nf b/modules/picard/collectwgsmetrics/main.nf index 13446fcf..cab1fe0c 100644 --- a/modules/picard/collectwgsmetrics/main.nf +++ b/modules/picard/collectwgsmetrics/main.nf @@ -21,7 +21,6 @@ process PICARD_COLLECTWGSMETRICS { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def reference = fasta ? "--REFERENCE_SEQUENCE ${fasta}" : "" def avail_mem = 3 if (!task.memory) { log.info '[Picard CollectWgsMetrics] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.' @@ -35,7 +34,7 @@ process PICARD_COLLECTWGSMETRICS { $args \\ --INPUT $bam \\ --OUTPUT ${prefix}.CollectWgsMetrics.coverage_metrics \\ - $reference + --REFERENCE_SEQUENCE ${fasta} cat <<-END_VERSIONS > versions.yml From 3a2de0cf6f670a5652d3b3d961fcf25b6fc3cc03 Mon Sep 17 00:00:00 2001 From: Matthias De Smet <11850640+matthdsm@users.noreply.github.com> Date: Sun, 22 May 2022 06:49:31 +0200 Subject: [PATCH 4/6] update test for wgsmetrics --- tests/modules/picard/collectwgsmetrics/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/modules/picard/collectwgsmetrics/test.yml b/tests/modules/picard/collectwgsmetrics/test.yml index 2daef406..72a017da 100644 --- a/tests/modules/picard/collectwgsmetrics/test.yml +++ b/tests/modules/picard/collectwgsmetrics/test.yml @@ -1,5 +1,5 @@ - name: picard collectwgsmetrics test_picard_collectwgsmetrics - command: nextflow run ./tests/modules/picard/collectwgsmetrics -entry test_picard_collectwgsmetrics -c ./tests/config/nextflow.config -c ./tests/modules/picard/collectwgsmetrics/nextflow.config + command: nextflow run ./tests/modules/picard/collectwgsmetrics -entry test_picard_collectwgsmetrics -c ./tests/config/nextflow.config -c ./tests/modules/picard/collectwgsmetrics/nextflow.config tags: - picard/collectwgsmetrics - picard From cbceee9621e0c1fcaf50c77a01ce2345e469d22b Mon Sep 17 00:00:00 2001 From: Matthias De Smet <11850640+matthdsm@users.noreply.github.com> Date: Sun, 22 May 2022 06:51:27 +0200 Subject: [PATCH 5/6] fix tests --- tests/modules/picard/collecthsmetrics/test.yml | 2 -- tests/modules/picard/collectmultiplemetrics/test.yml | 10 ---------- tests/modules/picard/collectwgsmetrics/test.yml | 5 +---- 3 files changed, 1 insertion(+), 16 deletions(-) diff --git a/tests/modules/picard/collecthsmetrics/test.yml b/tests/modules/picard/collecthsmetrics/test.yml index 547cc09f..61069b55 100644 --- a/tests/modules/picard/collecthsmetrics/test.yml +++ b/tests/modules/picard/collecthsmetrics/test.yml @@ -5,7 +5,6 @@ - picard files: - path: output/picard/test.CollectHsMetrics.coverage_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - name: picard collecthsmetrics test_picard_collecthsmetrics_nofasta command: nextflow run ./tests/modules/picard/collecthsmetrics -entry test_picard_collecthsmetrics_nofasta -c ./tests/config/nextflow.config -c ./tests/modules/picard/collecthsmetrics/nextflow.config @@ -14,4 +13,3 @@ - picard files: - path: output/picard/test.CollectHsMetrics.coverage_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' diff --git a/tests/modules/picard/collectmultiplemetrics/test.yml b/tests/modules/picard/collectmultiplemetrics/test.yml index db77a585..faa002b6 100644 --- a/tests/modules/picard/collectmultiplemetrics/test.yml +++ b/tests/modules/picard/collectmultiplemetrics/test.yml @@ -32,22 +32,12 @@ - picard/collectmultiplemetrics files: - path: output/picard/test.CollectMultipleMetrics.alignment_summary_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.base_distribution_by_cycle.pdf - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.base_distribution_by_cycle_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.insert_size_histogram.pdf - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.insert_size_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.quality_by_cycle.pdf - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.quality_by_cycle_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.quality_distribution.pdf - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.quality_distribution_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.read_length_histogram.pdf - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' diff --git a/tests/modules/picard/collectwgsmetrics/test.yml b/tests/modules/picard/collectwgsmetrics/test.yml index 72a017da..8cfeb43a 100644 --- a/tests/modules/picard/collectwgsmetrics/test.yml +++ b/tests/modules/picard/collectwgsmetrics/test.yml @@ -5,7 +5,4 @@ - picard files: - path: output/picard/test.CollectWgsMetrics.coverage_metrics - contains: - - "GENOME_TERRITORY" - - "29829" - - "17554" + contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' From e13fbf423e2993d15fb882fc85097993688d2b19 Mon Sep 17 00:00:00 2001 From: Matthias De Smet <11850640+matthdsm@users.noreply.github.com> Date: Sun, 22 May 2022 06:54:09 +0200 Subject: [PATCH 6/6] fix tests (again) --- tests/modules/picard/collectmultiplemetrics/test.yml | 10 ---------- tests/modules/picard/collectwgsmetrics/test.yml | 1 - 2 files changed, 11 deletions(-) diff --git a/tests/modules/picard/collectmultiplemetrics/test.yml b/tests/modules/picard/collectmultiplemetrics/test.yml index faa002b6..475778fe 100644 --- a/tests/modules/picard/collectmultiplemetrics/test.yml +++ b/tests/modules/picard/collectmultiplemetrics/test.yml @@ -5,25 +5,15 @@ - picard/collectmultiplemetrics files: - path: output/picard/test.CollectMultipleMetrics.alignment_summary_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.base_distribution_by_cycle.pdf - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.base_distribution_by_cycle_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.insert_size_histogram.pdf - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.insert_size_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.quality_by_cycle.pdf - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.quality_by_cycle_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.quality_distribution.pdf - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.quality_distribution_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - path: output/picard/test.CollectMultipleMetrics.read_length_histogram.pdf - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]' - name: picard collectmultiplemetrics test_picard_collectmultiplemetrics_nofasta command: nextflow run ./tests/modules/picard/collectmultiplemetrics -entry test_picard_collectmultiplemetrics_nofasta -c ./tests/config/nextflow.config -c ./tests/modules/picard/collectmultiplemetrics/nextflow.config diff --git a/tests/modules/picard/collectwgsmetrics/test.yml b/tests/modules/picard/collectwgsmetrics/test.yml index 8cfeb43a..6e99a04c 100644 --- a/tests/modules/picard/collectwgsmetrics/test.yml +++ b/tests/modules/picard/collectwgsmetrics/test.yml @@ -5,4 +5,3 @@ - picard files: - path: output/picard/test.CollectWgsMetrics.coverage_metrics - contains: '[ # TODO nf-core: file md5sum was variable, please replace this text with a string found in the file instead ]'