diff --git a/bwa.wdl b/bwa.wdl new file mode 100644 index 0000000000000000000000000000000000000000..cafba38c18a66ab55a128a16e4aa154b1b25fc02 --- /dev/null +++ b/bwa.wdl @@ -0,0 +1,90 @@ +task mem { + File read1 + File referenceFile + File? read2 + String? outputFile + String? preCommand + Int? threads = 1 + String? memory = "4G" + Int? minimumSeedLength + Int? w + Int? d + Float? r + Int? y + Int? c + Int? D + Int? m + Int? W + Boolean? skipMateRescue + Boolean? skipPairing + Int? matchScore + Int? mismatchPenalty + String? gapOpenPenalty + String? gapExtensionPenalty + String? endClippingPenalty + String? unpairedReadPairPenalty + String? readType + Boolean? smartPairing + String? readGroupHeaderLine + String? H + Boolean? j + Boolean? five + Boolean? q + Int? K + Int? minimumOutputScore + String? h + Boolean? a + Boolean? appendComment + Boolean? V + Boolean? Y + Boolean? M + String? I + command { + set -e -o pipefail + ${preCommand} + bwa mem \ + ${"-t " + threads } \ + ${"-k " + minimumSeedLength } \ + ${"-w " + w } \ + ${"-d " + d } \ + ${"-r " + r } \ + ${"-y " + y } \ + ${"-c " + c } \ + ${"-D " + D } \ + ${"-W " + W } \ + ${"-m " + m } \ + ${true="-s " false="" skipMateRescue } \ + ${true="-P " false="" skipPairing } \ + ${"-A " + matchScore } \ + ${"-B " + mismatchPenalty } \ + ${"-O " + gapOpenPenalty } \ + ${"-E " + gapExtensionPenalty } \ + ${"-L " + endClippingPenalty } \ + ${"-U " + unpairedReadPairPenalty } \ + ${"-x " + readType } \ + ${true="-p " false="" smartPairing} \ + ${"-r " + readGroupHeaderLine} \ + ${"-H " + H } \ + ${"-o " + outputFile } \ + ${true="-j" false="" j } \ + ${true="-5" false="" five } \ + ${true="-q" false="" q } \ + ${"-K " + K } \ + ${"-T " + minimumOutputScore } \ + ${"-h " + h } \ + ${true="-a" false="" a } \ + ${true="-C" false="" appendComment } \ + ${true="-V" false="" V } \ + ${true="-Y" false="" Y } \ + ${true="-M" false="" M } \ + ${"-I " + I } \ + ${referenceFile} ${read1} ${read2} + } + output { + File samFile = if defined(outputFile) then outputFile else stdout() + } + runtime { + cpu: select_first([threads]) + memory: select_first([memory]) + } +} \ No newline at end of file