Newer
Older
Array[File] inputR1
Array[File]? inputR2
String genomeDir
String outFileNamePrefix
String? outSAMtype
String? readFilesCommand
Int? runThreadN
String? outStd
String? twopassMode
Array[String]? outSAMattrRGline
Int? limitBAMsortRAM
#TODO needs to be extended for all possible output extensions
Map[String, String] samOutputNames = {"BAM SortedByCoordinate": "sortedByCoord.out.bam"}
# converts String? to String for use as key (for the Map above) in output
String key = select_first([outSAMtype, "BAM SortedByCoordinate"])
mkdir -p ~{sub(outFileNamePrefix, basename(outFileNamePrefix) + "$", "")}
~{preCommand}
--readFilesIn ~{sep=',' inputR1} ~{sep="," inputR2} \
--outFileNamePrefix ~{outFileNamePrefix} \
--genomeDir ~{genomeDir} \
--outSAMtype ~{default="BAM SortedByCoordinate" outSAMtype} \
--readFilesCommand ~{default="zcat" readFilesCommand} \
~{"--runThreadN " + runThreadN} \
~{"--outStd " + outStd} \
~{"--twopassMode " + twopassMode} \
~{"--limitBAMsortRAM " + limitBAMsortRAM} \
~{true="--outSAMattrRGline " false="" defined(outSAMattrRGline)} ~{sep=" , " outSAMattrRGline}
File bamFile = outFileNamePrefix + "Aligned." + samOutputNames[key]
input {
String sample
String library
String? platform
String readgroup
}
printf '"ID:~{readgroup}" "LB:~{library}" "PL:~{default="ILLUMINA" platform}" "SM:~{sample}"'