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.

47 lines
999B

  1. task bcftools {
  2. File pon_vcf1
  3. File pon_vcf2
  4. File pon_vcf3
  5. String docker
  6. String cluster_config
  7. String disk_size
  8. Boolean PONmode
  9. command <<<
  10. set -o pipefail
  11. set -e
  12. if [ ${PONmode} ]; then
  13. mkdir -p /cromwell_root/tmp/bcftools/
  14. bcftools view ${pon_vcf1} -Oz -o /cromwell_root/tmp/bcftools/$(basename $pon_vcf1).gz
  15. bcftools view ${pon_vcf2} -Oz -o /cromwell_root/tmp/bcftools/$(basename $pon_vcf2).gz
  16. bcftools view ${pon_vcf3} -Oz -o /cromwell_root/tmp/bcftools/$(basename $pon_vcf3).gz
  17. cd /cromwell_root/tmp/bcftools
  18. bcftools index *.vcf.gz
  19. bcftools merge -m all -f PASS,. --force-samples *.vcf.gz |\
  20. bcftools plugin fill-AN-AC |\
  21. bcftools filter -i 'SUM(AC)>1' > panel_of_normal.vcf
  22. else
  23. touch panel_of_normal.vcf
  24. fi
  25. >>>
  26. runtime {
  27. docker: docker
  28. cluster: cluster_config
  29. systemDisk: "cloud_ssd 40"
  30. dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
  31. }
  32. output {
  33. File panel_of_normal_vcf = "panel_of_normal.vcf"
  34. }
  35. }