Newer
Older
input {
String? preCommand
File? gatkJar
File inputBam
File inputBamIndex
String outputBamPath
File recalibrationReport
Array[File]+ sequenceGroupInterval
File refDict
File refFasta
File refFastaIndex
Int? compressionLevel
Int memory = 4
Float memoryMultiplier = 3.0
then "java -Xmx" + memory + "G -jar " + gatkJar
else "gatk --java-options -Xmx" + memory + "G"
ApplyBQSR \
--create-output-bam-md5 \
--add-output-sam-program-record \
-R ~{refFasta} \
-I ~{inputBam} \
--use-original-qualities \
-O ~{outputBamPath} \
-bqsr ~{recalibrationReport} \
--static-quantized-quals 10 \
--static-quantized-quals 20 \
--static-quantized-quals 30 \
-L ~{sep=" -L " sequenceGroupInterval}
File recalibrated_bam = outputBamPath
File recalibrated_bam_checksum = outputBamPath + ".md5"
memory: ceil(memory * memoryMultiplier)
# Generate Base Quality Score Recalibration (BQSR) model
task BaseRecalibrator {
input {
String? preCommand
File? gatkJar
File inputBam
File inputBamIndex
String recalibrationReportPath
Array[File]+ sequenceGroupInterval
Array[File]? knownIndelsSitesVCFs
Array[File]? knownIndelsSitesIndices
File? dbsnpVCF
File? dbsnpVCFindex
File refDict
File refFasta
File refFastaIndex
Int memory = 4
Float memoryMultiplier = 3.0
Array[File]+ knownIndelsSitesVCFsArg = flatten([
select_first([knownIndelsSitesVCFs, []]),
select_all([dbsnpVCF])
])
Array[File]+ knownIndelsSitesIndicesArg = flatten([
select_first([knownIndelsSitesIndices, []]),
select_all([dbsnpVCFindex])
])
then "java -Xmx" + memory + "G -jar " + gatkJar
else "gatk --java-options -Xmx" + memory + "G"
BaseRecalibrator \
-R ~{refFasta} \
-I ~{inputBam} \
--use-original-qualities \
-O ~{recalibrationReportPath} \
--known-sites ~{sep=" --known-sites " knownIndelsSitesVCFsArg} \
-L ~{sep=" -L " sequenceGroupInterval}
memory: ceil(memory * memoryMultiplier)
input {
String? preCommand
Array[File]+ gvcfFiles
Array[File]+ gvcfFileIndexes
Array[File]+ intervals
Int? compressionLevel #TODO This isn't being used?
Int memory = 4
Float memoryMultiplier = 3.0
then "java -Xmx" + memory + "G -jar " + gatkJar
else "gatk --java-options -Xmx" + memory + "G"
if [ ~{length(gvcfFiles)} -gt 1 ]; then
~{toolCommand} \
-R ~{refFasta} \
-O ~{outputPath} \
-V ~{sep=' -V ' gvcfFiles} \
-L ~{sep=' -L ' intervals}
ln -sf ~{select_first(gvcfFiles)} ~{outputPath}
ln -sf ~{select_first(gvcfFileIndexes)} ~{outputPath}.tbi
File outputGVCF = outputPath
File outputGVCFindex = outputPath + ".tbi"
memory: ceil(memory * memoryMultiplier)
# Combine multiple recalibration tables from scattered BaseRecalibrator runs
task GatherBqsrReports {
input {
String? preCommand
String? gatkJar
Array[File] inputBQSRreports
String outputReportPath
Int memory = 4
Float memoryMultiplier = 3.0
then "java -Xmx" + memory + "G -jar " + gatkJar
else "gatk --java-options -Xmx" + memory + "G"
-I ~{sep=' -I ' inputBQSRreports} \
-O ~{outputReportPath}
memory: ceil(memory * memoryMultiplier)
input {
String? preCommand
File gvcfFiles
File gvcfFileIndexes
Array[File]+ intervals
Int memory = 4
Float memoryMultiplier =3.0
then "java -Xmx" + memory + "G -jar " + gatkJar
else "gatk --java-options -Xmx" + memory + "G"
GenotypeGVCFs \
-R ~{refFasta} \
-O ~{outputPath} \
~{"-D " + dbsnpVCF} \
-G StandardAnnotation \
--only-output-calls-starting-in-intervals \
-new-qual \
-V ~{gvcfFiles} \
-L ~{sep=' -L ' intervals}
File outputVCF = outputPath
File outputVCFindex = outputPath + ".tbi"
memory: ceil(memory * memoryMultiplier)
# Call variants on a single sample with HaplotypeCaller to produce a GVCF
task HaplotypeCallerGvcf {
String? preCommand
Array[File]+ inputBams
Array[File]+ inputBamsIndex
Array[File]+ intervalList
String gvcfPath
File refDict
File refFasta
File refFastaIndex
Int? compressionLevel
String? gatkJar
File? dbsnpVCF
File? dbsnpVCFindex
Int memory = 4
Float memoryMultiplier = 3
then "java -Xmx" + memory + "G -jar " + gatkJar
else "gatk --java-options -Xmx" + memory + "G"
HaplotypeCaller \
-R ~{refFasta} \
-O ~{gvcfPath} \
-I ~{sep=" -I " inputBams} \
-L ~{sep=' -L ' intervalList} \
~{"-D " + dbsnpVCF} \
-contamination ~{contamination} \
-ERC GVCF
memory: ceil(memory * memoryMultiplier)
input {
String? preCommand
File inputBam
File inputBamIndex
File refFasta
File refFastaIndex
File refDict
String outputBam
String? gatkJar
Array[File]+ intervals
Int memory = 4
Float memoryMultiplier = 3
then "java -Xmx" + memory + "G -jar " + gatkJar
else "gatk --java-options -Xmx" + memory + "G"
-I ~{inputBam} \
-R ~{refFasta} \
-O ~{outputBam} \
-L ~{sep=' -L ' intervals}
memory: ceil(memory * memoryMultiplier)