Przeglądaj źródła

IGV check

master
LUYAO REN 4 lat temu
rodzic
commit
da3659e5a1
4 zmienionych plików z 63 dodań i 44 usunięć
  1. +4
    -4
      inputs
  2. +10
    -4
      tasks/filter_vcf.wdl
  3. +17
    -31
      tasks/remove_IGVrm_vcf.wdl
  4. +32
    -5
      workflow.wdl

+ 4
- 4
inputs Wyświetl plik

@@ -1,16 +1,16 @@
{
"{{ 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 }}.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 }}.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 }}.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 }}.BEDdocker": "registry-internal.cn-shanghai.aliyuncs.com/pgx-docker-registry/bedtools:v2.27.1",
"{{ 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_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 }}.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",
@@ -18,13 +18,13 @@
"{{ 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 }}.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 }}.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": "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 }}.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"
}


+ 10
- 4
tasks/filter_vcf.wdl Wyświetl plik

@@ -35,10 +35,16 @@ task filter_vcf {
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
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

+ 17
- 31
tasks/remove_IGVrm_vcf.wdl Wyświetl plik

@@ -1,11 +1,10 @@
task remove_IGVrm_vcf {
File benchmark_region
File benchmark_filtered_region
File LCL5_annotated_vcf
File LCL6_annotated_vcf
File LCL7_annotated_vcf
File LCL8_annotated_vcf
File vcf_info
String docker
String disk_size
String cluster_config
@@ -13,35 +12,27 @@ task remove_IGVrm_vcf {

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

>>>

@@ -53,15 +44,10 @@ task remove_IGVrm_vcf {
}

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


+ 32
- 5
workflow.wdl Wyświetl plik

@@ -3,6 +3,9 @@ import "./tasks/final_merge.wdl" as final_merge
import "./tasks/homo_bed.wdl" as homo_bed
import "./tasks/variant_bed.wdl" as variant_bed
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 }} {

@@ -29,7 +32,8 @@ workflow {{ project_name }} {
File LCL7_vcf_idx
File LCL8_vcf_idx
File vcf_info
String docker
String RTGdocker
String BEDdocker
String disk_size
String cluster_config
@@ -39,7 +43,7 @@ workflow {{ project_name }} {
LCL6_callable_bed=LCL6_callable_bed,
LCL7_callable_bed=LCL7_callable_bed,
LCL8_callable_bed=LCL8_callable_bed,
docker=docker,
docker=BEDdocker,
disk_size=disk_size,
cluster_config=cluster_config
}
@@ -50,7 +54,7 @@ workflow {{ project_name }} {
LCL6_HR_bed=LCL6_HR_bed,
LCL7_HR_bed=LCL7_HR_bed,
LCL8_HR_bed=LCL8_HR_bed,
docker=docker,
docker=BEDdocker,
disk_size=disk_size,
cluster_config=cluster_config
}
@@ -61,7 +65,7 @@ workflow {{ project_name }} {
LCL6_variants_bed=LCL6_variants_bed,
LCL7_variants_bed=LCL7_variants_bed,
LCL8_variants_bed=LCL8_variants_bed,
docker=docker,
docker=BEDdocker,
disk_size=disk_size,
cluster_config=cluster_config
}
@@ -71,7 +75,7 @@ workflow {{ project_name }} {
callable_merged_intersect_bed=callable_loci.callable_merged_intersect_bed,
HR_merged_intersect_bed=homo_bed.HR_merged_intersect_bed,
variants_merged_bed=variant_bed.variants_merged_bed,
docker=docker,
docker=BEDdocker,
disk_size=disk_size,
cluster_config=cluster_config
}
@@ -88,6 +92,29 @@ workflow {{ project_name }} {
LCL6_vcf_idx=LCL6_vcf_idx,
LCL7_vcf_idx=LCL7_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,
cluster_config=cluster_config
}

Ładowanie…
Anuluj
Zapisz