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.

46 lines
1021B

  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. bcftools index /cromwell_root/tmp/bcftools/*.vcf.gz
  18. bcftools merge -m all -f PASS,. --force-samples /cromwell_root/tmp/bcftools/*.vcf.gz |\
  19. bcftools plugin fill-AN-AC |\
  20. bcftools filter -i 'SUM(AC)>1' > panel_of_normal.vcf
  21. else
  22. touch panel_of_normal.vcf
  23. fi
  24. >>>
  25. runtime {
  26. docker: docker
  27. cluster: cluster_config
  28. systemDisk: "cloud_ssd 40"
  29. dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
  30. }
  31. output {
  32. File panel_of_normal_vcf = "panel_of_normal.vcf"
  33. }
  34. }