# pollution task run_pollution { String name String output_dir String probe String vcf String? vcf2 command { if [ ! -d ${output_dir}/pollution ];then mkdir ${output_dir}/pollution fi 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 } output { String cnvkit_tumor_vcf = "${output_dir}/pollution/${name}_cnvkit_tumor.vcf" String cnvkit_normal_vcf = "${output_dir}/pollution/${name}_cnvkit_normal.vcf" } } 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 gender_dectec.py -n ${name} -v ${vcf} -o ${output_dir}/pollution -p ${probe} -g $PUBLIC/pollution/gender.bed } } 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 } } workflow call_pollution { Boolean run=true String tumor String? normal String output_dir String probe String raw_vcf String initial_vcf String normal_vcf String cnv_cnr String cnv_cns if (run) { if (defined(normal)) { call run_pollution as run_pollution_paired { input: name=tumor, output_dir=output_dir, probe=probe, 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 } call run_gender_dectec { input: name=tumor, output_dir=output_dir, probe=probe, vcf=initial_vcf, vcf2=normal_vcf } } if (!defined(normal)) { call run_pollution as run_pollution_single { input: name=tumor, output_dir=output_dir, probe=probe, vcf=initial_vcf } } } output { String pollution_res = "${output_dir}/pollution/${tumor}_pollution.txt" } }