Skip to content
Snippets Groups Projects
Commit 5a7dbffa authored by ffinfo's avatar ffinfo
Browse files

Switching picard to structs

parent 6300bba0
No related branches found
No related tags found
1 merge request!61Switch to structs
...@@ -147,11 +147,13 @@ struct Reference { ...@@ -147,11 +147,13 @@ struct Reference {
struct IndexedVcfFile { struct IndexedVcfFile {
File file File file
File index File index
File? md5sum
} }
struct IndexedBamFile { struct IndexedBamFile {
File file File file
File index File index
File? md5sum
} }
struct FastqPair { struct FastqPair {
......
version 1.0 version 1.0
import "common.wdl"
task BedToIntervalList { task BedToIntervalList {
input { input {
String? preCommand String? preCommand
...@@ -40,11 +42,8 @@ task BedToIntervalList { ...@@ -40,11 +42,8 @@ task BedToIntervalList {
task CollectMultipleMetrics { task CollectMultipleMetrics {
input { input {
String? preCommand String? preCommand
File bamFile IndexedBamFile bam
File bamIndex Reference reference
File refFasta
File refDict
File refFastaIndex
String basename String basename
Boolean collectAlignmentSummaryMetrics = true Boolean collectAlignmentSummaryMetrics = true
...@@ -53,7 +52,7 @@ task CollectMultipleMetrics { ...@@ -53,7 +52,7 @@ task CollectMultipleMetrics {
Boolean meanQualityByCycle = true Boolean meanQualityByCycle = true
Boolean collectBaseDistributionByCycle = true Boolean collectBaseDistributionByCycle = true
Boolean collectGcBiasMetrics = true Boolean collectGcBiasMetrics = true
#Boolean rnaSeqMetrics = false # There is a bug in picard https://github.com/broadinstitute/picard/issues/999 #FIXME: Boolean rnaSeqMetrics = false # There is a bug in picard https://github.com/broadinstitute/picard/issues/999
Boolean collectSequencingArtifactMetrics = true Boolean collectSequencingArtifactMetrics = true
Boolean collectQualityYieldMetrics = true Boolean collectQualityYieldMetrics = true
...@@ -73,8 +72,8 @@ task CollectMultipleMetrics { ...@@ -73,8 +72,8 @@ task CollectMultipleMetrics {
~{preCommand} ~{preCommand}
~{toolCommand} \ ~{toolCommand} \
CollectMultipleMetrics \ CollectMultipleMetrics \
I=~{bamFile} \ I=~{bam.file} \
R=~{refFasta} \ R=~{reference.fasta} \
O=~{basename} \ O=~{basename} \
PROGRAM=null \ PROGRAM=null \
~{true="PROGRAM=CollectAlignmentSummaryMetrics" false="" collectAlignmentSummaryMetrics} \ ~{true="PROGRAM=CollectAlignmentSummaryMetrics" false="" collectAlignmentSummaryMetrics} \
...@@ -117,8 +116,7 @@ task CollectMultipleMetrics { ...@@ -117,8 +116,7 @@ task CollectMultipleMetrics {
task CollectRnaSeqMetrics { task CollectRnaSeqMetrics {
input { input {
String? preCommand String? preCommand
File bamFile IndexedBamFile bam
File bamIndex
File refRefflat File refRefflat
String basename String basename
String strandSpecificity = "NONE" String strandSpecificity = "NONE"
...@@ -139,7 +137,7 @@ task CollectRnaSeqMetrics { ...@@ -139,7 +137,7 @@ task CollectRnaSeqMetrics {
~{preCommand} ~{preCommand}
~{toolCommand} \ ~{toolCommand} \
CollectRnaSeqMetrics \ CollectRnaSeqMetrics \
I=~{bamFile} \ I=~{bam.file} \
O=~{basename}.RNA_Metrics \ O=~{basename}.RNA_Metrics \
CHART_OUTPUT=~{basename}.RNA_Metrics.pdf \ CHART_OUTPUT=~{basename}.RNA_Metrics.pdf \
STRAND_SPECIFICITY=~{strandSpecificity} \ STRAND_SPECIFICITY=~{strandSpecificity} \
...@@ -159,11 +157,8 @@ task CollectRnaSeqMetrics { ...@@ -159,11 +157,8 @@ task CollectRnaSeqMetrics {
task CollectTargetedPcrMetrics { task CollectTargetedPcrMetrics {
input { input {
String? preCommand String? preCommand
File bamFile IndexedBamFile bam
File bamIndex Reference reference
File refFasta
File refDict
File refFastaIndex
File ampliconIntervals File ampliconIntervals
Array[File]+ targetIntervals Array[File]+ targetIntervals
String basename String basename
...@@ -184,8 +179,8 @@ task CollectTargetedPcrMetrics { ...@@ -184,8 +179,8 @@ task CollectTargetedPcrMetrics {
~{preCommand} ~{preCommand}
~{toolCommand} \ ~{toolCommand} \
CollectTargetedPcrMetrics \ CollectTargetedPcrMetrics \
I=~{bamFile} \ I=~{bam.file} \
R=~{refFasta} \ R=~{reference.fasta} \
AMPLICON_INTERVALS=~{ampliconIntervals} \ AMPLICON_INTERVALS=~{ampliconIntervals} \
TARGET_INTERVALS=~{sep=" TARGET_INTERVALS=" targetIntervals} \ TARGET_INTERVALS=~{sep=" TARGET_INTERVALS=" targetIntervals} \
O=~{basename}.targetPcrMetrics \ O=~{basename}.targetPcrMetrics \
...@@ -208,9 +203,8 @@ task CollectTargetedPcrMetrics { ...@@ -208,9 +203,8 @@ task CollectTargetedPcrMetrics {
task GatherBamFiles { task GatherBamFiles {
input { input {
String? preCommand String? preCommand
Array[File]+ input_bams Array[IndexedBamFile]+ inputBams
String output_bam_path String outputBamPath
Int? compression_level
String? picardJar String? picardJar
Int memory = 4 Int memory = 4
...@@ -226,16 +220,18 @@ task GatherBamFiles { ...@@ -226,16 +220,18 @@ task GatherBamFiles {
~{preCommand} ~{preCommand}
~{toolCommand} \ ~{toolCommand} \
GatherBamFiles \ GatherBamFiles \
INPUT=~{sep=' INPUT=' input_bams} \ INPUT=~{sep=' INPUT=' inputBams.file} \
OUTPUT=~{output_bam_path} \ OUTPUT=~{outputBamPath} \
CREATE_INDEX=true \ CREATE_INDEX=true \
CREATE_MD5_FILE=true CREATE_MD5_FILE=true
} }
output { output {
File output_bam = "~{output_bam_path}" IndexedBamFile outputBam = object {
File output_bam_index = sub(output_bam_path, ".bam$", ".bai") file: outputBamPath,
File output_bam_md5 = "~{output_bam_path}.md5" index: sub(outputBamPath, ".bam$", ".bai"),
md5: outputBamPath + ".md5"
}
} }
runtime { runtime {
...@@ -247,10 +243,9 @@ task GatherBamFiles { ...@@ -247,10 +243,9 @@ task GatherBamFiles {
task MarkDuplicates { task MarkDuplicates {
input { input {
String? preCommand String? preCommand
Array[File] input_bams Array[IndexedBamFile] inputBams
String output_bam_path String outputBamPath
String metrics_path String metricsPath
Int? compression_level
String? picardJar String? picardJar
Int memory = 4 Int memory = 4
...@@ -273,24 +268,28 @@ task MarkDuplicates { ...@@ -273,24 +268,28 @@ task MarkDuplicates {
command { command {
set -e -o pipefail set -e -o pipefail
~{preCommand} ~{preCommand}
mkdir -p $(dirname ~{output_bam_path}) mkdir -p $(dirname ~{outputBamPath})
~{toolCommand} \ ~{toolCommand} \
MarkDuplicates \ MarkDuplicates \
INPUT=~{sep=' INPUT=' input_bams} \ INPUT=~{sep=' INPUT=' inputBams.file} \
OUTPUT=~{output_bam_path} \ OUTPUT=~{outputBamPath} \
METRICS_FILE=~{metrics_path} \ METRICS_FILE=~{metricsPath} \
VALIDATION_STRINGENCY=SILENT \ VALIDATION_STRINGENCY=SILENT \
~{"READ_NAME_REGEX=" + read_name_regex} \ ~{"READ_NAME_REGEX=" + read_name_regex} \
OPTICAL_DUPLICATE_PIXEL_DISTANCE=2500 \ OPTICAL_DUPLICATE_PIXEL_DISTANCE=2500 \
CLEAR_DT="false" \ CLEAR_DT="false" \
CREATE_INDEX=true \ CREATE_INDEX=true \
ADD_PG_TAG_TO_READS=false ADD_PG_TAG_TO_READS=false \
CREATE_MD5_FILE=true
} }
output { output {
File output_bam = output_bam_path IndexedBamFile outputBam = object {
File output_bam_index = sub(output_bam_path, ".bam$", ".bai") file: outputBamPath,
File duplicate_metrics = metrics_path index: sub(outputBamPath, ".bam$", ".bai"),
md5: outputBamPath + ".md5"
}
File metricsFile = metricsPath
} }
runtime { runtime {
...@@ -304,7 +303,7 @@ task MergeVCFs { ...@@ -304,7 +303,7 @@ task MergeVCFs {
String? preCommand String? preCommand
Array[File] inputVCFs Array[File] inputVCFs
Array[File] inputVCFsIndexes Array[File] inputVCFsIndexes
String outputVCFpath String outputVcfPath
Int? compressionLevel Int? compressionLevel
String? picardJar String? picardJar
...@@ -325,12 +324,14 @@ task MergeVCFs { ...@@ -325,12 +324,14 @@ task MergeVCFs {
~{toolCommand} \ ~{toolCommand} \
MergeVcfs \ MergeVcfs \
INPUT=~{sep=' INPUT=' inputVCFs} \ INPUT=~{sep=' INPUT=' inputVCFs} \
OUTPUT=~{outputVCFpath} OUTPUT=~{outputVcfPath}
} }
output { output {
File outputVCF = outputVCFpath IndexedVcfFile outputVcf = object {
File outputVCFindex = outputVCFpath + ".tbi" file: outputVcfPath,
index: outputVcfPath + ".tbi"
}
} }
runtime { runtime {
...@@ -341,7 +342,7 @@ task MergeVCFs { ...@@ -341,7 +342,7 @@ task MergeVCFs {
task SamToFastq { task SamToFastq {
input { input {
String? preCommand String? preCommand
File inputBam IndexedBamFile inputBam
String outputRead1 String outputRead1
String? outputRead2 String? outputRead2
String? outputUnpaired String? outputUnpaired
...@@ -360,7 +361,7 @@ task SamToFastq { ...@@ -360,7 +361,7 @@ task SamToFastq {
~{preCommand} ~{preCommand}
~{toolCommand} \ ~{toolCommand} \
SamToFastq \ SamToFastq \
I=~{inputBam} \ I=~{inputBam.file} \
~{"FASTQ=" + outputRead1} \ ~{"FASTQ=" + outputRead1} \
~{"SECOND_END_FASTQ=" + outputRead2} \ ~{"SECOND_END_FASTQ=" + outputRead2} \
~{"UNPAIRED_FASTQ=" + outputUnpaired} ~{"UNPAIRED_FASTQ=" + outputUnpaired}
...@@ -422,8 +423,8 @@ task SortVcf { ...@@ -422,8 +423,8 @@ task SortVcf {
String? picardJar String? picardJar
Array[File]+ vcfFiles Array[File]+ vcfFiles
String outputVcf String outputVcfPath
File? sequenceDict File? dict
Int memory = 4 Int memory = 4
Float memoryMultiplier = 3.0 Float memoryMultiplier = 3.0
...@@ -439,13 +440,15 @@ task SortVcf { ...@@ -439,13 +440,15 @@ task SortVcf {
~{toolCommand} \ ~{toolCommand} \
SortVcf \ SortVcf \
I=~{sep=" I=" vcfFiles} \ I=~{sep=" I=" vcfFiles} \
~{"SEQUENCE_DICTIONARY=" + sequenceDict} \ ~{"SEQUENCE_DICTIONARY=" + dict} \
O=~{outputVcf} O=~{outputVcfPath}
} }
output { output {
File vcfFile = outputVcf IndexedVcfFile outputVcf = object {
File vcfIndex = outputVcf + ".tbi" file: outputVcfPath,
index: outputVcfPath + ".tbi"
}
} }
runtime { 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