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
|
|
|
}
|
|
|
|
|
|
2024-02-26 10:05:47 +08:00
|
|
|
task run_single_generate_png {
|
|
|
|
|
String name
|
|
|
|
|
String probe
|
|
|
|
|
String cnvkit_tumor_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
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
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
|
|
|
}
|
2024-02-26 10:05:47 +08:00
|
|
|
call run_single_generate_png {
|
|
|
|
|
input:
|
|
|
|
|
name=tumor,
|
|
|
|
|
probe=probe,
|
2024-02-27 10:55:03 +08:00
|
|
|
cnvkit_tumor_vcf=run_pollution_single.cnvkit_tumor_vcf,
|
2024-02-26 10:05:47 +08:00
|
|
|
cnv_cnr=cnv_cnr,
|
|
|
|
|
cnv_cns=cnv_cns,
|
|
|
|
|
output_dir=output_dir
|
|
|
|
|
|
|
|
|
|
}
|
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
|
|
|
}
|