{ | { | ||||
"{{ project_name }}.fasta": "GRCh38.d1.vd1.fa", | "{{ project_name }}.fasta": "GRCh38.d1.vd1.fa", | ||||
"{{ project_name }}.VCFrename.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-tools:latest", | |||||
"{{ project_name }}.sister.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/vbt:v1.1", | "{{ project_name }}.sister.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/vbt:v1.1", | ||||
"{{ project_name }}.mendelian.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/vbt:v1.1", | "{{ project_name }}.mendelian.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/vbt:v1.1", | ||||
"{{ project_name }}.disk_size": "150", | "{{ project_name }}.disk_size": "150", |
task VCFrename { | |||||
File mother_vcf_gz | |||||
File father_vcf_gz | |||||
File twins_vcf_gz | |||||
File mother_vcf_idx | |||||
File father_vcf_idx | |||||
File twins_vcf_idx | |||||
String mother_name | |||||
String father_name | |||||
String family_name | |||||
String docker | |||||
String cluster_config | |||||
String disk_size | |||||
command <<< | |||||
echo "MOTHER ${mother_name}" > mother_rename.txt | |||||
rtg vcfannotate -i ${mother_vcf_gz} -o ${mother_name}.rename.vcf.gz --relabel=mother_rename.txt | |||||
echo "FATHER ${father_name}" > father_rename.txt | |||||
rtg vcfannotate -i ${father_vcf_gz} -o ${father_name}.rename.vcf.gz --relabel=father_rename.txt | |||||
echo "CHILD ${family_name}" > child_rename.txt | |||||
rtg vcfannotate -i ${twins_vcf_gz} -o ${family_name}.twins.rename.vcf.gz --relabel=child_rename.txt | |||||
>>> | |||||
runtime { | |||||
docker:docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File rename_mother_vcf_gz = "${mother_name}.rename.vcf.gz" | |||||
File rename_father_vcf_gz = "${father_name}.rename.vcf.gz" | |||||
File rename_twins_vcf_gz = "${family_name}.twins.rename.vcf.gz" | |||||
File rename_mother_vcf_idx = "${mother_name}.rename.vcf.gz.tbi" | |||||
File rename_father_vcf_idx = "${father_name}.rename.vcf.gz.tbi" | |||||
File rename_twins_vcf_idx = "${family_name}.twins.rename.vcf.gz.tbi" | |||||
} | |||||
} |
task merge { | task merge { | ||||
Array[File] mother_vcf_gz | |||||
Array[File] mother_vcf_idx | |||||
Array[File] father_vcf_gz | |||||
Array[File] father_vcf_idx | |||||
Array[File] twins_vcf_gz | |||||
Array[File] twins_vcf_idx | |||||
Array[File] rename_mother_vcf_gz | |||||
Array[File] rename_mother_vcf_idx | |||||
Array[File] rename_father_vcf_gz | |||||
Array[File] rename_father_vcf_idx | |||||
Array[File] rename_twins_vcf_gz | |||||
Array[File] rename_twins_vcf_idx | |||||
String mapper_caller | String mapper_caller | ||||
String docker | String docker | ||||
String cluster_config | String cluster_config | ||||
String disk_size | String disk_size | ||||
command <<< | command <<< | ||||
rtg vcfmerge --force-merge-all --no-gzip -o LCL8.${mapper_caller}.sister.consistent.merged.vcf ${sep=" " mother_vcf_gz} | |||||
rtg vcfmerge --force-merge-all --no-gzip -o LCL8.${mapper_caller}.sister.consistent.merged.vcf ${sep=" " rename_mother_vcf_gz} | |||||
rtg vcfmerge --force-merge-all --no-gzip -o LCL7.${mapper_caller}.sister.consistent.merged.vcf ${sep=" " father_vcf_gz} | |||||
rtg vcfmerge --force-merge-all --no-gzip -o LCL7.${mapper_caller}.sister.consistent.merged.vcf ${sep=" " rename_father_vcf_gz} | |||||
rtg vcfmerge --force-merge-all --no-gzip -o Twins.${mapper_caller}.sister.consistent.merged.vcf ${sep=" " twins_vcf_gz} | |||||
rtg vcfmerge --force-merge-all --no-gzip -o Twins.${mapper_caller}.sister.consistent.merged.vcf ${sep=" " rename_twins_vcf_gz} | |||||
>>> | >>> | ||||
runtime { | runtime { |
import "./tasks/sister.wdl" as sister | import "./tasks/sister.wdl" as sister | ||||
import "./tasks/mendelian.wdl" as mendelian | import "./tasks/mendelian.wdl" as mendelian | ||||
import "./tasks/zipIndex.wdl" as zipIndex | import "./tasks/zipIndex.wdl" as zipIndex | ||||
import "./tasks/VCFrename.wdl" as VCFrename | |||||
import "./tasks/merge.wdl" as merge | import "./tasks/merge.wdl" as merge | ||||
workflow {{ project_name }} { | workflow {{ project_name }} { | ||||
cluster_config=cluster_config, | cluster_config=cluster_config, | ||||
disk_size=disk_size | disk_size=disk_size | ||||
} | } | ||||
call VCFrename.VCFrename as VCFrename{ | |||||
input: | |||||
mother_vcf_gz=zipIndex.mother_vcf_gz, | |||||
father_vcf_gz=zipIndex.father_vcf_gz, | |||||
twins_vcf_gz=zipIndex.twins_vcf_gz, | |||||
mother_vcf_idx=zipIndex.mother_vcf_idx, | |||||
father_vcf_idx=zipIndex.father_vcf_idx, | |||||
twins_vcf_idx=zipIndex.twins_vcf_idx, | |||||
mother_name=sample[7], | |||||
father_name=sample[6], | |||||
family_name=sample[8], | |||||
cluster_config=cluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
} | } | ||||
call merge.merge as merge { | call merge.merge as merge { | ||||
input: | input: | ||||
mother_vcf_gz=zipIndex.mother_vcf_gz, | |||||
mother_vcf_idx=zipIndex.mother_vcf_idx, | |||||
father_vcf_gz=zipIndex.father_vcf_gz, | |||||
father_vcf_idx=zipIndex.father_vcf_idx, | |||||
twins_vcf_gz=zipIndex.twins_vcf_gz, | |||||
twins_vcf_idx=zipIndex.twins_vcf_idx, | |||||
rename_mother_vcf_gz=VCFrename.rename_mother_vcf_gz, | |||||
rename_mother_vcf_idx=VCFrename.rename_mother_vcf_idx, | |||||
rename_father_vcf_gz=VCFrename.rename_father_vcf_gz, | |||||
rename_father_vcf_idx=VCFrename.rename_father_vcf_idx, | |||||
rename_twins_vcf_gz=VCFrename.rename_twins_vcf_gz, | |||||
rename_twins_vcf_idx=VCFrename.rename_twins_vcf_idx, | |||||
mapper_caller=mapper_caller, | mapper_caller=mapper_caller, | ||||
cluster_config=cluster_config, | cluster_config=cluster_config, | ||||
disk_size=disk_size | disk_size=disk_size |