task TNscope { String sample String SENTIEON_INSTALL_DIR String SENTIEON_LICENSE File tumor_recaled_bam File tumor_recaled_bam_index File? normal_recaled_bam File? normal_recaled_bam_index String tumor_name String normal_name File ref_dir String fasta File dbsnp_dir String dbsnp File? regions Int? interval_padding File? pon_vcf String docker String cluster_config String disk_size 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 if [ ${normal_recaled_bam} ]; then INPUT="-i ${tumor_recaled_bam} -i ${normal_recaled_bam}" SAMPLE="--tumor_sample ${tumor_name} --normal_sample ${normal_name}" else INPUT="-i ${tumor_recaled_bam}" SAMPLE="--tumor_sample ${tumor_name}" fi ${SENTIEON_INSTALL_DIR}/bin/sentieon driver -t $nt -r ${ref_dir}/${fasta} \ $INPUT \ $INTERVAL \ --algo TNscope \ $SAMPLE \ --dbsnp ${dbsnp_dir}/${dbsnp} \ $PON \ ${sample}.TNscope.vcf awk -F'\t' '{if(($1~"^#")||($1!~"^#" && $7=="PASS")){print $0}}' ${sample}.TNscope.vcf > ${sample}.TNscope.PASS.vcf >>> runtime { docker: docker cluster: cluster_config systemDisk: "cloud_ssd 40" dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" } output { File TNscope_pass_vcf="${sample}.TNscope.PASS.vcf" File TNscope_vcf= "${sample}.TNscope.vcf" File TNscope_vcf_index = "${sample}.TNscope.vcf.idx" } }