From b6ff2af355dd1afe6bca9163a8dd604b0241cc37 Mon Sep 17 00:00:00 2001 From: FriederikeHanssen Date: Fri, 20 Sep 2024 10:47:47 +0000 Subject: [PATCH 1/6] add plots optionally for each quality metric --- modules/nf-core/sentieon/datametrics/main.nf | 21 +++++++++++++++++++ modules/nf-core/sentieon/datametrics/meta.yml | 16 ++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/modules/nf-core/sentieon/datametrics/main.nf b/modules/nf-core/sentieon/datametrics/main.nf index e430f1e53ec..6567cc7218f 100644 --- a/modules/nf-core/sentieon/datametrics/main.nf +++ b/modules/nf-core/sentieon/datametrics/main.nf @@ -12,6 +12,7 @@ process SENTIEON_DATAMETRICS { tuple val(meta), path(bam), path(bai) tuple val(meta2), path(fasta) tuple val(meta3), path(fai) + val plot_results output: tuple val(meta), path('*mq_metrics.txt') , emit: mq_metrics @@ -20,6 +21,10 @@ process SENTIEON_DATAMETRICS { tuple val(meta), path('*gc_metrics.txt') , emit: gc_metrics tuple val(meta), path('*aln_metrics.txt'), emit: aln_metrics tuple val(meta), path('*is_metrics.txt') , emit: is_metrics + tuple val(meta), path('*mq_metrics.pdf') , emit: mq_plot, optional: true + tuple val(meta), path('*qd_metrics.pdf') , emit: qd_plot, optional: true + tuple val(meta), path('*is_metrics.pdf') , emit: is_plot, optional: true + tuple val(meta), path('*gc_metrics.pdf') , emit: gc_plot, optional: true path "versions.yml" , emit: versions when: @@ -47,6 +52,14 @@ process SENTIEON_DATAMETRICS { --algo InsertSizeMetricAlgo ${prefix}_is_metrics.txt \\ --algo AlignmentStat ${prefix}_aln_metrics.txt + if $plot_results + then + sentieon plot GCBias -o ${prefix}_gc_metrics.pdf ${prefix}_gc_metrics.txt + sentieon plot MeanQualityByCycle -o ${prefix}_mq_metrics.pdf ${prefix}_mq_metrics.txt + sentieon plot QualDistribution -o ${prefix}_qd_metrics.pdf ${prefix}_qd_metrics.txt + sentieon plot InsertSizeMetricAlgo -o ${prefix}_is_metrics.pdf ${prefix}_is_metrics.txt + fi + cat <<-END_VERSIONS > versions.yml "${task.process}": sentieon: \$(echo \$(sentieon driver --version 2>&1) | sed -e "s/sentieon-genomics-//g") @@ -63,6 +76,14 @@ process SENTIEON_DATAMETRICS { touch ${prefix}_aln_metrics.txt touch ${prefix}_is_metrics.txt + if $plot_results + then + touch ${prefix}_gc_metrics.pdf + touch ${prefix}_mq_metrics.pdf + touch ${prefix}_qd_metrics.pdf + touch ${prefix}_is_metrics.pdf + fi + cat <<-END_VERSIONS > versions.yml "${task.process}": sentieon: \$(echo \$(sentieon driver --version 2>&1) | sed -e "s/sentieon-genomics-//g") diff --git a/modules/nf-core/sentieon/datametrics/meta.yml b/modules/nf-core/sentieon/datametrics/meta.yml index d2d1450a692..08ebd986a9f 100644 --- a/modules/nf-core/sentieon/datametrics/meta.yml +++ b/modules/nf-core/sentieon/datametrics/meta.yml @@ -77,6 +77,22 @@ output: type: file description: File containing the information about statistical distribution of insert sizes pattern: "*.txt" + - mq_plot: + type: file + description: "PDF containting plot of mean base quality scores" + pattern: "*.pdf" + - qd_plot: + type: file + description: "PDF containting plot of specific base quality score" + pattern: "*.pdf" + - is_plot: + type: file + description: "PDF containting plot of insert sizes" + pattern: "*.pdf" + - gc_plot: + type: file + description: "PDF containting plot of GC bias" + pattern: "*.pdf" authors: - "@ramprasadn" maintainers: From c49ad837b4794c046f04b9a8582afc7f087b88c2 Mon Sep 17 00:00:00 2001 From: FriederikeHanssen Date: Fri, 20 Sep 2024 11:00:21 +0000 Subject: [PATCH 2/6] switch to nf-test --- .../sentieon/datametrics/tests/main.nf.test | 109 ++++++++++++++++++ .../datametrics/tests/nextflow.config | 16 +++ .../nf-core/sentieon/datametrics/main.nf | 24 ---- .../sentieon/datametrics/nextflow.config | 20 ---- .../nf-core/sentieon/datametrics/test.yml | 13 --- 5 files changed, 125 insertions(+), 57 deletions(-) create mode 100644 modules/nf-core/sentieon/datametrics/tests/main.nf.test create mode 100644 modules/nf-core/sentieon/datametrics/tests/nextflow.config delete mode 100644 tests/modules/nf-core/sentieon/datametrics/main.nf delete mode 100644 tests/modules/nf-core/sentieon/datametrics/nextflow.config delete mode 100644 tests/modules/nf-core/sentieon/datametrics/test.yml diff --git a/modules/nf-core/sentieon/datametrics/tests/main.nf.test b/modules/nf-core/sentieon/datametrics/tests/main.nf.test new file mode 100644 index 00000000000..a13d68e6ef3 --- /dev/null +++ b/modules/nf-core/sentieon/datametrics/tests/main.nf.test @@ -0,0 +1,109 @@ +nextflow_process { + + name "Test Process SENTIEON_DATAMETRICS" + script "../main.nf" + process "SENTIEON_DATAMETRICS" + + tag "modules" + tag "modules_nfcore" + tag "sentieon" + tag "sentieon/datametrics" + config "./nextflow.config" + + test("metrics - no plots") { + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + ] + input [1] = [ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + ] + input [2] = [ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true), + ] + input [3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("metrics - with plots") { + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + ] + input [1] = [ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + ] + input [2] = [ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true), + ] + input [3] = true + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("sarscov2 - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + ] + input [1] = [ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + ] + input [2] = [ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true), + ] + input [3] = true + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + +} diff --git a/modules/nf-core/sentieon/datametrics/tests/nextflow.config b/modules/nf-core/sentieon/datametrics/tests/nextflow.config new file mode 100644 index 00000000000..dead4e3238c --- /dev/null +++ b/modules/nf-core/sentieon/datametrics/tests/nextflow.config @@ -0,0 +1,16 @@ +env { + // NOTE This is how pipeline users will use Sentieon in real world use + SENTIEON_LICENSE = "$SENTIEON_LICSRVR_IP" + // NOTE This should only happen in GitHub actions or nf-core MegaTests + SENTIEON_AUTH_MECH = "$SENTIEON_AUTH_MECH" + SENTIEON_AUTH_DATA = secrets.SENTIEON_AUTH_DATA + // NOTE This is how pipeline users will test out Sentieon with a license file + // nextflow secrets set SENTIEON_LICENSE_BASE64 \$(cat | base64 -w 0) +} + +process { + withLabel: 'sentieon' { + ext.sentieon_auth_mech_base64 = secrets.SENTIEON_AUTH_MECH_BASE64 + ext.sentieon_auth_data_base64 = secrets.SENTIEON_AUTH_DATA_BASE64 + } +} diff --git a/tests/modules/nf-core/sentieon/datametrics/main.nf b/tests/modules/nf-core/sentieon/datametrics/main.nf deleted file mode 100644 index be7c607f383..00000000000 --- a/tests/modules/nf-core/sentieon/datametrics/main.nf +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env nextflow - -nextflow.enable.dsl = 2 - -include { SENTIEON_DATAMETRICS } from '../../../../../modules/nf-core/sentieon/datametrics/main.nf' - -workflow test_sentieon_datametrics { - - input = [ - [ id:'test', single_end:false ], // meta map - file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam'], checkIfExists: true), - file(params.test_data['sarscov2']['illumina']['test_paired_end_sorted_bam_bai'], checkIfExists: true) - ] - fasta = [ - [id:'genome'], - file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) - ] - fai = [ - [id:'genome'], - file(params.test_data['sarscov2']['genome']['genome_fasta_fai'], checkIfExists: true) - ] - - SENTIEON_DATAMETRICS ( input, fasta, fai ) -} diff --git a/tests/modules/nf-core/sentieon/datametrics/nextflow.config b/tests/modules/nf-core/sentieon/datametrics/nextflow.config deleted file mode 100644 index 578ce50b6a5..00000000000 --- a/tests/modules/nf-core/sentieon/datametrics/nextflow.config +++ /dev/null @@ -1,20 +0,0 @@ -env { - // NOTE This is how nf-core/sarek users will use Sentieon in real world use - SENTIEON_LICENSE = $SENTIEON_LICSRVR_IP - // NOTE This should only happen in GitHub actions or nf-core MegaTests - SENTIEON_AUTH_MECH = $SENTIEON_AUTH_MECH - SENTIEON_AUTH_DATA = secrets.SENTIEON_AUTH_DATA - // NOTE This is how nf-core/sarek users will test out Sentieon in Sarek with a license file - // nextflow secrets set SENTIEON_LICENSE_BASE64 $(cat | base64 -w 0) -} - -process { - - publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } - - withLabel: 'sentieon' { - ext.sentieon_auth_mech_base64 = secrets.SENTIEON_AUTH_MECH_BASE64 - ext.sentieon_auth_data_base64 = secrets.SENTIEON_AUTH_DATA_BASE64 - } - -} diff --git a/tests/modules/nf-core/sentieon/datametrics/test.yml b/tests/modules/nf-core/sentieon/datametrics/test.yml deleted file mode 100644 index c13434ee980..00000000000 --- a/tests/modules/nf-core/sentieon/datametrics/test.yml +++ /dev/null @@ -1,13 +0,0 @@ -- name: sentieon datametrics - command: nextflow run ./tests/modules/nf-core/sentieon/datametrics -entry test_sentieon_datametrics -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/sentieon/datametrics/nextflow.config - tags: - - sentieon - - sentieon/datametrics - files: - - path: ./output/sentieon/test_mq_metrics.txt - - path: ./output/sentieon/test_qd_metrics.txt - - path: ./output/sentieon/test_gc_summary.txt - - path: ./output/sentieon/test_gc_metrics.txt - - path: ./output/sentieon/test_aln_metrics.txt - - path: ./output/sentieon/test_is_metrics.txt - - path: ./output/sentieon/versions.yml From e4004d7aa8ec703b9d7beb0e8435d40ddeb42fe9 Mon Sep 17 00:00:00 2001 From: FriederikeHanssen Date: Fri, 20 Sep 2024 12:05:18 +0000 Subject: [PATCH 3/6] add snapshots --- .../datametrics/tests/main.nf.test.snap | 545 ++++++++++++++++++ 1 file changed, 545 insertions(+) create mode 100644 modules/nf-core/sentieon/datametrics/tests/main.nf.test.snap diff --git a/modules/nf-core/sentieon/datametrics/tests/main.nf.test.snap b/modules/nf-core/sentieon/datametrics/tests/main.nf.test.snap new file mode 100644 index 00000000000..25b1ae128fb --- /dev/null +++ b/modules/nf-core/sentieon/datametrics/tests/main.nf.test.snap @@ -0,0 +1,545 @@ +{ + "sarscov2 - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test_mq_metrics.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test_qd_metrics.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "10": [ + "versions.yml:md5,7c769d886e94ed56a45445ac1c9ebcdf" + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_metrics.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + "test_aln_metrics.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": false + }, + "test_is_metrics.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": false + }, + "test_mq_metrics.pdf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": false + }, + "test_qd_metrics.pdf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + { + "id": "test", + "single_end": false + }, + "test_is_metrics.pdf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "9": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_metrics.pdf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "aln_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_aln_metrics.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gc_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_metrics.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gc_plot": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_metrics.pdf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gc_summary": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "is_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_is_metrics.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "is_plot": [ + [ + { + "id": "test", + "single_end": false + }, + "test_is_metrics.pdf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "mq_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_mq_metrics.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "mq_plot": [ + [ + { + "id": "test", + "single_end": false + }, + "test_mq_metrics.pdf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "qd_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_qd_metrics.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "qd_plot": [ + [ + { + "id": "test", + "single_end": false + }, + "test_qd_metrics.pdf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,7c769d886e94ed56a45445ac1c9ebcdf" + ] + } + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-09-20T12:01:01.974389137" + }, + "metrics - with plots": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test_mq_metrics.txt:md5,4f4540509edee8dc3ad78caf1733e206" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test_qd_metrics.txt:md5,f53e8b0da374aa35908cfd2180bf1406" + ] + ], + "10": [ + "versions.yml:md5,7c769d886e94ed56a45445ac1c9ebcdf" + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_summary.txt:md5,33e6d54497ac882486c38ec05b2ca60a" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_metrics.txt:md5,1ed8166e64c9a44e40ab6e5173489ef2" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + "test_aln_metrics.txt:md5,1cf61ba2d564cf427976d2543fd770ac" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": false + }, + "test_is_metrics.txt:md5,be543f33974d1ed4663ef2676a416669" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": false + }, + "test_mq_metrics.pdf:md5,c04212fac971c67066082dcb63fa08ce" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": false + }, + "test_qd_metrics.pdf:md5,4edab3779660668a7cfd203196912ace" + ] + ], + "8": [ + [ + { + "id": "test", + "single_end": false + }, + "test_is_metrics.pdf:md5,068232633e0f93ea2b53f4c698bd8a54" + ] + ], + "9": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_metrics.pdf:md5,950372106204ff4d2fbe5ca413ac8300" + ] + ], + "aln_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_aln_metrics.txt:md5,1cf61ba2d564cf427976d2543fd770ac" + ] + ], + "gc_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_metrics.txt:md5,1ed8166e64c9a44e40ab6e5173489ef2" + ] + ], + "gc_plot": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_metrics.pdf:md5,950372106204ff4d2fbe5ca413ac8300" + ] + ], + "gc_summary": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_summary.txt:md5,33e6d54497ac882486c38ec05b2ca60a" + ] + ], + "is_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_is_metrics.txt:md5,be543f33974d1ed4663ef2676a416669" + ] + ], + "is_plot": [ + [ + { + "id": "test", + "single_end": false + }, + "test_is_metrics.pdf:md5,068232633e0f93ea2b53f4c698bd8a54" + ] + ], + "mq_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_mq_metrics.txt:md5,4f4540509edee8dc3ad78caf1733e206" + ] + ], + "mq_plot": [ + [ + { + "id": "test", + "single_end": false + }, + "test_mq_metrics.pdf:md5,c04212fac971c67066082dcb63fa08ce" + ] + ], + "qd_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_qd_metrics.txt:md5,f53e8b0da374aa35908cfd2180bf1406" + ] + ], + "qd_plot": [ + [ + { + "id": "test", + "single_end": false + }, + "test_qd_metrics.pdf:md5,4edab3779660668a7cfd203196912ace" + ] + ], + "versions": [ + "versions.yml:md5,7c769d886e94ed56a45445ac1c9ebcdf" + ] + } + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-09-20T12:00:41.711146115" + }, + "metrics - no plots": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test_mq_metrics.txt:md5,4f4540509edee8dc3ad78caf1733e206" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test_qd_metrics.txt:md5,f53e8b0da374aa35908cfd2180bf1406" + ] + ], + "10": [ + "versions.yml:md5,7c769d886e94ed56a45445ac1c9ebcdf" + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_summary.txt:md5,33e6d54497ac882486c38ec05b2ca60a" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_metrics.txt:md5,1ed8166e64c9a44e40ab6e5173489ef2" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + "test_aln_metrics.txt:md5,1cf61ba2d564cf427976d2543fd770ac" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": false + }, + "test_is_metrics.txt:md5,be543f33974d1ed4663ef2676a416669" + ] + ], + "6": [ + + ], + "7": [ + + ], + "8": [ + + ], + "9": [ + + ], + "aln_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_aln_metrics.txt:md5,1cf61ba2d564cf427976d2543fd770ac" + ] + ], + "gc_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_metrics.txt:md5,1ed8166e64c9a44e40ab6e5173489ef2" + ] + ], + "gc_plot": [ + + ], + "gc_summary": [ + [ + { + "id": "test", + "single_end": false + }, + "test_gc_summary.txt:md5,33e6d54497ac882486c38ec05b2ca60a" + ] + ], + "is_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_is_metrics.txt:md5,be543f33974d1ed4663ef2676a416669" + ] + ], + "is_plot": [ + + ], + "mq_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_mq_metrics.txt:md5,4f4540509edee8dc3ad78caf1733e206" + ] + ], + "mq_plot": [ + + ], + "qd_metrics": [ + [ + { + "id": "test", + "single_end": false + }, + "test_qd_metrics.txt:md5,f53e8b0da374aa35908cfd2180bf1406" + ] + ], + "qd_plot": [ + + ], + "versions": [ + "versions.yml:md5,7c769d886e94ed56a45445ac1c9ebcdf" + ] + } + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-09-20T12:00:27.37021578" + } +} \ No newline at end of file From b1972c27b69bc9b5c943aef420a255b5a32beae1 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Fri, 20 Sep 2024 12:09:53 +0000 Subject: [PATCH 4/6] [automated] Fix linting with Prettier --- modules/nf-core/sentieon/datametrics/meta.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/sentieon/datametrics/meta.yml b/modules/nf-core/sentieon/datametrics/meta.yml index 08ebd986a9f..3ea7ad9da2c 100644 --- a/modules/nf-core/sentieon/datametrics/meta.yml +++ b/modules/nf-core/sentieon/datametrics/meta.yml @@ -77,7 +77,7 @@ output: type: file description: File containing the information about statistical distribution of insert sizes pattern: "*.txt" - - mq_plot: + - mq_plot: type: file description: "PDF containting plot of mean base quality scores" pattern: "*.pdf" From e56cade674e6496f77ca7bbdb57e6da05b5c0753 Mon Sep 17 00:00:00 2001 From: FriederikeHanssen Date: Fri, 20 Sep 2024 12:33:31 +0000 Subject: [PATCH 5/6] update meta.yml --- modules/nf-core/sentieon/datametrics/meta.yml | 206 ++++++++++++------ 1 file changed, 136 insertions(+), 70 deletions(-) diff --git a/modules/nf-core/sentieon/datametrics/meta.yml b/modules/nf-core/sentieon/datametrics/meta.yml index 3ea7ad9da2c..2b59da39c8a 100644 --- a/modules/nf-core/sentieon/datametrics/meta.yml +++ b/modules/nf-core/sentieon/datametrics/meta.yml @@ -11,88 +11,154 @@ tools: Our software improves upon BWA, STAR, Minimap2, GATK, HaplotypeCaller, Mutect, and Mutect2 based pipelines and is deployable on any generic-CPU-based computing system. homepage: https://www.sentieon.com/ documentation: https://www.sentieon.com/ + identifier: "" input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'test', single_end:false ]` - - meta2: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'test', single_end:false ]` - - meta3: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'test', single_end:false ]` - - bam: - type: file - description: Sorted BAM/CRAM/SAM file - pattern: "*.{bam,cram,sam}" - - bai: - type: file - description: Index of th sorted BAM/CRAM/SAM file - pattern: "*.{bai,crai,sai}" - - fasta: - type: file - description: Genome fasta file - pattern: "*.{fa,fasta}" - - fai: - type: file - description: Index of the genome fasta file - pattern: "*.fai" + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - bam: + type: file + description: Sorted BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + - bai: + type: file + description: Index of th sorted BAM/CRAM/SAM file + pattern: "*.{bai,crai,sai}" + - - meta2: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - fasta: + type: file + description: Genome fasta file + pattern: "*.{fa,fasta}" + - - meta3: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - fai: + type: file + description: Index of the genome fasta file + pattern: "*.fai" + - - plot_results: + type: boolean + description: Boolean to determine whether plots should be generated + pattern: "true or false" output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'test', single_end:false ]` - - versions: - type: file - description: File containing software versions - pattern: "versions.yml" - mq_metrics: - type: file - description: File containing the information about mean base quality score for each sequencing cycle - pattern: "*.txt" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - "*mq_metrics.txt": + type: file + description: File containing the information about mean base quality score for + each sequencing cycle + pattern: "*.txt" - qd_metrics: - type: file - description: File containing the information about number of bases with a specific base quality score - pattern: "*.txt" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - "*qd_metrics.txt": + type: file + description: File containing the information about number of bases with a specific + base quality score + pattern: "*.txt" - gc_summary: - type: file - description: File containing the information about GC bias in the reference and the sample - pattern: "*.txt" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - "*gc_summary.txt": + type: file + description: File containing the information about GC bias in the reference + and the sample + pattern: "*.txt" - gc_metrics: - type: file - description: File containing the information about GC bias in the reference and the sample - pattern: "*.txt" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - "*gc_metrics.txt": + type: file + description: File containing the information about GC bias in the reference + and the sample + pattern: "*.txt" - aln_metrics: - type: file - description: File containing the statistics about the alignment of the reads - pattern: "*.txt" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - "*aln_metrics.txt": + type: file + description: File containing the statistics about the alignment of the reads + pattern: "*.txt" - is_metrics: - type: file - description: File containing the information about statistical distribution of insert sizes - pattern: "*.txt" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - "*is_metrics.txt": + type: file + description: File containing the information about statistical distribution + of insert sizes + pattern: "*.txt" - mq_plot: - type: file - description: "PDF containting plot of mean base quality scores" - pattern: "*.pdf" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - "*mq_metrics.pdf": + type: file + description: "PDF containting plot of mean base quality scores" + pattern: "*.pdf" - qd_plot: - type: file - description: "PDF containting plot of specific base quality score" - pattern: "*.pdf" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - "*qd_metrics.pdf": + type: file + description: "PDF containting plot of specific base quality score" + pattern: "*.pdf" - is_plot: - type: file - description: "PDF containting plot of insert sizes" - pattern: "*.pdf" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - "*is_metrics.pdf": + type: file + description: "PDF containting plot of insert sizes" + pattern: "*.pdf" - gc_plot: - type: file - description: "PDF containting plot of GC bias" - pattern: "*.pdf" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - "*gc_metrics.pdf": + type: file + description: "PDF containting plot of GC bias" + pattern: "*.pdf" + - versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@ramprasadn" maintainers: From db104916303ad92b17029adddafcd4e4dd59fd19 Mon Sep 17 00:00:00 2001 From: FriederikeHanssen Date: Fri, 20 Sep 2024 14:45:51 +0000 Subject: [PATCH 6/6] exclude conda --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c8dc9cbc518..6d486992e07 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -606,6 +606,8 @@ jobs: path: modules/nf-core/sentieon/bwaindex - profile: conda path: modules/nf-core/sentieon/bwamem + - profile: conda + path: modules/nf-core/sentieon/datametrics - profile: conda path: modules/nf-core/sentieon/dedup - profile: conda