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.

42 lines
1022B

  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 ${sep=" " *.vcf.gz}
  19. do
  20. bcftools index $i
  21. done
  22. 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
  23. else
  24. touch panel_of_normal.vcf
  25. fi
  26. >>>
  27. runtime {
  28. docker: docker
  29. cluster: cluster_config
  30. systemDisk: "cloud_ssd 40"
  31. dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
  32. }
  33. output {
  34. File panel_of_normal_vcf = "panel_of_normal.vcf"
  35. }
  36. }