{ | { | ||||
"{{ project_name }}.LCL5_vcf": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL5.voted.mendelian.vcf.gz", | "{{ project_name }}.LCL5_vcf": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL5.voted.mendelian.vcf.gz", | ||||
"{{ project_name }}.LCL8_callable_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL8.consensus.merged.bed", | "{{ project_name }}.LCL8_callable_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL8.consensus.merged.bed", | ||||
"{{ project_name }}.RTGdocker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-hap:v1.1", | |||||
"{{ project_name }}.LCL6_variants_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL6.variants.bed", | "{{ project_name }}.LCL6_variants_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL6.variants.bed", | ||||
"{{ project_name }}.vcf_info": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/quartet.all.site.info.txt", | "{{ project_name }}.vcf_info": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/quartet.all.site.info.txt", | ||||
"{{ project_name }}.LCL6_vcf_idx": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL6.voted.mendelian.vcf.gz.tbi", | "{{ project_name }}.LCL6_vcf_idx": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL6.voted.mendelian.vcf.gz.tbi", | ||||
"{{ project_name }}.LCL5_variants_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL5.variants.bed", | "{{ project_name }}.LCL5_variants_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL5.variants.bed", | ||||
"{{ project_name }}.LCL8_HR_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL8.27.homo_ref.consensus.bed", | "{{ project_name }}.LCL8_HR_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL8.27.homo_ref.consensus.bed", | ||||
"{{ project_name }}.BEDdocker": "registry-internal.cn-shanghai.aliyuncs.com/pgx-docker-registry/bedtools:v2.27.1", | |||||
"{{ project_name }}.disk_size": "150", | "{{ project_name }}.disk_size": "150", | ||||
"{{ project_name }}.LCL7_variants_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL7.variants.bed", | "{{ project_name }}.LCL7_variants_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL7.variants.bed", | ||||
"{{ project_name }}.LCL7_callable_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL7.consensus.merged.bed", | "{{ project_name }}.LCL7_callable_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL7.consensus.merged.bed", | ||||
"{{ project_name }}.filter_vcf.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-hap:v1.1", | |||||
"{{ project_name }}.docker": "registry-internal.cn-shanghai.aliyuncs.com/pgx-docker-registry/bedtools:v2.27.1", | |||||
"{{ project_name }}.LCL5_HR_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL5.27.homo_ref.consensus.bed", | "{{ project_name }}.LCL5_HR_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL5.27.homo_ref.consensus.bed", | ||||
"{{ project_name }}.LCL6_vcf": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL6.voted.mendelian.vcf.gz", | "{{ project_name }}.LCL6_vcf": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL6.voted.mendelian.vcf.gz", | ||||
"{{ project_name }}.LCL7_HR_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL7.27.homo_ref.consensus.bed", | "{{ project_name }}.LCL7_HR_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL7.27.homo_ref.consensus.bed", | ||||
"{{ project_name }}.LCL7_vcf": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL7.voted.mendelian.vcf.gz", | "{{ project_name }}.LCL7_vcf": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL7.voted.mendelian.vcf.gz", | ||||
"{{ project_name }}.LCL6_callable_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL6.consensus.merged.bed", | "{{ project_name }}.LCL6_callable_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL6.consensus.merged.bed", | ||||
"{{ project_name }}.LCL5_vcf_idx": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL5.voted.mendelian.vcf.gz.tbi", | "{{ project_name }}.LCL5_vcf_idx": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL5.voted.mendelian.vcf.gz.tbi", | ||||
"{{ project_name }}.PMRA_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/annotated.notValidatedIGV.vcf.bed", | |||||
"{{ project_name }}.PMRA_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/validation/annotated.notValidatedIGV.vcf.bed", | |||||
"{{ project_name }}.LCL8_variants_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL8.variants.bed", | "{{ project_name }}.LCL8_variants_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL8.variants.bed", | ||||
"{{ project_name }}.cluster_config": "OnDemand bcs.a2.large img-ubuntu-vpc", | "{{ project_name }}.cluster_config": "OnDemand bcs.a2.large img-ubuntu-vpc", | ||||
"{{ project_name }}.LCL8_vcf_idx": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL8.voted.mendelian.vcf.gz.tbi", | "{{ project_name }}.LCL8_vcf_idx": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL8.voted.mendelian.vcf.gz.tbi", | ||||
"{{ project_name }}.LCL8_vcf": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL8.voted.mendelian.vcf.gz", | "{{ project_name }}.LCL8_vcf": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL8.voted.mendelian.vcf.gz", | ||||
"{{ project_name }}.LCL7_vcf_idx": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL7.voted.mendelian.vcf.gz.tbi", | "{{ project_name }}.LCL7_vcf_idx": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL7.voted.mendelian.vcf.gz.tbi", | ||||
"{{ project_name }}.LCL6_HR_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL6.27.homo_ref.consensus.bed", | "{{ project_name }}.LCL6_HR_bed": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/LCL6.27.homo_ref.consensus.bed", | ||||
"{{ project_name }}.bed_10X": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/linked.10x.26559.removed.vcf.bed" | |||||
"{{ project_name }}.bed_10X": "oss://pgx-result/renluyao/manuscript_v3.0/benchmark_region/dat/validation/10X.less.0.01.repeat.annotation.bed" | |||||
} | } | ||||
gunzip LCL7.high.confidence.calls.vcf.gz | gunzip LCL7.high.confidence.calls.vcf.gz | ||||
gunzip LCL8.high.confidence.calls.vcf.gz | gunzip LCL8.high.confidence.calls.vcf.gz | ||||
python /opt/annotate_vcf.py -info ${vcf_info} -vcf LCL5.high.confidence.calls.vcf -prefix LCL5 | |||||
python /opt/annotate_vcf.py -info ${vcf_info} -vcf LCL6.high.confidence.calls.vcf -prefix LCL6 | |||||
python /opt/annotate_vcf.py -info ${vcf_info} -vcf LCL7.high.confidence.calls.vcf -prefix LCL7 | |||||
python /opt/annotate_vcf.py -info ${vcf_info} -vcf LCL8.high.confidence.calls.vcf -prefix LCL8 | |||||
cat LCL5.high.confidence.calls.vcf | grep -v '#' > LCL5.high.confidence.calls.body | |||||
cat LCL6.high.confidence.calls.vcf | grep -v '#' > LCL6.high.confidence.calls.body | |||||
cat LCL7.high.confidence.calls.vcf | grep -v '#' > LCL7.high.confidence.calls.body | |||||
cat LCL8.high.confidence.calls.vcf | grep -v '#' > LCL8.high.confidence.calls.body | |||||
python /opt/annotate_vcf.py -info ${vcf_info} -vcf LCL5.high.confidence.calls.body -prefix LCL5 | |||||
python /opt/annotate_vcf.py -info ${vcf_info} -vcf LCL6.high.confidence.calls.body -prefix LCL6 | |||||
python /opt/annotate_vcf.py -info ${vcf_info} -vcf LCL7.high.confidence.calls.body -prefix LCL7 | |||||
python /opt/annotate_vcf.py -info ${vcf_info} -vcf LCL8.high.confidence.calls.body -prefix LCL8 | |||||
cat LCL5.annotated.txt | awk '{print $1"\t"$2"\t.\t"$4"\t"$5"\t.\t.\tVOTE="$13"\tGT:ALT:DP\t"$10":"$18":"$17}' | cat LCL5.header - > LCL5.high.confidence.calls.annotated.vcf | cat LCL5.annotated.txt | awk '{print $1"\t"$2"\t.\t"$4"\t"$5"\t.\t.\tVOTE="$13"\tGT:ALT:DP\t"$10":"$18":"$17}' | cat LCL5.header - > LCL5.high.confidence.calls.annotated.vcf |
task remove_IGVrm_vcf { | task remove_IGVrm_vcf { | ||||
File benchmark_region | |||||
File benchmark_filtered_region | |||||
File LCL5_annotated_vcf | File LCL5_annotated_vcf | ||||
File LCL6_annotated_vcf | File LCL6_annotated_vcf | ||||
File LCL7_annotated_vcf | File LCL7_annotated_vcf | ||||
File LCL8_annotated_vcf | File LCL8_annotated_vcf | ||||
File vcf_info | |||||
String docker | String docker | ||||
String disk_size | String disk_size | ||||
String cluster_config | String cluster_config | ||||
command <<< | command <<< | ||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg vcffilter -i ${LCL5_vcf} --include-bed=${benchmark_region} -o LCL5.high.confidence.calls.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg bgzip ${LCL5_annotated_vcf} -c > LCL5.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg index -f vcf LCL5.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg vcffilter -i ${LCL6_vcf} --include-bed=${benchmark_region} -o LCL6.high.confidence.calls.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg bgzip ${LCL6_annotated_vcf} -c > LCL6.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg index -f vcf LCL6.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg vcffilter -i ${LCL7_vcf} --include-bed=${benchmark_region} -o LCL7.high.confidence.calls.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg bgzip ${LCL7_annotated_vcf} -c > LCL7.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg index -f vcf LCL7.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg vcffilter -i ${LCL8_vcf} --include-bed=${benchmark_region} -o LCL8.high.confidence.calls.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg bgzip ${LCL8_annotated_vcf} -c > LCL8.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg index -f vcf LCL8.vcf.gz | |||||
zcat LCL5.high.confidence.calls.vcf.gz | grep '#' > LCL5.header | |||||
zcat LCL6.high.confidence.calls.vcf.gz | grep '#' > LCL6.header | |||||
zcat LCL7.high.confidence.calls.vcf.gz | grep '#' > LCL7.header | |||||
zcat LCL8.high.confidence.calls.vcf.gz | grep '#' > LCL8.header | |||||
gunzip LCL5.high.confidence.calls.vcf.gz | |||||
gunzip LCL6.high.confidence.calls.vcf.gz | |||||
gunzip LCL7.high.confidence.calls.vcf.gz | |||||
gunzip LCL8.high.confidence.calls.vcf.gz | |||||
python /opt/annotate_vcf.py -info ${vcf_info} -vcf LCL5.high.confidence.calls.vcf -prefix LCL5 | |||||
python /opt/annotate_vcf.py -info ${vcf_info} -vcf LCL6.high.confidence.calls.vcf -prefix LCL6 | |||||
python /opt/annotate_vcf.py -info ${vcf_info} -vcf LCL7.high.confidence.calls.vcf -prefix LCL7 | |||||
python /opt/annotate_vcf.py -info ${vcf_info} -vcf LCL8.high.confidence.calls.vcf -prefix LCL8 | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg vcffilter -i LCL5.vcf.gz --include-bed=${benchmark_filtered_region} -o LCL5.high.confidence.calls.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg vcffilter -i LCL6.vcf.gz --include-bed=${benchmark_filtered_region} -o LCL6.high.confidence.calls.vcf.gz | |||||
cat LCL5.annotated.txt | awk '{print $1"\t"$2"\t.\t"$4"\t"$5"\t.\t.\tVOTE="$13"\tGT:ALT:DP\t"$10":"$18":"$17}' | cat LCL5.header - > LCL5.high.confidence.calls.annotated.vcf | |||||
cat LCL6.annotated.txt | awk '{print $1"\t"$2"\t.\t"$4"\t"$5"\t.\t.\tVOTE="$14"\tGT:ALT:DP\t"$10":"$20":"$19}' | cat LCL6.header - > LCL6.high.confidence.calls.annotated.vcf | |||||
cat LCL7.annotated.txt | awk '{print $1"\t"$2"\t.\t"$4"\t"$5"\t.\t.\tVOTE="$15"\tGT:ALT:DP\t"$10":"$22":"$21}' | cat LCL7.header - > LCL7.high.confidence.calls.annotated.vcf | |||||
cat LCL8.annotated.txt | awk '{print $1"\t"$2"\t.\t"$4"\t"$5"\t.\t.\tVOTE="$16"\tGT:ALT:DP\t"$10":"$24":"$23}' | cat LCL8.header - > LCL8.high.confidence.calls.annotated.vcf | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg vcffilter -i LCL7.vcf.gz --include-bed=${benchmark_filtered_region} -o LCL7.high.confidence.calls.vcf.gz | |||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg vcffilter -i LCL8.vcf.gz --include-bed=${benchmark_filtered_region} -o LCL8.high.confidence.calls.vcf.gz | |||||
>>> | >>> | ||||
} | } | ||||
output { | output { | ||||
File LCL5_filtered_vcf = "LCL5.high.confidence.calls.vcf" | |||||
File LCL6_filtered_vcf = "LCL6.high.confidence.calls.vcf" | |||||
File LCL7_filtered_vcf = "LCL7.high.confidence.calls.vcf" | |||||
File LCL8_filtered_vcf = "LCL8.high.confidence.calls.vcf" | |||||
File LCL5_annotated_vcf = "LCL5.high.confidence.calls.annotated.vcf" | |||||
File LCL6_annotated_vcf = "LCL6.high.confidence.calls.annotated.vcf" | |||||
File LCL7_annotated_vcf = "LCL7.high.confidence.calls.annotated.vcf" | |||||
File LCL8_annotated_vcf = "LCL8.high.confidence.calls.annotated.vcf" | |||||
File LCL5_IGVrm_vcf = "LCL5.high.confidence.calls.vcf.gz" | |||||
File LCL6_IGVrm_vcf = "LCL6.high.confidence.calls.vcf.gz" | |||||
File LCL7_IGVrm_vcf = "LCL7.high.confidence.calls.vcf.gz" | |||||
File LCL8_IGVrm_vcf = "LCL8.high.confidence.calls.vcf.gz" | |||||
} | } | ||||
} | } | ||||
import "./tasks/homo_bed.wdl" as homo_bed | import "./tasks/homo_bed.wdl" as homo_bed | ||||
import "./tasks/variant_bed.wdl" as variant_bed | import "./tasks/variant_bed.wdl" as variant_bed | ||||
import "./tasks/filter_vcf.wdl" as filter_vcf | import "./tasks/filter_vcf.wdl" as filter_vcf | ||||
import "./tasks/remove_IGVrm_bed.wdl" as remove_IGVrm_bed | |||||
import "./tasks/remove_IGVrm_vcf.wdl" as remove_IGVrm_vcf | |||||
workflow {{ project_name }} { | workflow {{ project_name }} { | ||||
File LCL7_vcf_idx | File LCL7_vcf_idx | ||||
File LCL8_vcf_idx | File LCL8_vcf_idx | ||||
File vcf_info | File vcf_info | ||||
String docker | |||||
String RTGdocker | |||||
String BEDdocker | |||||
String disk_size | String disk_size | ||||
String cluster_config | String cluster_config | ||||
LCL6_callable_bed=LCL6_callable_bed, | LCL6_callable_bed=LCL6_callable_bed, | ||||
LCL7_callable_bed=LCL7_callable_bed, | LCL7_callable_bed=LCL7_callable_bed, | ||||
LCL8_callable_bed=LCL8_callable_bed, | LCL8_callable_bed=LCL8_callable_bed, | ||||
docker=docker, | |||||
docker=BEDdocker, | |||||
disk_size=disk_size, | disk_size=disk_size, | ||||
cluster_config=cluster_config | cluster_config=cluster_config | ||||
} | } | ||||
LCL6_HR_bed=LCL6_HR_bed, | LCL6_HR_bed=LCL6_HR_bed, | ||||
LCL7_HR_bed=LCL7_HR_bed, | LCL7_HR_bed=LCL7_HR_bed, | ||||
LCL8_HR_bed=LCL8_HR_bed, | LCL8_HR_bed=LCL8_HR_bed, | ||||
docker=docker, | |||||
docker=BEDdocker, | |||||
disk_size=disk_size, | disk_size=disk_size, | ||||
cluster_config=cluster_config | cluster_config=cluster_config | ||||
} | } | ||||
LCL6_variants_bed=LCL6_variants_bed, | LCL6_variants_bed=LCL6_variants_bed, | ||||
LCL7_variants_bed=LCL7_variants_bed, | LCL7_variants_bed=LCL7_variants_bed, | ||||
LCL8_variants_bed=LCL8_variants_bed, | LCL8_variants_bed=LCL8_variants_bed, | ||||
docker=docker, | |||||
docker=BEDdocker, | |||||
disk_size=disk_size, | disk_size=disk_size, | ||||
cluster_config=cluster_config | cluster_config=cluster_config | ||||
} | } | ||||
callable_merged_intersect_bed=callable_loci.callable_merged_intersect_bed, | callable_merged_intersect_bed=callable_loci.callable_merged_intersect_bed, | ||||
HR_merged_intersect_bed=homo_bed.HR_merged_intersect_bed, | HR_merged_intersect_bed=homo_bed.HR_merged_intersect_bed, | ||||
variants_merged_bed=variant_bed.variants_merged_bed, | variants_merged_bed=variant_bed.variants_merged_bed, | ||||
docker=docker, | |||||
docker=BEDdocker, | |||||
disk_size=disk_size, | disk_size=disk_size, | ||||
cluster_config=cluster_config | cluster_config=cluster_config | ||||
} | } | ||||
LCL6_vcf_idx=LCL6_vcf_idx, | LCL6_vcf_idx=LCL6_vcf_idx, | ||||
LCL7_vcf_idx=LCL7_vcf_idx, | LCL7_vcf_idx=LCL7_vcf_idx, | ||||
LCL8_vcf_idx=LCL8_vcf_idx, | LCL8_vcf_idx=LCL8_vcf_idx, | ||||
docker=RTGdocker, | |||||
disk_size=disk_size, | |||||
cluster_config=cluster_config | |||||
} | |||||
call remove_IGVrm_bed.remove_IGVrm_bed as remove_IGVrm_bed{ | |||||
input: | |||||
benchmark_region=final_merge.benchmark_region, | |||||
bed_10X=bed_10X, | |||||
PMRA_bed=PMRA_bed, | |||||
docker=BEDdocker, | |||||
disk_size=disk_size, | |||||
cluster_config=cluster_config | |||||
} | |||||
call remove_IGVrm_vcf.remove_IGVrm_vcf as remove_IGVrm_vcf{ | |||||
input: | |||||
benchmark_filtered_region=remove_IGVrm_bed.benchmark_filtered_region, | |||||
LCL5_annotated_vcf=filter_vcf.LCL5_annotated_vcf, | |||||
LCL6_annotated_vcf=filter_vcf.LCL6_annotated_vcf, | |||||
LCL7_annotated_vcf=filter_vcf.LCL7_annotated_vcf, | |||||
LCL8_annotated_vcf=filter_vcf.LCL8_annotated_vcf, | |||||
docker=RTGdocker, | |||||
disk_size=disk_size, | disk_size=disk_size, | ||||
cluster_config=cluster_config | cluster_config=cluster_config | ||||
} | } |