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.

workflow.wdl 2.3KB

5 년 전
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import "./tasks/mendelian.wdl" as mendelian
  2. workflow {{ project_name }} {
  3. File inputSamplesFile
  4. Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
  5. File ref_dir
  6. String fasta
  7. String cluster_config
  8. String disk_size
  9. scatter (quartet in inputSamples){
  10. call mendelian.mendelian as LCL5mendelian {
  11. input:
  12. child_vcf=quartet[0],
  13. LCL7_vcf=quartet[2],
  14. LCL8_vcf=quartet[3],
  15. LCL7_name=quartet[6],
  16. LCL8_name=quartet[7],
  17. child_name=quartet[4],
  18. ref_dir=ref_dir,
  19. fasta=fasta,
  20. cluster_config=cluster_config,
  21. disk_size=disk_size
  22. }
  23. call mendelian.mendelian as LCL6mendelian {
  24. input:
  25. child_vcf=quartet[1],
  26. LCL7_vcf=quartet[2],
  27. LCL8_vcf=quartet[3],
  28. LCL7_name=quartet[6],
  29. LCL8_name=quartet[7],
  30. child_name=quartet[5],
  31. ref_dir=ref_dir,
  32. fasta=fasta,
  33. cluster_config=cluster_config,
  34. disk_size=disk_size
  35. }
  36. call zipIndex.zipIndex as LCL5zipIndex {
  37. input:
  38. vcf=LCL5mendelian.trio_vcf,
  39. cluster_config=cluster_config,
  40. disk_size=disk_size
  41. }
  42. call zipIndex.zipIndex as LCL6zipIndex {
  43. input:
  44. vcf=LCL6mendelian.trio_vcf,
  45. cluster_config=cluster_config,
  46. disk_size=disk_size
  47. }
  48. call VCFrename.VCFrename as LCL5VCFrename {
  49. input:
  50. trio_vcf_gz=LCL5zipIndex.vcf_gz,
  51. trio_vcf_idx=LCL5zipIndex.vcf_idx,
  52. mother_name=quartet[7],
  53. father_name=quartet[6],
  54. child_name=quartet[4],
  55. family_name=quartet[8],
  56. child="LCL5",
  57. cluster_config=cluster_config,
  58. disk_size=disk_size
  59. }
  60. call VCFrename.VCFrename as LCL6VCFrename {
  61. input:
  62. trio_vcf_gz=LCL6zipIndex.vcf_gz,
  63. trio_vcf_idx=LCL6zipIndex.vcf_idx,
  64. mother_name=quartet[7],
  65. father_name=quartet[6],
  66. child_name=quartet[5],
  67. family_name=quartet[8],
  68. child="LCL6",
  69. cluster_config=cluster_config,
  70. disk_size=disk_size
  71. }
  72. call mergeSister.mergeSister as mergeSister {
  73. input:
  74. LCL5_trio_vcf_gz=LCL5VCFrename.rename_trio_vcf_gz,
  75. LCL5_trio_vcf_idx=LCL5VCFrename.rename_trio_vcf_idx,
  76. LCL6_trio_vcf_gz=LCL6VCFrename.rename_trio_vcf_gz,
  77. LCL6_trio_vcf_idx=LCL6VCFrename.rename_trio_vcf_idx,
  78. family_name=quartet[8],
  79. cluster_config=cluster_config,
  80. disk_size=disk_size
  81. }
  82. call reformVCF.reformVCF as reformVCF {
  83. input:
  84. family_mendelian_info=mergeSister.family_mendelian_info,
  85. family_name=quartet[8],
  86. cluster_config=cluster_config,
  87. disk_size=disk_size
  88. }
  89. }
  90. }