Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] --tools is now case insensitive #1188

Open
wants to merge 23 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
3b70073
Added: --tools now case insensitive
adamrtalbot Aug 18, 2023
fa07a79
Made a few tests use random case
adamrtalbot Aug 18, 2023
fcb458d
make --tools case insensitive
adamrtalbot Aug 18, 2023
08398c4
CI tests pull repo before checking for diff
adamrtalbot Aug 18, 2023
5cb3acd
Update CHANGELOG.md
adamrtalbot Aug 19, 2023
31608dd
Use function for all config
adamrtalbot Aug 22, 2023
748735a
minor fixups
adamrtalbot Aug 22, 2023
247e3ce
Add method to Nextflow script in addition to config
adamrtalbot Aug 22, 2023
264d5ac
Update all tools checks to use function
adamrtalbot Aug 23, 2023
3a702ac
Replace 'contains' with 'equals' for tool checks
adamrtalbot Aug 23, 2023
5ca3a85
Rename checkTools to checkInParam
adamrtalbot Aug 23, 2023
07c70a0
Add nullable check for parameter
adamrtalbot Aug 23, 2023
efc70a6
fixup
adamrtalbot Aug 23, 2023
19bf8fc
Merge branch 'dev' into tools-case-insensitive
adamrtalbot Aug 23, 2023
e62f96b
Method overloading for catching lists and strings
adamrtalbot Aug 23, 2023
ed6fa7f
Fix params.checkInParam to checkInParam
adamrtalbot Aug 29, 2023
e6c998f
Export checkInParam to external file
adamrtalbot Aug 29, 2023
92108c0
Remove explicit check for parameter not null outside of checkInParam …
adamrtalbot Aug 29, 2023
0a3b1cd
Setup Cache for Nextflow and Pip
adamrtalbot Aug 31, 2023
5ca82cb
unique-ify the installation cache key
adamrtalbot Aug 31, 2023
d142cbc
Add Nf version to nf-cache
adamrtalbot Aug 31, 2023
4a6c2b5
Merge branch 'dev' into tools-case-insensitive
adamrtalbot Sep 7, 2023
81462b2
lint
adamrtalbot Sep 7, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Rapaselet is a delta formed by the Rapaätno river between the Bielloriehppe mas
- [#1173](https://github.com/nf-core/sarek/pull/1173) - CI tests for VQSR track with stub runs
- [#1122](https://github.com/nf-core/sarek/pull/1122), [#1196](https://github.com/nf-core/sarek/pull/1196) - Add `annotation cache` functionality
- [#1184](https://github.com/nf-core/sarek/pull/1184) - Stub-based CI-test of Sentieon joint-germline variant-calling with VQSR
- [#1188](https://github.com/nf-core/sarek/pull/1188) - `--tools` is now case insensitive

### Changed

Expand Down
21 changes: 21 additions & 0 deletions checkInParam.nf
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@

// Global function
// Check the parameters tools or skip_tools, then compare it against the provided tool
// Returns true/false based on whether 'tool' is found in 'parameter'
def checkInParam(parameter, checkValue) {
if (!parameter){
false
} else {
def tokenized_parameter = parameter.tokenize(',')
switch (checkValue) {
// If checkValue is a list check if any appear in tokenized parameter
case checkValue instanceof List:
checkValue.any{ it.toLowerCase() in parameter.tokenize(',') }
// If checkValue is a string check it appears in parameter
case checkValue instanceof String:
checkValue.toLowerCase() in parameter.tokenize(',')
default:
false
}
}
}
8 changes: 4 additions & 4 deletions conf/modules/aligner.config
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ process {
if (params.save_output_as_bam &&
(
params.save_mapped ||
(params.skip_tools && params.skip_tools.split(',').contains('markduplicates')) &&
!(params.tools && params.tools.split(',').contains('sentieon_dedup'))
(checkInParam(params.skip_tools, 'markduplicates')) &&
!(checkInParam(params.tools, 'sentieon_dedup'))
) && (meta.size * meta.num_lanes == 1)
) { "mapped/${meta.id}/${it}" }
else { null }
Expand All @@ -60,7 +60,7 @@ process {
// However if it's skipped, reads need to be coordinate-sorted
// Only name sort if Spark for Markduplicates + duplicate marking is not skipped
// Currently SENTIEON_BWAMEM only supports coordinate sorting the reads.
ext.args2 = { params.use_gatk_spark && params.use_gatk_spark.contains('markduplicates') && (!params.skip_tools || (params.skip_tools && !params.skip_tools.split(',').contains('markduplicates'))) ? '-n' : '' }
ext.args2 = { params.use_gatk_spark && params.use_gatk_spark.contains('markduplicates') && (!params.skip_tools || (params.skip_tools && !checkInParam(params.skip_tools, 'markduplicates'))) ? '-n' : '' }
}

withName: "BWAMEM.*_MEM|SENTIEON_BWAMEM" {
Expand All @@ -75,7 +75,7 @@ process {
path: { "${params.outdir}/preprocessing/" },
pattern: "*{bam,bai}",
// Only save if (save_output_as_bam AND (no_markduplicates OR save_mapped ))
saveAs: { (params.save_output_as_bam && (params.save_mapped || params.skip_tools && params.skip_tools.split(',').contains('markduplicates'))) ? "mapped/${meta.id}/${it}" : null }
saveAs: { (params.save_output_as_bam && (params.save_mapped || checkInParam(params.skip_tools, 'markduplicates'))) ? "mapped/${meta.id}/${it}" : null }
]
}

Expand Down
14 changes: 7 additions & 7 deletions conf/modules/annotate.config
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
process {

// SNPEFF
if (params.tools && (params.tools.split(',').contains('snpeff') || params.tools.split(',').contains('merge'))) {
if (params.tools && (checkInParam(params.tools, 'snpeff') || checkInParam(params.tools, 'merge'))) {
withName: 'SNPEFF_SNPEFF' {
ext.prefix = { vcf.baseName - ".vcf" + "_snpEff" }
ext.args = '-nodownload -canon -v'
Expand All @@ -25,14 +25,14 @@ process {
mode: params.publish_dir_mode,
path: { "${params.outdir}/reports/snpeff/${meta.variantcaller}/${meta.id}/" },
pattern: "*{csv,html,genes.txt}",
saveAs: { params.tools.split(',').contains('snpeff') ? it : null }
saveAs: { checkInParam(params.tools, 'snpeff') ? it : null }
]
]
}
}

// VEP
if (params.tools && (params.tools.split(',').contains('vep') || params.tools.split(',').contains('merge'))) {
if (params.tools && (checkInParam(params.tools, 'vep') || checkInParam(params.tools, 'merge'))) {
withName: 'ENSEMBLVEP_VEP' {
ext.args = { [
(params.vep_dbnsfp && params.dbnsfp && !params.dbnsfp_consequence) ? "--plugin dbNSFP,${params.dbnsfp.split("/")[-1]},${params.dbnsfp_fields}" : '',
Expand Down Expand Up @@ -61,15 +61,15 @@ process {
}

// SNPEFF THEN VEP
if (params.tools && params.tools.split(',').contains('merge')) {
if (checkInParam(params.tools, 'merge')) {
withName: "NFCORE_SAREK:SAREK:VCF_ANNOTATE_ALL:VCF_ANNOTATE_MERGE:ENSEMBLVEP_VEP" {
// If merge: Output file will have format *_snpEff_VEP.ann.vcf, *_snpEff_VEP.ann.json or *_snpEff_VEP.ann.tab
ext.prefix = { vcf.baseName - ".ann.vcf" + "_VEP.ann" }
}
}

// ALL ANNOTATION TOOLS
if (params.tools && (params.tools.split(',').contains('snpeff') || params.tools.split(',').contains('vep') || params.tools.split(',').contains('merge'))) {
if (params.tools && (checkInParam(params.tools, 'snpeff') || checkInParam(params.tools, 'vep') || checkInParam(params.tools, 'merge'))) {
withName: "NFCORE_SAREK:SAREK:VCF_ANNOTATE_ALL:.*:(TABIX_BGZIPTABIX|TABIX_TABIX)" {
ext.prefix = { input.name - ".vcf" }
publishDir = [
Expand All @@ -80,13 +80,13 @@ process {
}
}

if (params.tools && (params.tools.split(',').contains('snpeff') || params.tools.split(',').contains('merge'))) {
if (params.tools && (checkInParam(params.tools, 'snpeff') || checkInParam(params.tools, 'merge'))) {
withName: 'NFCORE_SAREK:SAREK:VCF_ANNOTATE_ALL:VCF_ANNOTATE_SNPEFF:TABIX_BGZIPTABIX' {
publishDir = [
mode: params.publish_dir_mode,
path: { "${params.outdir}/annotation/${meta.variantcaller}/${meta.id}/" },
pattern: "*{gz,gz.tbi}",
saveAs: { params.tools.split(',').contains('snpeff') ? it : null }
saveAs: { checkInParam(params.tools, 'snpeff') ? it : null }
]
}
}
Expand Down
2 changes: 1 addition & 1 deletion conf/modules/ascat.config
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ process {
"min_base_qual": params.ascat_min_base_qual,
"min_map_qual": params.ascat_min_map_qual
]}
ext.when = { params.tools && params.tools.split(',').contains('ascat') }
ext.when = { checkInParam(params.tools, 'ascat') }
publishDir = [
mode: params.publish_dir_mode,
path: { "${params.outdir}/variant_calling/ascat/${meta.id}/" },
Expand Down
6 changes: 3 additions & 3 deletions conf/modules/cnvkit.config
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ process {

// PREPARE REFERENCE CNVKIT
withName: 'CNVKIT_ANTITARGET' {
ext.when = { params.tools && params.tools.split(',').contains('cnvkit') }
ext.when = { checkInParam(params.tools, 'cnvkit') }
publishDir = [
enabled: params.save_reference,
mode: params.publish_dir_mode,
Expand All @@ -28,7 +28,7 @@ process {

withName: 'CNVKIT_REFERENCE' {
ext.prefix = "cnvkit"
ext.when = { params.tools && params.tools.split(',').contains('cnvkit') && !params.cnvkit_reference }
ext.when = { checkInParam(params.tools, 'cnvkit') && !params.cnvkit_reference }
publishDir = [
enabled: params.save_reference,
mode: params.publish_dir_mode,
Expand All @@ -40,7 +40,7 @@ process {
// CNVKIT
withName: 'CNVKIT_BATCH' {
ext.args = { params.wes ? "--method hybrid --diagram --scatter" : "--method wgs --diagram --scatter" }
ext.when = { params.tools && params.tools.split(',').contains('cnvkit') }
ext.when = { checkInParam(params.tools, 'cnvkit') }
publishDir = [
mode: params.publish_dir_mode,
path: { "${params.outdir}/variant_calling/cnvkit/${meta.id}/" },
Expand Down
2 changes: 1 addition & 1 deletion conf/modules/controlfreec.config
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ process {
}

withName: 'FREEC_.*' {
ext.when = { params.tools && params.tools.split(',').contains('controlfreec') }
ext.when = { checkInParam(params.tools, 'controlfreec') }
publishDir = [
mode: params.publish_dir_mode,
path: { "${params.outdir}/variant_calling/controlfreec/${meta.id}/" },
Expand Down
2 changes: 1 addition & 1 deletion conf/modules/deepvariant.config
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ process {
withName: 'DEEPVARIANT' {
ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}.deepvariant" : "${meta.id}.deepvariant.${intervals.simpleName}" }
ext.args = { params.wes ? "--model_type WES" : "--model_type WGS" }
ext.when = { params.tools && params.tools.split(',').contains('deepvariant') }
ext.when = { checkInParam(params.tools, 'deepvariant') }
publishDir = [
mode: params.publish_dir_mode,
path: { "${params.outdir}/variant_calling/" },
Expand Down
4 changes: 2 additions & 2 deletions conf/modules/freebayes.config
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ process {
ext.args = '--min-alternate-fraction 0.1 --min-mapping-quality 1'
//To make sure no naming conflicts ensure with module BCFTOOLS_SORT & the naming being correct in the output folder
ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}" : "${meta.id}.${target_bed.simpleName}" }
ext.when = { params.tools && params.tools.split(',').contains('freebayes') }
ext.when = { checkInParam(params.tools, 'freebayes') }
publishDir = [
enabled: false
]
Expand All @@ -53,7 +53,7 @@ process {
}

// PAIR_VARIANT_CALLING
if (params.tools && params.tools.split(',').contains('freebayes')) {
if (checkInParam(params.tools, 'freebayes')) {
withName: '.*:BAM_VARIANT_CALLING_SOMATIC_ALL:BAM_VARIANT_CALLING_FREEBAYES:FREEBAYES' {
ext.args = "--pooled-continuous \
--pooled-discrete \
Expand Down
4 changes: 2 additions & 2 deletions conf/modules/haplotypecaller.config
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ process {
withName: 'GATK4_HAPLOTYPECALLER' {
ext.args = { params.joint_germline ? "-ERC GVCF" : "" }
ext.prefix = { meta.num_intervals <= 1 ? ( params.joint_germline ? "${meta.id}.haplotypecaller.g" : "${meta.id}.haplotypecaller" ) : ( params.joint_germline ? "${meta.id}.haplotypecaller.${intervals.simpleName}.g" :"${meta.id}.haplotypecaller.${intervals.simpleName}" ) }
ext.when = { params.tools && params.tools.split(',').contains('haplotypecaller') }
ext.when = { checkInParam(params.tools, 'haplotypecaller') }
publishDir = [
mode: params.publish_dir_mode,
path: { "${params.outdir}/variant_calling/"},
Expand Down Expand Up @@ -53,7 +53,7 @@ process {
]
}

if (params.tools && params.tools.split(',').contains('haplotypecaller')) {
if (checkInParam(params.tools, 'haplotypecaller')) {
withName: 'NFCORE_SAREK:SAREK:BAM_VARIANT_CALLING_GERMLINE_ALL:BAM_VARIANT_CALLING_HAPLOTYPECALLER:BAM_MERGE_INDEX_SAMTOOLS:(MERGE_BAM|INDEX_MERGE_BAM)' {
ext.prefix = { "${meta.id}.realigned" }
publishDir = [
Expand Down
2 changes: 1 addition & 1 deletion conf/modules/joint_germline.config
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ process {
]
}

if (params.tools && params.tools.contains('haplotypecaller') && params.joint_germline) {
if (checkInParam(params.tools, 'haplotypecaller') && params.joint_germline) {
withName: 'NFCORE_SAREK:SAREK:BAM_VARIANT_CALLING_GERMLINE_ALL:BAM_JOINT_CALLING_GERMLINE_GATK:BCFTOOLS_SORT' {
ext.prefix = { vcf.baseName - ".vcf" + ".sort" }
publishDir = [
Expand Down
2 changes: 1 addition & 1 deletion conf/modules/manta.config
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
// MANTA

process {
if (params.tools && params.tools.split(',').contains('manta')) {
if (checkInParam(params.tools, 'manta')) {
withName: 'MANTA_GERMLINE|MANTA_TUMORONLY|MANTA_SOMATIC' {
ext.args = { params.wes ? "--exome" : "" }
ext.prefix = { "${meta.id}.manta" }
Expand Down
14 changes: 7 additions & 7 deletions conf/modules/markduplicates.config
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ process {
}

withName: 'NFCORE_SAREK:SAREK:(BAM_MARKDUPLICATES|BAM_MARKDUPLICATES_SPARK):CRAM_QC_MOSDEPTH_SAMTOOLS:SAMTOOLS_STATS' {
ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('samtools')) }
ext.when = { !(checkInParam(params.skip_tools, 'samtools')) }
ext.prefix = { "${meta.id}.md.cram" }
publishDir = [
mode: params.publish_dir_mode,
Expand All @@ -47,8 +47,8 @@ process {
// Run only when mapping should be saved as CRAM or when no MD is done
ext.when = (params.save_mapped && !params.save_output_as_bam) ||
(
(params.skip_tools && params.skip_tools.split(',').contains('markduplicates')) &&
!(params.tools && params.tools.split(',').contains('sentieon_dedup'))
(checkInParam(params.skip_tools, 'markduplicates')) &&
!(checkInParam(params.tools, 'sentieon_dedup'))
)
ext.prefix = { "${meta.id}.sorted" }
publishDir = [
Expand All @@ -62,7 +62,7 @@ process {

withName: 'GATK4_ESTIMATELIBRARYCOMPLEXITY' {
ext.prefix = { "${meta.id}.md.cram" }
ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('markduplicates_report')) }
ext.when = { !(checkInParam(params.skip_tools, 'markduplicates_report')) }
publishDir = [
mode: params.publish_dir_mode,
path: { "${params.outdir}/reports/markduplicates/${meta.id}" },
Expand All @@ -73,7 +73,7 @@ process {
withName: 'GATK4_MARKDUPLICATES' {
ext.args = '-REMOVE_DUPLICATES false -VALIDATION_STRINGENCY LENIENT'
ext.prefix = { "${meta.id}.md.cram" }
ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('markduplicates')) }
ext.when = { !(checkInParam(params.skip_tools, 'markduplicates')) }
publishDir = [
[
enabled: !params.save_output_as_bam,
Expand All @@ -85,7 +85,7 @@ process {
mode: params.publish_dir_mode,
path: { "${params.outdir}/reports/" },
pattern: "*metrics",
saveAs: { !(params.skip_tools && params.skip_tools.split(',').contains('markduplicates_report')) ? "markduplicates/${meta.id}/${it}" : null}
saveAs: { !(checkInParam(params.skip_tools, 'markduplicates_report')) ? "markduplicates/${meta.id}/${it}" : null}
]
]
}
Expand All @@ -112,7 +112,7 @@ process {

withName: 'NFCORE_SAREK:SAREK:CRAM_TO_BAM' {
ext.when = { params.save_output_as_bam }
if (params.tools && params.tools.split(',').contains('sentieon_dedup')) {
if (checkInParam(params.tools, 'sentieon_dedup')) {
ext.prefix = { "${meta.id}.dedup" }
publishDir = [
enabled: params.save_output_as_bam,
Expand Down
18 changes: 9 additions & 9 deletions conf/modules/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ process {
// QC
withName: 'FASTQC' {
ext.args = '--quiet'
ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('fastqc')) }
ext.when = { !(checkInParam(params.skip_tools, 'fastqc')) }
publishDir = [
[
path: { "${params.outdir}/reports/fastqc/${meta.id}" },
Expand All @@ -41,7 +41,7 @@ process {
}

withName: 'NFCORE_SAREK:SAREK:CRAM_QC_NO_MD:SAMTOOLS_STATS' {
ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('samtools')) }
ext.when = { !(checkInParam(params.skip_tools, 'samtools')) }
ext.prefix = { "${meta.id}.sorted.cram" }
publishDir = [
mode: params.publish_dir_mode,
Expand All @@ -53,30 +53,30 @@ process {
withName: 'MOSDEPTH' {
ext.args = { !params.wes ? "-n --fast-mode --by 500" : ""}
ext.prefix = {
if (params.tools && params.tools.split(',').contains('sentieon_dedup')) {
if (checkInParam(params.tools, 'sentieon_dedup')) {
"${meta.id}.dedup"
} else if (params.skip_tools && params.skip_tools.split(',').contains('markduplicates')) {
} else if (checkInParam(params.skip_tools, 'markduplicates')) {
"${meta.id}.sorted"
} else {
"${meta.id}.md"
}
}
ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('mosdepth')) }
ext.when = { !(checkInParam(params.skip_tools, 'mosdepth')) }
publishDir = [
mode: params.publish_dir_mode,
path: { "${params.outdir}/reports/mosdepth/${meta.id}" },
saveAs: { filename -> filename.equals('versions.yml') ? null : filename },
]
}

if ((params.step == 'mapping' || params.step == 'markduplicates'|| params.step == 'prepare_recalibration'|| params.step == 'recalibrate') && (!(params.skip_tools && params.skip_tools.split(',').contains('baserecalibrator')))) {
if ((params.step == 'mapping' || params.step == 'markduplicates'|| params.step == 'prepare_recalibration'|| params.step == 'recalibrate') && (!(checkInParam(params.skip_tools, 'baserecalibrator')))) {
withName: 'NFCORE_SAREK:SAREK:CRAM_QC_RECAL:MOSDEPTH' {
ext.prefix = { "${meta.id}.recal" }
}

withName: 'NFCORE_SAREK:SAREK:CRAM_QC_RECAL:SAMTOOLS_STATS' {
ext.prefix = { "${meta.id}.recal.cram" }
ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('samtools')) }
ext.when = { !(checkInParam(params.skip_tools, 'samtools')) }
publishDir = [
mode: params.publish_dir_mode,
path: { "${params.outdir}/reports/samtools/${meta.id}" },
Expand All @@ -87,7 +87,7 @@ process {

// VCF
withName: 'BCFTOOLS_STATS' {
ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('bcftools')) }
ext.when = { !(checkInParam(params.skip_tools, 'bcftools')) }
ext.prefix = { vcf.baseName - ".vcf" }
publishDir = [
mode: params.publish_dir_mode,
Expand All @@ -97,7 +97,7 @@ process {
}

withName: 'VCFTOOLS_.*' {
ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('vcftools')) }
ext.when = { !(checkInParam(params.skip_tools, 'vcftools')) }
ext.prefix = { variant_file.baseName - ".vcf" }
publishDir = [
mode: params.publish_dir_mode,
Expand Down
6 changes: 3 additions & 3 deletions conf/modules/mpileup.config
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ process {

withName: 'BCFTOOLS_MPILEUP' {
ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}.bcftools" : "${meta.id}_${intervals.simpleName}.bcftools" }
ext.when = { params.tools && params.tools.split(',').contains('mpileup') }
ext.when = { checkInParam(params.tools, 'mpileup') }
ext.args2 = "--multiallelic-caller"
ext.args3 = "-i 'count(GT==\"RR\")==0'" // only report non homozygous reference variants
publishDir = [
Expand All @@ -44,15 +44,15 @@ process {
}

withName: 'SAMTOOLS_MPILEUP' {
ext.when = { params.tools && params.tools.split(',').contains('controlfreec') }
ext.when = { checkInParam(params.tools, 'controlfreec') }
publishDir = [
enabled: false
]

}

// PAIR_VARIANT_CALLING
if (params.tools && params.tools.split(',').contains('controlfreec')) {
if (checkInParam(params.tools, 'controlfreec')) {
withName: 'NFCORE_SAREK:SAREK:BAM_VARIANT_CALLING_GERMLINE_ALL:BAM_VARIANT_CALLING_MPILEUP:SAMTOOLS_MPILEUP' {
ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}.normal" : "${meta.id}_${intervals.simpleName}.normal" }
}
Expand Down
Loading
Loading