pipeline/wdl/pollution.wdl

123 lines
3.1 KiB
Plaintext
Raw Normal View History

2023-12-29 10:11:01 +08:00
# pollution
2023-12-28 09:14:58 +08:00
2023-12-19 13:37:52 +08:00
task run_pollution {
String name
String output_dir
String probe
String vcf
String? vcf2
2024-01-01 14:25:34 +08:00
command {
2023-12-19 13:37:52 +08:00
if [ ! -d ${output_dir}/pollution ];then
mkdir ${output_dir}/pollution
fi
2024-01-31 17:32:39 +08:00
2023-12-19 13:37:52 +08:00
pollution.py -n ${name} \
-v ${vcf} \
-v2 ${vcf2} \
-o ${output_dir}/pollution \
-p ${probe} \
-b $PUBLIC/pollution/${probe}_contaminate_ref.bed \
-c $PUBLIC/pollution/${probe}_contaminate_cnvkit.bed
2023-12-26 10:18:15 +08:00
2024-01-01 14:25:34 +08:00
}
2024-01-19 17:56:25 +08:00
output {
String cnvkit_tumor_vcf = "${output_dir}/pollution/${name}_cnvkit_tumor.vcf"
String cnvkit_normal_vcf = "${output_dir}/pollution/${name}_cnvkit_normal.vcf"
}
}
2024-01-31 17:32:39 +08:00
task run_gender_dectec {
String name
String output_dir
String probe
String vcf
String? vcf2
command {
if [ ! -d ${output_dir}/pollution ];then
mkdir ${output_dir}/pollution
fi
2024-02-04 16:40:48 +08:00
gender_dectec.py -n ${name} -v ${vcf} -v2 ${vcf2} -o ${output_dir}/pollution -p ${probe} -g $PUBLIC/pollution/gender.bed
2024-01-31 17:32:39 +08:00
}
}
2024-01-19 17:56:25 +08:00
task run_generate_png {
String name
String probe
String cnvkit_tumor_vcf
String cnvkit_normal_vcf
String cnv_cnr
String cnv_cns
String output_dir
command {
cnvkit.py scatter ${cnv_cnr} -s ${cnv_cns} -v ${cnvkit_tumor_vcf} -o ${output_dir}/pollution/${name}_pollution_cnvkit_tumor.png
cnvkit.py scatter ${cnv_cnr} -s ${cnv_cns} -v ${cnvkit_normal_vcf} -o ${output_dir}/pollution/${name}_pollution_cnvkit_normal.png
}
2023-12-19 13:37:52 +08:00
}
workflow call_pollution {
Boolean run=true
String tumor
String? normal
String output_dir
String probe
String raw_vcf
2024-01-19 17:56:25 +08:00
String initial_vcf
String normal_vcf
String cnv_cnr
String cnv_cns
2023-12-19 13:37:52 +08:00
if (run) {
if (defined(normal)) {
2023-12-26 10:18:15 +08:00
call run_pollution as run_pollution_paired {
2023-12-19 13:37:52 +08:00
input:
name=tumor,
output_dir=output_dir,
probe=probe,
2024-01-19 17:56:25 +08:00
vcf=initial_vcf,
vcf2=normal_vcf
}
call run_generate_png {
input:
name=tumor,
probe=probe,
cnvkit_tumor_vcf=run_pollution_paired.cnvkit_tumor_vcf,
cnvkit_normal_vcf=run_pollution_paired.cnvkit_normal_vcf,
cnv_cnr=cnv_cnr,
cnv_cns=cnv_cns,
output_dir=output_dir
2023-12-19 13:37:52 +08:00
}
2024-01-31 17:32:39 +08:00
call run_gender_dectec {
input:
name=tumor,
output_dir=output_dir,
probe=probe,
vcf=initial_vcf,
vcf2=normal_vcf
}
2023-12-19 13:37:52 +08:00
}
if (!defined(normal)) {
2023-12-26 10:18:15 +08:00
call run_pollution as run_pollution_single {
2023-12-19 13:37:52 +08:00
input:
name=tumor,
output_dir=output_dir,
probe=probe,
2024-01-19 17:56:25 +08:00
vcf=initial_vcf
2023-12-19 13:37:52 +08:00
}
}
}
output {
2024-01-19 17:56:25 +08:00
String pollution_res = "${output_dir}/pollution/${tumor}_pollution.txt"
2023-12-19 13:37:52 +08:00
}
2023-11-30 15:31:35 +08:00
}