Newer
Older
command {
cat ${write_object(the_object)} | md5sum - | sed -e 's/ -//'
}
}
task stringArrayMd5 {
Array[String] stringArray
set -eu -o pipefail
echo ${sep=',' stringArray} | md5sum - | sed -e 's/ -//'
String md5sum = read_string(stdout())
}
runtime {
memory: 1
}
}
task concatenateTextFiles {
Array[File] fileList
String combinedFilePath
Boolean? unzip=false
set -e -o pipefail
${"mkdir -p $(dirname " + combinedFilePath + ")"}
${true="| gzip -c" false="" zip} > ${combinedFilePath}
}
# inspired by https://gatkforums.broadinstitute.org/wdl/discussion/9616/is-there-a-way-to-flatten-arrays
task flattenStringArray {
Array[Array[String]] arrayList
for line in $(echo ${sep=', ' arrayList}) ; \
do echo $line | tr -d '"[],' ; done
output {
Array[String] flattenedArray = read_lines(stdout())
}
}
task appendToStringArray {
Array[String] array
String string
output {
Array[String] out_array = read_lines(stdout())
}
}
task createLink {
File inputFile
String outputPath
command {
ln -sf ${inputFile} ${outputPath}
}
output {
File link = outputPath
}