String fasta | String fasta | ||||
String dbsnp | String dbsnp | ||||
String db_mills | String db_mills | ||||
File realigned_bam | |||||
File realigned_bam_index | |||||
File deduped_bam | |||||
File deduped_bam_index | |||||
String docker | String docker | ||||
String cluster_config | String cluster_config | ||||
String disk_size | String disk_size | ||||
nt=$(nproc) | nt=$(nproc) | ||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \ | ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \ | ||||
-r ${ref_dir}/${fasta} -i ${realigned_bam} \ | |||||
-r ${ref_dir}/${fasta} -i ${deduped_bam} \ | |||||
--algo QualCal \ | --algo QualCal \ | ||||
-k ${dbsnp_dir}/${dbsnp} -k ${dbmills_dir}/${db_mills} \ | -k ${dbsnp_dir}/${dbsnp} -k ${dbmills_dir}/${db_mills} \ | ||||
${sample}_recal_data.table | ${sample}_recal_data.table | ||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \ | ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \ | ||||
-r ${ref_dir}/${fasta} -i ${realigned_bam} -q ${sample}_recal_data.table \ | |||||
-r ${ref_dir}/${fasta} -i ${deduped_bam} -q ${sample}_recal_data.table \ | |||||
--algo QualCal \ | --algo QualCal \ | ||||
-k ${dbsnp_dir}/${dbsnp} -k ${dbmills_dir}/${db_mills} \ | -k ${dbsnp_dir}/${dbsnp} -k ${dbmills_dir}/${db_mills} \ | ||||
${sample}_recal_data.table.post \ | ${sample}_recal_data.table.post \ | ||||
--algo ReadWriter ${sample}.sorted.deduped.realigned.recaled.bam | |||||
--algo ReadWriter ${sample}.sorted.deduped.recaled.bam | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt --algo QualCal --plot \ | ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt --algo QualCal --plot \ | ||||
--before ${sample}_recal_data.table --after ${sample}_recal_data.table.post ${sample}_recal_result.csv | --before ${sample}_recal_data.table --after ${sample}_recal_data.table.post ${sample}_recal_result.csv | ||||
output { | output { | ||||
File recal_table = "${sample}_recal_data.table" | File recal_table = "${sample}_recal_data.table" | ||||
File recal_post = "${sample}_recal_data.table.post" | File recal_post = "${sample}_recal_data.table.post" | ||||
File recaled_bam = "${sample}.sorted.deduped.realigned.recaled.bam" | |||||
File recaled_bam_index = "${sample}.sorted.deduped.realigned.recaled.bam.bai" | |||||
File recaled_bam = "${sample}.sorted.deduped.recaled.bam" | |||||
File recaled_bam_index = "${sample}.sorted.deduped.recaled.bam.bai" | |||||
File recal_csv = "${sample}_recal_result.csv" | File recal_csv = "${sample}_recal_result.csv" | ||||
File bqsrreport_pdf = "${sample}_bqsr.pdf" | File bqsrreport_pdf = "${sample}_bqsr.pdf" | ||||
} | } |
String SENTIEON_INSTALL_DIR | String SENTIEON_INSTALL_DIR | ||||
String SENTIEON_LICENSE | String SENTIEON_LICENSE | ||||
String fasta | String fasta | ||||
File recaled_bam | |||||
File recaled_bam_index | |||||
File deduped_bam | |||||
File deduped_bam_index | |||||
File recal_table | File recal_table | ||||
String dbsnp | String dbsnp | ||||
String sample | String sample | ||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \ | ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \ | ||||
--interval ${regions} -r ${ref_dir}/${fasta} \ | --interval ${regions} -r ${ref_dir}/${fasta} \ | ||||
-i ${recaled_bam} -q ${recal_table}\ | |||||
-i ${deduped_bam} -q ${recal_table}\ | |||||
--algo Haplotyper -d ${dbsnp_dir}/${dbsnp} \ | --algo Haplotyper -d ${dbsnp_dir}/${dbsnp} \ | ||||
${sample}_hc.vcf | ${sample}_hc.vcf | ||||
>>> | >>> |
task Realigner { | |||||
File ref_dir | |||||
File dbmills_dir | |||||
String SENTIEON_INSTALL_DIR | |||||
String SENTIEON_LICENSE | |||||
String sample | |||||
String fasta | |||||
File deduped_bam | |||||
File deduped_bam_index | |||||
String db_mills | |||||
String docker | |||||
String cluster_config | |||||
String disk_size | |||||
command <<< | |||||
set -o pipefail | |||||
set -e | |||||
export SENTIEON_LICENSE=${SENTIEON_LICENSE} | |||||
nt=$(nproc) | |||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \ | |||||
-r ${ref_dir}/${fasta} \ | |||||
-i ${deduped_bam} \ | |||||
--algo Realigner -k ${dbmills_dir}/${db_mills} ${sample}.sorted.deduped.realigned.bam | |||||
>>> | |||||
runtime { | |||||
docker: docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File realigned_bam = "${sample}.sorted.deduped.realigned.bam" | |||||
File realigned_bam_index = "${sample}.sorted.deduped.realigned.bam.bai" | |||||
} | |||||
} | |||||
String sample | String sample | ||||
String SENTIEON_INSTALL_DIR | String SENTIEON_INSTALL_DIR | ||||
String SENTIEON_LICENSE | String SENTIEON_LICENSE | ||||
File tumor_realigned_bam | |||||
File tumor_realigned_bam_index | |||||
File tumor_deduped_bam | |||||
File tumor_deduped_bam_index | |||||
File tumor_recal_table | File tumor_recal_table | ||||
File normal_realigned_bam | |||||
File normal_realigned_bam_index | |||||
File normal_deduped_bam | |||||
File normal_deduped_bam_index | |||||
File normal_recal_table | File normal_recal_table | ||||
String tumor_name | String tumor_name | ||||
String normal_name | String normal_name | ||||
${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \ | ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \ | ||||
-r ${ref_dir}/${fasta} $INTERVAL \ | -r ${ref_dir}/${fasta} $INTERVAL \ | ||||
-i ${tumor_realigned_bam} -q ${tumor_recal_table} \ | |||||
-i ${normal_realigned_bam} -q ${normal_recal_table} \ | |||||
-i ${tumor_deduped_bam} -q ${tumor_recal_table} \ | |||||
-i ${normal_deduped_bam} -q ${normal_recal_table} \ | |||||
--algo TNhaplotyper2 \ | --algo TNhaplotyper2 \ | ||||
--tumor_sample ${tumor_name} --normal_sample ${normal_name} \ | --tumor_sample ${tumor_name} --normal_sample ${normal_name} \ | ||||
--germline_vcf ${germline_resource} \ | --germline_vcf ${germline_resource} \ |
import "./tasks/Metrics.wdl" as Metrics | import "./tasks/Metrics.wdl" as Metrics | ||||
import "./tasks/Dedup.wdl" as Dedup | import "./tasks/Dedup.wdl" as Dedup | ||||
import "./tasks/deduped_Metrics.wdl" as deduped_Metrics | import "./tasks/deduped_Metrics.wdl" as deduped_Metrics | ||||
import "./tasks/Realigner.wdl" as Realigner | |||||
import "./tasks/BQSR.wdl" as BQSR | import "./tasks/BQSR.wdl" as BQSR | ||||
import "./tasks/Haplotyper.wdl" as Haplotyper | import "./tasks/Haplotyper.wdl" as Haplotyper | ||||
import "./tasks/TNseq.wdl" as TNseq | import "./tasks/TNseq.wdl" as TNseq | ||||
cluster_config=cluster_config | cluster_config=cluster_config | ||||
} | } | ||||
call Realigner.Realigner as tumor_Realigner { | |||||
call BQSR.BQSR as tumor_BQSR { | |||||
input: | input: | ||||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | ||||
SENTIEON_LICENSE=SENTIEON_LICENSE, | SENTIEON_LICENSE=SENTIEON_LICENSE, | ||||
deduped_bam_index=tumor_Dedup.deduped_bam_index, | deduped_bam_index=tumor_Dedup.deduped_bam_index, | ||||
db_mills=db_mills, | db_mills=db_mills, | ||||
dbmills_dir=dbmills_dir, | dbmills_dir=dbmills_dir, | ||||
sample=sample_id + '_tumor', | |||||
docker=sentieon_docker, | |||||
disk_size=disk_size, | |||||
cluster_config=cluster_config | |||||
} | |||||
call BQSR.BQSR as tumor_BQSR { | |||||
input: | |||||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | |||||
SENTIEON_LICENSE=SENTIEON_LICENSE, | |||||
fasta=fasta, | |||||
ref_dir=ref_dir, | |||||
realigned_bam=tumor_Realigner.realigned_bam, | |||||
realigned_bam_index=tumor_Realigner.realigned_bam_index, | |||||
db_mills=db_mills, | |||||
dbmills_dir=dbmills_dir, | |||||
dbsnp=dbsnp, | dbsnp=dbsnp, | ||||
dbsnp_dir=dbsnp_dir, | dbsnp_dir=dbsnp_dir, | ||||
sample=sample_id + '_tumor', | sample=sample_id + '_tumor', | ||||
cluster_config=cluster_config | cluster_config=cluster_config | ||||
} | } | ||||
call Realigner.Realigner as normal_Realigner { | |||||
call BQSR.BQSR as normal_BQSR { | |||||
input: | input: | ||||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | ||||
SENTIEON_LICENSE=SENTIEON_LICENSE, | SENTIEON_LICENSE=SENTIEON_LICENSE, | ||||
deduped_bam_index=normal_Dedup.deduped_bam_index, | deduped_bam_index=normal_Dedup.deduped_bam_index, | ||||
db_mills=db_mills, | db_mills=db_mills, | ||||
dbmills_dir=dbmills_dir, | dbmills_dir=dbmills_dir, | ||||
sample=sample_id + '_normal', | |||||
docker=sentieon_docker, | |||||
disk_size=disk_size, | |||||
cluster_config=cluster_config | |||||
} | |||||
call BQSR.BQSR as normal_BQSR { | |||||
input: | |||||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | |||||
SENTIEON_LICENSE=SENTIEON_LICENSE, | |||||
fasta=fasta, | |||||
ref_dir=ref_dir, | |||||
realigned_bam=normal_Realigner.realigned_bam, | |||||
realigned_bam_index=normal_Realigner.realigned_bam_index, | |||||
db_mills=db_mills, | |||||
dbmills_dir=dbmills_dir, | |||||
dbsnp=dbsnp, | dbsnp=dbsnp, | ||||
dbsnp_dir=dbsnp_dir, | dbsnp_dir=dbsnp_dir, | ||||
sample=sample_id + '_normal', | sample=sample_id + '_normal', | ||||
sample=sample_id + '_normal', | sample=sample_id + '_normal', | ||||
fasta=fasta, | fasta=fasta, | ||||
ref_dir=ref_dir, | ref_dir=ref_dir, | ||||
recaled_bam=normal_BQSR.recaled_bam, | |||||
recaled_bam_index=normal_BQSR.recaled_bam_index, | |||||
deduped_bam=normal_Dedup.deduped_bam, | |||||
deduped_bam_index=normal_Dedup.deduped_bam_index, | |||||
recal_table=normal_BQSR.recal_table, | recal_table=normal_BQSR.recal_table, | ||||
dbsnp=dbsnp, | dbsnp=dbsnp, | ||||
dbsnp_dir=dbsnp_dir, | dbsnp_dir=dbsnp_dir, | ||||
SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR, | ||||
SENTIEON_LICENSE=SENTIEON_LICENSE, | SENTIEON_LICENSE=SENTIEON_LICENSE, | ||||
sample=sample_id, | sample=sample_id, | ||||
normal_realigned_bam=normal_Realigner.realigned_bam, | |||||
normal_realigned_bam_index=normal_Realigner.realigned_bam_index, | |||||
normal_deduped_bam=normal_Dedup.deduped_bam, | |||||
normal_deduped_bam_index=normal_Dedup.deduped_bam_index, | |||||
normal_recal_table=normal_BQSR.recal_table, | normal_recal_table=normal_BQSR.recal_table, | ||||
tumor_realigned_bam=tumor_Realigner.realigned_bam, | |||||
tumor_realigned_bam_index=tumor_Realigner.realigned_bam_index, | |||||
tumor_deduped_bam=tumor_Dedup.deduped_bam, | |||||
tumor_deduped_bam_index=tumor_Dedup.deduped_bam_index, | |||||
tumor_recal_table=tumor_BQSR.recal_table, | tumor_recal_table=tumor_BQSR.recal_table, | ||||
normal_name=sample_id + "_normal", | normal_name=sample_id + "_normal", | ||||
tumor_name=sample_id + "_tumor", | tumor_name=sample_id + "_tumor", |