task TNscope { 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 dbsnp_dir String dbsnp File? regions String docker String cluster_config String disk_size Boolean set_pon File? pon_vcf String pon_command = if set_pon then "--pon /cromwell_root/tmp/PON/$(basename ${pon_vcf})" else "" command <<< set -o pipefail set -e export SENTIEON_LICENSE=${SENTIEON_LICENSE} nt=$(nproc) if ${set_pon}; then mkdir -p /cromwell_root/tmp/PON/ cp ${pon_vcf} /cromwell_root/tmp/PON/ ${SENTIEON_INSTALL_DIR}/bin/sentieon util vcfindex /cromwell_root/tmp/PON/$(basename ${pon_vcf}) fi if [ ${regions} != "" ]; then ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \ --interval ${regions} -r ${ref_dir}/${fasta} \ -i ${tumor_recaled_bam} -q ${tumor_recal_table} \ -i ${normal_recaled_bam} -q ${normal_recal_table} \ --algo TNscope \ --tumor_sample ${tumor_name} --normal_sample ${normal_name} \ --dbsnp ${dbsnp_dir}/${dbsnp} \ ${pon_command} \ ${sample}.TNscope.TN.vcf else ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt \ -r ${ref_dir}/${fasta} \ -i ${tumor_recaled_bam} -q ${tumor_recal_table} \ -i ${normal_recaled_bam} -q ${normal_recal_table} \ --algo TNscope \ --tumor_sample ${tumor_name} --normal_sample ${normal_name} \ --dbsnp ${dbsnp_dir}/${dbsnp} \ ${pon_command} \ ${sample}.TNscope.TN.vcf fi >>> runtime { docker: docker cluster: cluster_config systemDisk: "cloud_ssd 40" dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" } output { File TNscope_vcf= "${sample}.TNscope.TN.vcf" File TNscope_vcf_index = "${sample}.TNscope.TN.vcf.idx" } }