# tmb task run_tmb { String name String file String project String sample_type String output_dir command { if [ ! -d ${output_dir}/tmb ];then mkdir ${output_dir}/tmb fi filter_snpindel.pl \ ${file} \ ${output_dir}/tmb/${name}.tmb.txt \ ${output_dir}/tmb/${name}.tmb.tag.txt \ ${project} \ ${sample_type} \ tmb } output { String tmb_txt = "${output_dir}/tmb/${name}.tmb.txt" } } task run_tmb_umi { String name String file String project String sample_type String output_dir String tumor_rmdup_bam command { if [ ! -d ${output_dir}/tmb ];then mkdir ${output_dir}/tmb fi filter_snpindel.pl \ ${file} \ ${output_dir}/tmb/${name}.tmb.pre.txt \ ${output_dir}/tmb/${name}.tmb.tag.txt \ ${project} \ ${sample_type} \ tmb correct_umi_overlap_reads.py ${output_dir}/tmb/${name}.tmb.pre.txt ${tumor_rmdup_bam} ${output_dir}/tmb/${name}.tmb.txt } output { String tmb_txt = "${output_dir}/tmb/${name}.tmb.txt" } } workflow call_tmb { Boolean run=true String name String file String project String output_dir Boolean umi String tumor_rmdup_bam if (run) { if (umi) { call run_tmb_umi { input: name=name, file=file, project=project, sample_type='c', output_dir=output_dir, tumor_rmdup_bam=tumor_rmdup_bam } } if (!umi) { call run_tmb { input: name=name, file=file, project=project, sample_type='t', output_dir=output_dir } } } output { String tmb_txt = "${output_dir}/tmb/${name}.tmb.txt" } }