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.

39 lines
1008B

  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_vcf1}.gz)
  16. bcftools view ${pon_vcf3} -Oz -o /cromwell_root/tmp/bcftools/$(basename ${pon_vcf1}.gz)
  17. cd /cromwell_root/tmp/bcftools
  18. for i in `ls *.gz`; do bcftools index $i -f; done
  19. bcftools merge -m all -f PASS,. --force-samples *.vcf.gz | bcftools plugin fill-AN-AC | bcftools filter -i 'SUM(AC)>1' > panel_of_normal.vcf
  20. else
  21. touch panel_of_normal.vcf
  22. fi
  23. >>>
  24. runtime {
  25. docker: docker
  26. cluster: cluster_config
  27. systemDisk: "cloud_ssd 40"
  28. dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
  29. }
  30. output {
  31. File panel_of_normal_vcf = "panel_of_normal.vcf"
  32. }
  33. }