task TNseq { String sample String SENTIEON_LICENSE File tumor_bam File tumor_bam_index File? normal_bam File? normal_bam_index String tumor_name String normal_name File ref_dir String fasta File germline_resource File germline_resource_tbi File? regions Int? interval_padding 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 [ ${normal_bam} ]; then INPUT="-i ${tumor_bam} -i ${normal_bam}" SAMPLE="--tumor_sample ${tumor_name} --normal_sample ${normal_name}" else INPUT="-i ${tumor_bam}" SAMPLE="--tumor_sample ${tumor_name}" fi sentieon driver -t $nt -r ${ref_dir}/${fasta} \ $INPUT $INTERVAL \ --algo TNhaplotyper2 $SAMPLE \ --germline_vcf ${germline_resource} \ ${sample}.TNseq.raw.vcf \ --algo OrientationBias --tumor_sample ${tumor_name} \ ${sample}.orientation \ --algo ContaminationModel $SAMPLE \ --vcf ${germline_resource} \ --tumor_segments ${sample}.contamination.segments \ ${sample}.contamination sentieon driver -t $nt \ -r ${ref_dir}/${fasta} \ --algo TNfilter $SAMPLE \ -v ${sample}.TNseq.raw.vcf \ --contamination ${sample}.contamination \ --tumor_segments ${sample}.contamination.segments \ --orientation_priors ${sample}.orientation \ ${sample}.TNseq.vcf >>> runtime { docker: docker cluster: cluster_config systemDisk: "cloud_ssd 40" dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" } output { File vcf = "${sample}.TNseq.vcf" File vcf_index = "${sample}.TNseq.vcf.idx" File contamination = "${sample}.contamination" File contamination_segments = "${sample}.contamination.segments" File orientation = "${sample}.orientation" } }