"disk_size": "200", | "disk_size": "200", | ||||
"cluster_config": "OnDemand bcs.a2.3xlarge img-ubuntu-vpc", | "cluster_config": "OnDemand bcs.a2.3xlarge img-ubuntu-vpc", | ||||
"germline": false, | "germline": false, | ||||
"tnseq": true, | |||||
"tnscope": true, | |||||
"varscan": true | |||||
"tnseq": false, | |||||
"tnscope": false, | |||||
"varscan": false, | |||||
"tnseqold": false | |||||
} | } |
"{{ project_name }}.cluster_config": "{{ cluster_config }}", | "{{ project_name }}.cluster_config": "{{ cluster_config }}", | ||||
"{{ project_name }}.germline": {{ germline | tojson }}, | "{{ project_name }}.germline": {{ germline | tojson }}, | ||||
"{{ project_name }}.tnseq": {{ tnseq | tojson }}, | "{{ project_name }}.tnseq": {{ tnseq | tojson }}, | ||||
"{{ project_name }}.tnseqold": {{ tnseqold | tojson }}, | |||||
"{{ project_name }}.tnscope": {{ tnscope | tojson }}, | "{{ project_name }}.tnscope": {{ tnscope | tojson }}, | ||||
"{{ project_name }}.varscan": {{ varscan | tojson }} | "{{ project_name }}.varscan": {{ varscan | tojson }} | ||||
} | } |
task TNseqold { | |||||
String sample | |||||
String SENTIEON_INSTALL_DIR | |||||
String SENTIEON_LICENSE | |||||
File tumor_recaled_bam | |||||
File tumor_recaled_bam_index | |||||
File tumor_recal_table | |||||
File normal_recaled_bam | |||||
File normal_recaled_bam_index | |||||
File normal_recal_table | |||||
String tumor_name | |||||
String normal_name | |||||
File ref_dir | |||||
String fasta | |||||
File? regions | |||||
Int? interval_padding | |||||
File? pon_vcf | |||||
String docker | |||||
String cluster_config | |||||
String disk_size | |||||
String pon_command = if set_pon then "--pon /cromwell_root/tmp/PON/$(basename ${pon_vcf}) --cosmic /cromwell_root/tmp/PON/${cosmic_vcf}" else "" | |||||
command <<< | |||||
set -o pipefail | |||||
set -e | |||||
export SENTIEON_LICENSE=${SENTIEON_LICENSE} | |||||
nt=$(nproc) | |||||
if [ ${regions} ]; then | |||||
INTERVAL="--interval ${regions} --interval_padding ${interval_padding}" | |||||
else | |||||
INTERVAL="" | |||||
fi | |||||
if [ ${pon_vcf} ]; then | |||||
PON="--pon ${pon_vcf}" | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex ${pon_vcf} | |||||
else | |||||
PON="" | |||||
fi | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \ | |||||
--INTERVAL -r ${ref_dir}/${fasta} \ | |||||
-i ${tumor_recaled_bam} -q ${tumor_recal_table} \ | |||||
-i ${normal_recaled_bam} -q ${normal_recal_table} \ | |||||
--algo TNhaplotyper \ | |||||
--tumor_sample ${tumor_name} --normal_sample ${normal_name} \ | |||||
--dbsnp ${dbsnp_dir}/${dbsnp} $PON \ | |||||
${sample}.TNseq.TN.vcf | |||||
>>> | |||||
runtime { | |||||
docker: docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File TNseq_vcf= "${sample}.TNseq.old.TN.vcf" | |||||
File TNseq_vcf_index = "${sample}.TNseq.old.TN.vcf.idx" | |||||
} |
import "./tasks/TNseq.wdl" as TNseq | import "./tasks/TNseq.wdl" as TNseq | ||||
import "./tasks/TNseqold.wdl" as TNseqold | |||||
import "./tasks/TNscope.wdl" as TNscope | import "./tasks/TNscope.wdl" as TNscope | ||||
import "./tasks/annovar.wdl" as annovar | import "./tasks/annovar.wdl" as annovar | ||||
Boolean germline | Boolean germline | ||||
Boolean tnseq | Boolean tnseq | ||||
Boolean tnseqold | |||||
Boolean tnscope | Boolean tnscope | ||||
Boolean varscan | Boolean varscan | ||||
if (tnseqold) { | |||||
call TNseqold.TNseqold as TNseqold { | |||||
input: | |||||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | |||||
SENTIEON_LICENSE=SENTIEON_LICENSE, | |||||
sample=sample_id, | |||||
normal_recaled_bam=normal_bam, | |||||
normal_recaled_bam_index=normal_bai, | |||||
normal_recal_table=normal_table, | |||||
tumor_recaled_bam=tumor_bam, | |||||
tumor_recaled_bam_index=tumor_bai, | |||||
tumor_recal_table=tumor_table, | |||||
normal_name=sample_id + "_normal", | |||||
tumor_name=sample_id + "_tumor", | |||||
fasta=fasta, | |||||
ref_dir=ref_dir, | |||||
regions=regions, | |||||
interval_padding=interval_padding, | |||||
pon_vcf=tnseq_pon, | |||||
docker=sentieon_docker, | |||||
cluster_config=cluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call annovar.annovar as TNseq_annovar { | |||||
input: | |||||
sample=sample_id, | |||||
vcf=TNseq.TNseq_vcf, | |||||
database=database, | |||||
docker=annovar_docker, | |||||
cluster_config=cluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
} | |||||
if (tnseq) { | if (tnseq) { | ||||
call TNseq.TNseq as TNseq { | call TNseq.TNseq as TNseq { | ||||
input: | input: |