bcftools-merge is used to merge VCF files into a singe VCF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
839B

  1. task bcftools {
  2. Array[File] vcf
  3. String panel_id
  4. String docker
  5. String cluster_config
  6. String disk_size
  7. command <<<
  8. set -o pipefail
  9. set -e
  10. mkdir -p /cromwell_root/tmp/bcftools
  11. for i in ${sep=" " vcf}
  12. do
  13. echo "Processing:" $i
  14. bgzip $i
  15. bcftools view $i -Oz -o /cromwell_root/tmp/bcftools/$(basename $i.gz)
  16. bcftools index /cromwell_root/tmp/bcftools/$(basename $i.gz) -f
  17. done
  18. echo "Start bcftools merge ..."
  19. bcftools merge -m all -f PASS,. --force-samples /cromwell_root/tmp/bcftools/*.vcf.gz | bcftools plugin fill-AN-AC | bcftools filter -i 'SUM(AC)>1' > ${panel_id}_pon.vcf
  20. >>>
  21. runtime {
  22. docker: docker
  23. cluster: cluster_config
  24. systemDisk: "cloud_ssd 40"
  25. dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
  26. }
  27. output {
  28. File panel_of_normal_vcf = "${panel_id}_pon.vcf"
  29. }
  30. }