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.

merge_mendelian.wdl 2.6KB

4 年之前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. task merge_mendelian {
  2. File D5_trio_vcf
  3. File D6_trio_vcf
  4. File family_vcf
  5. File D5_trio_vcf_inside
  6. File D6_trio_vcf_inside
  7. File family_vcf_inside
  8. File D5_trio_vcf_outside
  9. File D6_trio_vcf_outside
  10. File family_vcf_outside
  11. String family_name = basename(family_vcf,".family.vcf")
  12. String docker
  13. String cluster_config
  14. String disk_size
  15. command <<<
  16. cat ${D5_trio_vcf} | grep -v '##' > ${family_name}.D5.txt
  17. cat ${D6_trio_vcf} | grep -v '##' > ${family_name}.D6.txt
  18. cat ${family_vcf} | grep -v '##' | awk '
  19. BEGIN { OFS = "\t" }
  20. NF > 2 && FNR > 1 {
  21. for ( i=9; i<=NF; i++ ) {
  22. split($i,a,":") ;$i = a[1];
  23. }
  24. }
  25. { print }
  26. ' > ${family_name}.consensus.txt
  27. python /opt/merge_two_family_with_genotype.py -LCL5 ${family_name}.D5.txt -LCL6 ${family_name}.D6.txt -genotype ${family_name}.consensus.txt -family ${family_name}
  28. cat ${D5_trio_vcf_inside} | grep -v '##' > ${family_name}.D5.inside.txt
  29. cat ${D6_trio_vcf_inside} | grep -v '##' > ${family_name}.D6.inside.txt
  30. cat ${family_vcf_inside} | grep -v '##' | awk '
  31. BEGIN { OFS = "\t" }
  32. NF > 2 && FNR > 1 {
  33. for ( i=9; i<=NF; i++ ) {
  34. split($i,a,":") ;$i = a[1];
  35. }
  36. }
  37. { print }
  38. ' > ${family_name}.consensus.inside.txt
  39. python /opt/merge_two_family_with_genotype.py -LCL5 ${family_name}.D5.inside.txt -LCL6 ${family_name}.D6.inside.txt -genotype ${family_name}.consensus.inside.txt -family ${family_name}.inside
  40. cat ${D5_trio_vcf_outside} | grep -v '##' > ${family_name}.D5.outside.txt
  41. cat ${D6_trio_vcf_outside} | grep -v '##' > ${family_name}.D6.outside.txt
  42. cat ${family_vcf_outside} | grep -v '##' | awk '
  43. BEGIN { OFS = "\t" }
  44. NF > 2 && FNR > 1 {
  45. for ( i=9; i<=NF; i++ ) {
  46. split($i,a,":") ;$i = a[1];
  47. }
  48. }
  49. { print }
  50. ' > ${family_name}.consensus.outside.txt
  51. python /opt/merge_two_family_with_genotype.py -LCL5 ${family_name}.D5.outside.txt -LCL6 ${family_name}.D6.outside.txt -genotype ${family_name}.consensus.outside.txt -family ${family_name}.outside
  52. >>>
  53. runtime {
  54. docker:docker
  55. cluster: cluster_config
  56. systemDisk: "cloud_ssd 40"
  57. dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
  58. }
  59. output {
  60. File project_mendelian = "${family_name}.txt"
  61. File project_mendelian_summary = "${family_name}.summary.txt"
  62. File project_mendelian_inside = "${family_name}.inside.txt"
  63. File project_mendelian_summary_inside = "${family_name}.inside.summary.txt"
  64. File project_mendelian_outside = "${family_name}.outside.txt"
  65. File project_mendelian_summary_outside = "${family_name}.outside.summary.txt"
  66. }
  67. }