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" } }