pipeline/wdl/qc.wdl

63 lines
1.7 KiB
Plaintext

task runqc {
String name
String inputDir
String outputDir
command <<<
echo "###### ${name} fastp beginning at: $(date) ######"
if [ ! -d ${outputDir}/qc ];then
mkdir ${outputDir}/qc
fi
fastp -i ${inputDir}/*_${name}_*1.fq.gz -o ${outputDir}/qc/${name}_clean_R1.fq.gz \
-I ${inputDir}/*_${name}_*2.fq.gz -O ${outputDir}/qc/${name}_clean_R2.fq.gz \
-w 10 \
--correction \
--overlap_len_require 10 \
-j ${outputDir}/qc/${name}.json \
-h ${outputDir}/qc/${name}.html \
--report_title $name \
-e 20
echo "###### ${name} fastp end at: $(date) ######"
>>>
output {
String r1 = "${outputDir}/qc/${name}_clean_R1.fq.gz "
String r2 = "${outputDir}/qc/${name}_clean_R2.fq.gz "
String json = "${outputDir}/qc/${name}.json"
}
}
workflow qc {
String tumor
String? normal
String inputDir
String outputDir
scatter(name in [tumor, normal]) {
if (defined(name)) {
call runqc {
input:
name=name,
inputDir=inputDir,
outputDir=outputDir
}
}
}
output {
String tumor_r1 = "${outputDir}/qc/${tumor}_clean_R1.fq.gz "
String tumor_r2 = "${outputDir}/qc/${tumor}_clean_R2.fq.gz "
String tumor_json = "${outputDir}/qc/${tumor}.json"
String normal_r1 = "${outputDir}/qc/${normal}_clean_R1.fq.gz "
String normal_r2 = "${outputDir}/qc/${normal}_clean_R2.fq.gz "
String normal_json = "${outputDir}/qc/${normal}.json"
}
}