task Hardfiltration { File vcf_file File vcf_index String sample String docker String disk_size String cluster_config command <<< set -o pipefail set -e java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -Xmx32G -jar /gatk/gatk-package-4.1.0.0-local.jar VariantFiltration -V ${vcf_file} -O ${sample}_hc_filtered.vcf --filter-expression "QD<2.0" --filter-name "LowQD" --filter-expression "MQ<40.0" --filter-name "LowMQ" --filter-expression "FS>60.0" --filter-name "FisherStrandBias" --filter-expression "HaplotypeScore>13.0" --filter-name "HighHapScore" --filter-expression "MQRankSum<-12.5" --filter-name "LowMQRankSum" --filter-expression "ReadPosRankSum<-8.0" --filter-name "LowReadPosRankSum" --cluster-size 3 --cluster-window-size 100 --filter-expression "MQ0 >= 4 && ((MQ0/(1.0*DP))>0.1)" --filter-name "HARD_TO_VALIDATE" --filter-expression "DP < 5" --filter-name "LowCoverage" --filter-expression "QUAL < 30.0" --filter-name "VeryLowQual" --filter-expression "QUAL > 30.0 && QUAL < 50.0" --filter-name "LowQual" cat ${sample}_hc_filtered.vcf |grep "#" > ${sample}_hc_filtered.vcf.header.tmp cat ${sample}_hc_filtered.vcf |grep PASS > ${sample}_hc_filtered.vcf.tmp cat ${sample}_hc_filtered.vcf.header.tmp ${sample}_hc_filtered.vcf.tmp > ${sample}_hc_PASS.vcf >>> runtime { docker:docker cluster:cluster_config systemDisk: "cloud_ssd 40" dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" } output { File raw_vcf = "${sample}_hc_filtered.vcf" File pass_vcf = "${sample}_hc_PASS.vcf" } }