Newer
Older
# This task will fail if the MD5sum doesn't match the file.
task CheckFileMD5 {
File file
String MD5sum
command {
set -e -o pipefail
MD5SUM=$(md5sum ${file} | cut -d ' ' -f 1)
[ $MD5SUM = ${MD5sum} ]
}
}
task ConcatenateTextFiles {
Array[File] fileList
String combinedFilePath
set -e -o pipefail
${"mkdir -p $(dirname " + combinedFilePath + ")"}
${true='zcat' false= 'cat' unzip} ${sep=' ' fileList} \
${true="| gzip -c" false="" zip} > ${combinedFilePath}
task CreateLink {
# Making this of type File will create a link to the copy of the file in the execution
# folder, instead of the actual file.
String inputFile
String outputPath
# 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
set -eu -o pipefail
echo ${sep=',' stringArray} | md5sum - | sed -e 's/ -//'