"{{ project_name }}.SENTIEON_INSTALL_DIR": "/opt/sentieon-genomics", | "{{ project_name }}.SENTIEON_INSTALL_DIR": "/opt/sentieon-genomics", | ||||
"{{ project_name }}.fasta": "GRCh38.d1.vd1.fa", | "{{ project_name }}.fasta": "GRCh38.d1.vd1.fa", | ||||
"{{ project_name }}.disk_size": "500", | "{{ project_name }}.disk_size": "500", | ||||
"{{ project_name }}.gvcf_dir": "{{ gvcf_dir }}", | |||||
"{{ project_name }}.gvcf_idx_files": "{{ gvcf_idx_files }}", | |||||
"{{ project_name }}.gvcf_files": "{{ gvcf_files }}", | |||||
"{{ project_name }}.docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/sentieon-genomics:v2018.08.01", | "{{ project_name }}.docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/sentieon-genomics:v2018.08.01", | ||||
"{{ project_name }}.project": "{{ project }}", | "{{ project_name }}.project": "{{ project }}", | ||||
"{{ project_name }}.chromo": "{{ chromo }}", | |||||
"{{ project_name }}.cluster_config": "OnDemand bcs.a2.7xlarge img-ubuntu-vpc", | "{{ project_name }}.cluster_config": "OnDemand bcs.a2.7xlarge img-ubuntu-vpc", | ||||
"{{ project_name }}.ref_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/" | "{{ project_name }}.ref_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/" | ||||
} | } |
task GVCFtyper_chr3 { | |||||
task GVCFtyper { | |||||
File ref_dir | File ref_dir | ||||
String SENTIEON_INSTALL_DIR | String SENTIEON_INSTALL_DIR | ||||
String fasta | String fasta | ||||
File gvcf_dir | |||||
Array[File] gvcfs | |||||
Array[File] gvcf_idxs | |||||
String project | String project | ||||
String chromo | |||||
String docker | String docker | ||||
String cluster_config | String cluster_config | ||||
String disk_size | String disk_size | ||||
set -o pipefail | set -o pipefail | ||||
set -e | set -e | ||||
export SENTIEON_LICENSE=192.168.0.55:8990 | export SENTIEON_LICENSE=192.168.0.55:8990 | ||||
nt=$(nproc) | |||||
mkdir -p /cromwell_root/tmp | |||||
cp -r ${gvcf_dir} /cromwell_root/tmp/ | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} --algo GVCFtyper ${project}.joint.g.vcf /cromwell_root/tmp/*.chr3.vcf | |||||
nt=$(nproc) | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} --algo GVCFtyper ${project}.joint.g.vcf ${sep=" " gvcfs} | |||||
>>> | >>> | ||||
runtime { | runtime { | ||||
} | } | ||||
output { | output { | ||||
File gvcf = "${project}.chr3.joint.g.vcf" | |||||
File gvcf_idx = "${project}.chr3.joint.g.vcf.idx" | |||||
File gvcf = "${project}.${chromo}joint.g.vcf" | |||||
File gvcf_idx = "${project}.${chromo}.joint.g.vcf.idx" | |||||
} | } | ||||
} | } | ||||
task GVCFtyper_chr4 { | |||||
File ref_dir | |||||
String SENTIEON_INSTALL_DIR | |||||
String fasta | |||||
File gvcf_dir | |||||
String project | |||||
String docker | |||||
String cluster_config | |||||
String disk_size | |||||
command <<< | |||||
set -o pipefail | |||||
set -e | |||||
export SENTIEON_LICENSE=192.168.0.55:8990 | |||||
nt=$(nproc) | |||||
mkdir -p /cromwell_root/tmp | |||||
cp -r ${gvcf_dir} /cromwell_root/tmp/ | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} --algo GVCFtyper ${project}.joint.g.vcf /cromwell_root/tmp/*.chr4.vcf | |||||
>>> | |||||
runtime { | |||||
docker:docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File gvcf = "${project}.chr4.joint.g.vcf" | |||||
File gvcf_idx = "${project}.chr4.joint.g.vcf.idx" | |||||
} | |||||
} |
task GVCFtyper_chr7 { | |||||
File ref_dir | |||||
String SENTIEON_INSTALL_DIR | |||||
String fasta | |||||
File gvcf_dir | |||||
String project | |||||
String docker | |||||
String cluster_config | |||||
String disk_size | |||||
command <<< | |||||
set -o pipefail | |||||
set -e | |||||
export SENTIEON_LICENSE=192.168.0.55:8990 | |||||
nt=$(nproc) | |||||
mkdir -p /cromwell_root/tmp | |||||
cp -r ${gvcf_dir} /cromwell_root/tmp/ | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} --algo GVCFtyper ${project}.joint.g.vcf /cromwell_root/tmp/*.chr7.vcf | |||||
>>> | |||||
runtime { | |||||
docker:docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File gvcf = "${project}.chr7.joint.g.vcf" | |||||
File gvcf_idx = "${project}.chr7.joint.g.vcf.idx" | |||||
} | |||||
} |
task GVCFtyper_chr8 { | |||||
File ref_dir | |||||
String SENTIEON_INSTALL_DIR | |||||
String fasta | |||||
File gvcf_dir | |||||
String project | |||||
String docker | |||||
String cluster_config | |||||
String disk_size | |||||
command <<< | |||||
set -o pipefail | |||||
set -e | |||||
export SENTIEON_LICENSE=192.168.0.55:8990 | |||||
nt=$(nproc) | |||||
mkdir -p /cromwell_root/tmp | |||||
cp -r ${gvcf_dir} /cromwell_root/tmp/ | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} --algo GVCFtyper ${project}.joint.g.vcf /cromwell_root/tmp/*.chr8.vcf | |||||
>>> | |||||
runtime { | |||||
docker:docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File gvcf = "${project}.chr8.joint.g.vcf" | |||||
File gvcf_idx = "${project}.chr8.joint.g.vcf.idx" | |||||
} | |||||
} |
task GVCFtyper_chrX { | |||||
File ref_dir | |||||
String SENTIEON_INSTALL_DIR | |||||
String fasta | |||||
File gvcf_dir | |||||
String project | |||||
String docker | |||||
String cluster_config | |||||
String disk_size | |||||
command <<< | |||||
set -o pipefail | |||||
set -e | |||||
export SENTIEON_LICENSE=192.168.0.55:8990 | |||||
nt=$(nproc) | |||||
mkdir -p /cromwell_root/tmp | |||||
cp -r ${gvcf_dir} /cromwell_root/tmp/ | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -r ${ref_dir}/${fasta} --algo GVCFtyper ${project}.joint.g.vcf /cromwell_root/tmp/*.chrX.vcf | |||||
>>> | |||||
runtime { | |||||
docker:docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File gvcf = "${project}.chrX.joint.g.vcf" | |||||
File gvcf_idx = "${project}.chrX.joint.g.vcf.idx" | |||||
} | |||||
} |
import "./tasks/gVCF_chromo_split.wdl" as gVCF_chromo_split | |||||
import "./tasks/GVCFtyper_chr3.wdl" as GVCFtyper_chr3 | |||||
import "./tasks/GVCFtyper_chr4.wdl" as GVCFtyper_chr4 | |||||
import "./tasks/GVCFtyper_chr7.wdl" as GVCFtyper_chr7 | |||||
import "./tasks/GVCFtyper_chr8.wdl" as GVCFtyper_chr8 | |||||
import "./tasks/GVCFtyper_chrX.wdl" as GVCFtyper_chrX | |||||
import "./tasks/GVCFtyper.wdl" as GVCFtyper | |||||
workflow {{ project_name }} { | |||||
File gvcf_dir | |||||
workflow project_name { | |||||
File gvcf_files | |||||
Array[File] gvcfs = read_lines(gvcf_files) | |||||
File gvcf_idx_files | |||||
Array[File] gvcf_idxs = read_lines(gvcf_idx_files) | |||||
String SENTIEON_INSTALL_DIR | String SENTIEON_INSTALL_DIR | ||||
String docker | String docker | ||||
String project | String project | ||||
String fasta | String fasta | ||||
String chromo | |||||
File ref_dir | File ref_dir | ||||
String disk_size | String disk_size | ||||
String cluster_config | String cluster_config | ||||
call GVCFtyper_chr3.GVCFtyper_chr3 as GVCFtyper_chr3 { | |||||
input: | |||||
ref_dir=ref_dir, | |||||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | |||||
fasta=fasta, | |||||
gvcf_dir=gvcf_dir, | |||||
project=project, | |||||
docker=docker, | |||||
cluster_config=cluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call GVCFtyper_chr4.GVCFtyper_chr4 as GVCFtyper_chr4 { | |||||
input: | |||||
ref_dir=ref_dir, | |||||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | |||||
fasta=fasta, | |||||
gvcf_dir=gvcf_dir, | |||||
project=project, | |||||
docker=docker, | |||||
cluster_config=cluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call GVCFtyper_chr7.GVCFtyper_chr7 as GVCFtyper_chr7 { | |||||
input: | |||||
ref_dir=ref_dir, | |||||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | |||||
fasta=fasta, | |||||
gvcf_dir=gvcf_dir, | |||||
project=project, | |||||
docker=docker, | |||||
cluster_config=cluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call GVCFtyper_chr8.GVCFtyper_chr8 as GVCFtyper_chr8 { | |||||
input: | |||||
ref_dir=ref_dir, | |||||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | |||||
fasta=fasta, | |||||
gvcf_dir=gvcf_dir, | |||||
project=project, | |||||
docker=docker, | |||||
cluster_config=cluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call GVCFtyper_chrX.GVCFtyper_chrX as GVCFtyper_chrX { | |||||
call GVCFtyper.GVCFtyper as GVCFtyper { | |||||
input: | input: | ||||
ref_dir=ref_dir, | ref_dir=ref_dir, | ||||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | ||||
fasta=fasta, | fasta=fasta, | ||||
gvcf_dir=gvcf_dir, | |||||
gvcfs=gvcfs, | |||||
gvcf_idxs=gvcf_idxs, | |||||
chromo=chromo, | |||||
project=project, | project=project, | ||||
docker=docker, | docker=docker, | ||||
cluster_config=cluster_config, | cluster_config=cluster_config, |