pipeline/wdl/tmb.wdl

99 lines
1.9 KiB
Plaintext
Executable File

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