Skip to content
Snippets Groups Projects
Commit e2c52a71 authored by Cats's avatar Cats
Browse files

style

parent de411900
No related branches found
No related tags found
1 merge request!17Caching related changes
# Generate Base Quality Score Recalibration (BQSR) model
task BaseRecalibrator {
# Apply Base Quality Score Recalibration (BQSR) model
task ApplyBQSR {
String? preCommand
String gatk_jar
String input_bam
String input_bam_index
String recalibration_report_filename
Array[File]+ sequence_group_interval
Array[File]+ known_indels_sites_VCFs
Array[File]+ known_indels_sites_indices
File ref_dict
File ref_fasta
File ref_fasta_index
File gatkJar
File inputBam
String outputBamPath
File recalibrationReport
Array[File]+ sequenceGroupInterval
File refDict
File refFasta
File refFastaIndex
Int? compressionLevel
Float? memory
Float? memoryMultiplier
......@@ -19,18 +18,23 @@ task BaseRecalibrator {
command {
set -e -o pipefail
${preCommand}
java -Xms${mem}G -jar ${gatk_jar} \
BaseRecalibrator \
-R ${ref_fasta} \
-I ${input_bam} \
java ${"-Dsamjdk.compression_level=" + compressionLevel} \
-Xms${mem}G -jar ${gatkJar} \
ApplyBQSR \
--create-output-bam-md5 \
--add-output-sam-program-record \
-R ${refFasta} \
-I ${inputBam} \
--use-original-qualities \
-O ${recalibration_report_filename} \
--known-sites ${sep=" --known-sites " known_indels_sites_VCFs} \
-L ${sep=" -L " sequence_group_interval}
-O ${outputBamPath} \
-bqsr ${recalibrationReport} \
--static-quantized-quals 10 --static-quantized-quals 20 --static-quantized-quals 30 \
-L ${sep=" -L " sequenceGroupInterval}
}
output {
File recalibration_report = "${recalibration_report_filename}"
File recalibrated_bam = outputBamPath
File recalibrated_bam_checksum = outputBamPath + ".md5"
}
runtime {
......@@ -38,18 +42,19 @@ task BaseRecalibrator {
}
}
# Apply Base Quality Score Recalibration (BQSR) model
task ApplyBQSR {
# Generate Base Quality Score Recalibration (BQSR) model
task BaseRecalibrator {
String? preCommand
String gatk_jar
String input_bam
String output_bam_path
File recalibration_report
Array[String] sequence_group_interval
File ref_dict
File ref_fasta
File ref_fasta_index
Int? compression_level
File gatkJar
File inputBam
File inputBamIndex
String recalibrationReportPath
Array[File]+ sequenceGroupInterval
Array[File]+ knownIndelsSitesVCFs
Array[File]+ knownIndelsSitesIndices
File refDict
File refFasta
File refFastaIndex
Float? memory
Float? memoryMultiplier
......@@ -58,23 +63,18 @@ task ApplyBQSR {
command {
set -e -o pipefail
${preCommand}
java ${"-Dsamjdk.compression_level=" + compression_level} \
-Xms${mem}G -jar ${gatk_jar} \
ApplyBQSR \
--create-output-bam-md5 \
--add-output-sam-program-record \
-R ${ref_fasta} \
-I ${input_bam} \
java -Xms${mem}G -jar ${gatkJar} \
BaseRecalibrator \
-R ${refFasta} \
-I ${inputBam} \
--use-original-qualities \
-O ${output_bam_path} \
-bqsr ${recalibration_report} \
--static-quantized-quals 10 --static-quantized-quals 20 --static-quantized-quals 30 \
-L ${sep=" -L " sequence_group_interval}
-O ${recalibrationReportPath} \
--known-sites ${sep=" --known-sites " knownIndelsSitesVCFs} \
-L ${sep=" -L " sequenceGroupInterval}
}
output {
File recalibrated_bam = "${output_bam_path}"
File recalibrated_bam_checksum = "${output_bam_path}.md5"
File recalibrationReport = recalibrationReportPath
}
runtime {
......@@ -82,13 +82,21 @@ task ApplyBQSR {
}
}
# Combine multiple recalibration tables from scattered BaseRecalibrator runs
task GatherBqsrReports {
task CombineGVCFs {
String? preCommand
String gatk_jar
Array[File] input_bqsr_reports
String output_report_filepath
Array[File]+ gvcfFiles
Array[File]+ gvcfFileIndexes
Array[File]+ intervals
String outputPath
String gatkJar
File refFasta
File refFastaIndex
File refDict
Int? compressionLevel
Float? memory
Float? memoryMultiplier
......@@ -96,14 +104,24 @@ task GatherBqsrReports {
command {
set -e -o pipefail
${preCommand}
java -Xms${mem}G -jar ${gatk_jar} \
GatherBQSRReports \
-I ${sep=' -I ' input_bqsr_reports} \
-O ${output_report_filepath}
if [ ${length(gvcfFiles)} -gt 1 ]; then
java ${"-Dsamjdk.compression_level=" + compressionLevel} \
-Xmx${mem}G -jar ${gatkJar} \
CombineGVCFs \
-R ${refFasta} \
-O ${outputPath} \
-V ${sep=' -V ' gvcfFiles} \
-L ${sep=' -L ' intervals}
else # TODO this should be handeled in wdl
ln -sf ${select_first(gvcfFiles)} ${outputPath}
ln -sf ${select_first(gvcfFileIndexes)} ${outputPath}.tbi
fi
}
output {
File output_bqsr_report = "${output_report_filepath}"
File outputGVCF = outputPath
File outputGVCFindex = outputPath + ".tbi"
}
runtime {
......@@ -111,19 +129,12 @@ task GatherBqsrReports {
}
}
# Call variants on a single sample with HaplotypeCaller to produce a GVCF
task HaplotypeCallerGvcf {
# Combine multiple recalibration tables from scattered BaseRecalibrator runs
task GatherBqsrReports {
String? preCommand
Array[File]+ inputBams
Array[File]+ inputBamsIndex
Array[File]+ intervalList
String gvcfPath
File refDict
File refFasta
File refFastaIndex
Float? contamination
Int? compressionLevel
String gatkJar
Array[File] inputBQSRreports
String outputReportPath
Float? memory
Float? memoryMultiplier
......@@ -132,20 +143,14 @@ task HaplotypeCallerGvcf {
command {
set -e -o pipefail
${preCommand}
java ${"-Dsamjdk.compression_level=" + compressionLevel} \
-Xmx${mem}G -jar ${gatkJar} \
HaplotypeCaller \
-R ${refFasta} \
-O ${gvcfPath} \
-I ${sep=" -I " inputBams} \
-L ${sep=' -L ' intervalList} \
-contamination ${default=0 contamination} \
-ERC GVCF
java -Xms${mem}G -jar ${gatkJar} \
GatherBQSRReports \
-I ${sep=' -I ' inputBQSRreports} \
-O ${outputReportPath}
}
output {
File outputGVCF = gvcfPath
File outputGVCFindex = gvcfPath + ".tbi"
File outputBQSRreport = outputReportPath
}
runtime {
......@@ -202,21 +207,20 @@ task GenotypeGVCFs {
}
}
task CombineGVCFs {
# Call variants on a single sample with HaplotypeCaller to produce a GVCF
task HaplotypeCallerGvcf {
String? preCommand
Array[File]+ gvcfFiles
Array[File]+ gvcfFileIndexes
Array[File]+ intervals
String outputPath
String gatkJar
Array[File]+ inputBams
Array[File]+ inputBamsIndex
Array[File]+ intervalList
String gvcfPath
File refDict
File refFasta
File refFastaIndex
File refDict
Float? contamination
Int? compressionLevel
String gatkJar
Float? memory
Float? memoryMultiplier
......@@ -224,24 +228,20 @@ task CombineGVCFs {
command {
set -e -o pipefail
${preCommand}
if [ ${length(gvcfFiles)} -gt 1 ]; then
java ${"-Dsamjdk.compression_level=" + compressionLevel} \
-Xmx${mem}G -jar ${gatkJar} \
CombineGVCFs \
-R ${refFasta} \
-O ${outputPath} \
-V ${sep=' -V ' gvcfFiles} \
-L ${sep=' -L ' intervals}
else
ln -sf ${select_first(gvcfFiles)} ${outputPath}
ln -sf ${select_first(gvcfFileIndexes)} ${outputPath}.tbi
fi
java ${"-Dsamjdk.compression_level=" + compressionLevel} \
-Xmx${mem}G -jar ${gatkJar} \
HaplotypeCaller \
-R ${refFasta} \
-O ${gvcfPath} \
-I ${sep=" -I " inputBams} \
-L ${sep=' -L ' intervalList} \
-contamination ${default=0 contamination} \
-ERC GVCF
}
output {
File outputGVCF = outputPath
File outputGVCFindex = outputPath + ".tbi"
File outputGVCF = gvcfPath
File outputGVCFindex = gvcfPath + ".tbi"
}
runtime {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment