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.

53 lines
1.7KB

  1. task bcftools {
  2. Array[File] bcfpon
  3. String docker
  4. String cluster_config
  5. String disk_size
  6. command <<<
  7. set -o pipefail
  8. set -e
  9. mkdir -p /cromwell_root/tmp/bcftools
  10. for i in ${sep=" " bcfpon}
  11. do
  12. bcftools view $i -Oz -o /cromwell_root/tmp/bcftools/$(basename $i.gz)
  13. bcftools index /cromwell_root/tmp/bcftools/$(basename $i.gz) -f
  14. done
  15. cd /cromwell_root/tmp/bcftools
  16. bcftools merge -m all -f PASS,. --force-samples *.gz | bcftools plugin fill-AN-AC | bcftools filter -i 'SUM(AC)>1' > panel_of_normal.vcf
  17. #mkdir -p /cromwell_root/tmp/bcftools
  18. #bcftools view ${pon_vcf1} -Oz -o /cromwell_root/tmp/bcftools/$(basename ${pon_vcf1}.gz)
  19. #bcftools view ${pon_vcf2} -Oz -o /cromwell_root/tmp/bcftools/$(basename ${pon_vcf1}.gz)
  20. #bcftools view ${pon_vcf3} -Oz -o /cromwell_root/tmp/bcftools/$(basename ${pon_vcf1}.gz)
  21. #cd /cromwell_root/tmp/bcftools
  22. #bcftools view ${pon_vcf1} -Oz -o $(basename ${pon_vcf1}.gz)
  23. #bcftools view ${pon_vcf2} -Oz -o $(basename ${pon_vcf2}.gz)
  24. #bcftools view ${pon_vcf2} -Oz -o $(basename ${pon_vcf3}.gz)
  25. #for i in `ls *.gz`; do bcftools index $i -f; done
  26. #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
  27. #else
  28. # echo 1
  29. #touch panel_of_normal.vcf
  30. #fi
  31. >>>
  32. runtime {
  33. docker: docker
  34. cluster: cluster_config
  35. systemDisk: "cloud_ssd 40"
  36. dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
  37. }
  38. output {
  39. File vcf1="$(basename ${bcfpon}.gz)"
  40. #File vcf1="$(basename ${pon_vcf1}.gz)"
  41. #File vcf2="$(basename ${pon_vcf2}.gz)"
  42. #File vcf3="$(basename ${pon_vcf3}.gz)"
  43. #File panel_of_normal_vcf = "panel_of_normal.vcf"
  44. }
  45. }