Skip to content

Commit 6bfbdb1

Browse files
authored
Merge pull request #557 from FriederikeHanssen/single_sample_gatk
Haplotypecaller fix + single sample germline VC
2 parents a3d836b + cc5fd50 commit 6bfbdb1

16 files changed

Lines changed: 471 additions & 101 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2727
- [#538](https://github.com/nf-core/sarek/pull/538) - Add param `--seq_platform`, default: `ILLUMINA`
2828
- [#545](https://github.com/nf-core/sarek/pull/545) - Add modules and subworkflows for `cnvkit` tumor_only mode
2929
- [#540](https://github.com/nf-core/sarek/pull/540) - Add modules and subworkflows for `cnvkit` somatic mode
30+
- [#557](https://github.com/nf-core/sarek/pull/557) - Add `Haplotypecaller` single sample mode together with `CNNScoreVariants` and `FilterVariantTranches`
3031
- [#576](https://github.com/nf-core/sarek/pull/576) - Add modules and subworkflows for `cnvkit` germline mode
3132

3233
### Changed

conf/modules.config

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ process {
111111
}
112112

113113
withName: 'TABIX_KNOWN_INDELS' {
114-
ext.when = { !params.known_indels_tbi && params.known_indels && (params.step == 'mapping' || params.step == "markduplicates" || params.step == 'prepare_recalibration') }
114+
ext.when = { !params.known_indels_tbi && params.known_indels && (params.step == 'mapping' || params.step == "markduplicates" || params.step == 'prepare_recalibration' || (params.tools && params.tools.contains('haplotypecaller')) ) }
115115
publishDir = [
116116
enabled: params.save_reference,
117117
mode: params.publish_dir_mode,
@@ -549,18 +549,20 @@ process{
549549
}
550550

551551
// HAPLOTYPECALLER
552-
withName: 'MERGE_HAPLOTYPECALLER' {
553-
ext.prefix = {"${meta.id}.g"}
552+
withName: 'MERGE_HAPLOTYPECALLER.*' {
553+
ext.prefix = { params.joint_germline ? "${meta.id}.g" : "${meta.id}" }
554554
publishDir = [
555-
enabled: !params.no_intervals,
556555
mode: params.publish_dir_mode,
557556
path: { "${params.outdir}/variant_calling/${meta.id}/haplotypecaller" },
558557
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
559558
]
560559
}
560+
withName: 'MERGE_HAPLOTYPECALLER_FILTERED' {
561+
ext.prefix = { "${meta.id}.filtered" }
562+
}
561563
withName: 'HAPLOTYPECALLER' {
562564
ext.args = { params.joint_germline ? "-ERC GVCF" : "" }
563-
ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}.g" : "${meta.id}_${intervals.simpleName}.g" }
565+
ext.prefix = { meta.num_intervals <= 1 ? ( params.joint_germline ? "${meta.id}.g" : "${meta.id}" ) : ( params.joint_germline ? "${meta.id}_${intervals.simpleName}.g" :"${meta.id}_${intervals.simpleName}" ) }
564566
ext.when = { params.tools && params.tools.contains('haplotypecaller') }
565567
publishDir = [
566568
mode: params.publish_dir_mode,
@@ -569,10 +571,26 @@ process{
569571
saveAs: { meta.num_intervals > 1 ? null : "haplotypecaller/${it}" }
570572
]
571573
}
574+
withName: 'CNNSCOREVARIANTS' {
575+
ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}" : "${meta.id}_${intervals.simpleName}" }
576+
publishDir = [
577+
enabled: false
578+
]
579+
}
580+
withName: 'FILTERVARIANTTRANCHES' {
581+
ext.args = { "--info-key CNN_1D" }
582+
ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}" : "${meta.id}_${intervals.simpleName}" }
583+
publishDir = [
584+
mode: params.publish_dir_mode,
585+
path: { "${params.outdir}/variant_calling/${meta.id}/"},
586+
pattern: "*{vcf.gz,vcf.gz.tbi}",
587+
saveAs: { meta.num_intervals > 1 ? null : "haplotypecaller/${it}" }
588+
]
589+
}
590+
572591
withName: 'GENOTYPEGVCFS' {
573592
ext.when = { params.tools && params.tools.contains('haplotypecaller') && params.joint_germline}
574593
publishDir = [
575-
enabled: params.generate_gvcf,
576594
mode: params.publish_dir_mode,
577595
path: { "${params.outdir}/variant_calling/${meta.id}/haplotypecaller"},
578596
pattern: "*{vcf.gz,vcf.gz.tbi}"

conf/test.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,10 @@ profiles {
115115
tools_germline {
116116
params.input = "${baseDir}/tests/csv/3.0/recalibrated_germline.csv"
117117
params.dbsnp = params.test_data['homo_sapiens']['genome']['dbsnp_138_hg38_21_vcf_gz']
118+
params.known_indels = params.test_data['homo_sapiens']['genome']['mills_and_1000g_indels_21_vcf_gz']
118119
params.fasta = params.test_data['homo_sapiens']['genome']['genome_21_fasta']
119120
params.intervals = params.test_data['homo_sapiens']['genome']['genome_21_multi_interval_bed']
120121
params.step = 'variant_calling'
121-
params.joint_germline = true
122122
params.wes = true
123123

124124
params.nucleotides_per_second = 20

modules.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,9 @@
102102
"gatk4/calculatecontamination": {
103103
"git_sha": "169b2b96c1167f89ab07127b7057c1d90a6996c7"
104104
},
105+
"gatk4/cnnscorevariants": {
106+
"git_sha": "5d72500d601432f5396e9022c3a709854197db1a"
107+
},
105108
"gatk4/createsequencedictionary": {
106109
"git_sha": "169b2b96c1167f89ab07127b7057c1d90a6996c7"
107110
},
@@ -111,6 +114,9 @@
111114
"gatk4/filtermutectcalls": {
112115
"git_sha": "169b2b96c1167f89ab07127b7057c1d90a6996c7"
113116
},
117+
"gatk4/filtervarianttranches": {
118+
"git_sha": "175ea9b7f95a0e2fd3679f7a052c6dcb60b61a6e"
119+
},
114120
"gatk4/gatherbqsrreports": {
115121
"git_sha": "169b2b96c1167f89ab07127b7057c1d90a6996c7"
116122
},

modules/nf-core/modules/gatk4/cnnscorevariants/main.nf

Lines changed: 58 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules/nf-core/modules/gatk4/cnnscorevariants/meta.yml

Lines changed: 80 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules/nf-core/modules/gatk4/filtervarianttranches/main.nf

Lines changed: 51 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules/nf-core/modules/gatk4/filtervarianttranches/meta.yml

Lines changed: 68 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

nextflow.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ params {
5959
cf_minqual = 0 // ControlFreec default values
6060
cf_window = null // by default we are not using this in Control-FREEC
6161

62-
generate_gvcf = false // g.vcf are not produced by HaplotypeCaller by default
6362
pon = null // No default PON (Panel of Normals) file for GATK Mutect2 / Sentieon TNscope
6463
pon_tbi = null // No default PON index for GATK Mutect2 / Sentieon TNscope
6564
ignore_soft_clipped_bases = false // no --dont-use-soft-clipped-bases for GATK Mutect2
6665
wes = false // Set to true, if data is exome/targeted sequencing data. Used to use correct models in various variant callers
67-
joint_germline = false //
66+
joint_germline = false // g.vcf & joint germline calling are not run by default if HaplotypeCaller is selected
67+
6868

6969
// Annotation
7070
vep_dbnsfp = null // dbnsfp plugin disabled within VEP

0 commit comments

Comments
 (0)