task mapping { File ref_dir String fasta File fastq_1 File fastq_2 String SENTIEON_LICENSE String group String sample String platform String? duplex_umi String? read_structure String docker String cluster_config String disk_size command <<< set -o pipefail set -e export SENTIEON_LICENSE=${SENTIEON_LICENSE} nt=$(nproc) if [ ${read_structure} ]; then if [ ${duplex_umi} == "true" ]; then READ_STRUCTURE="-d ${read_structure}" fi sentieon umi extract $READ_STRUCTURE ${fastq_1} ${fastq_2} | \ sentieon bwa mem -p -C -R "@RG\tID:${group}\tSM:${sample}\tPL:${platform}" -t $nt -K 10000000 ${ref_dir}/${fasta} - | \ sentieon umi consensus -o ${sample}.umi_consensus.fastq.gz sentieon bwa mem -p -C -R "@RG\tID:${group}\tSM:${sample}\tPL:${platform}" -t $nt -K 10000000 $fasta ${sample}.umi_consensus.fastq.gz | \ sentieon util sort --umi_post_process --sam2bam -i - -o ${sample}.sorted.bam else sentieon bwa mem -R "@RG\tID:${group}\tSM:${sample}\tPL:${platform}" \ -t $nt -K 10000000 ${ref_dir}/${fasta} ${fastq_1} ${fastq_2} | \ sentieon util sort -o ${sample}.sorted.bam -t $nt --sam2bam -i - fi >>> runtime { docker: docker cluster: cluster_config systemDisk: "cloud_ssd 40" dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" } output { File sorted_bam = "${sample}.sorted.bam" File sorted_bam_index = "${sample}.sorted.bam.bai" } }