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.

пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
пре 5 година
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. import "./tasks/variantsNorm.wdl" as variantsNorm
  2. import "./tasks/mendelian.wdl" as mendelian
  3. import "./tasks/zipIndex.wdl" as zipIndex
  4. import "./tasks/VCFrename.wdl" as VCFrename
  5. import "./tasks/mergeSister.wdl" as mergeSister
  6. import "./tasks/reformVCF.wdl" as reformVCF
  7. import "./tasks/merge.wdl" as merge
  8. import "./tasks/votes.wdl" as votes
  9. workflow {{ project_name }} {
  10. File inputSamplesFile
  11. Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
  12. File ref_dir
  13. String fasta
  14. String test_name
  15. String cluster_config
  16. String disk_size
  17. scatter (quartet in inputSamples){
  18. call variantsNorm.variantsNorm as LCL5variantsNorm{
  19. input:
  20. vcf=quartet[0],
  21. ref_dir=ref_dir,
  22. fasta=fasta,
  23. sampleName=quartet[4],
  24. cluster_config=cluster_config,
  25. disk_size=disk_size
  26. }
  27. call variantsNorm.variantsNorm as LCL6variantsNorm{
  28. input:
  29. vcf=quartet[1],
  30. ref_dir=ref_dir,
  31. fasta=fasta,
  32. sampleName=quartet[5],
  33. cluster_config=cluster_config,
  34. disk_size=disk_size
  35. }
  36. call variantsNorm.variantsNorm as LCL7variantsNorm{
  37. input:
  38. vcf=quartet[2],
  39. ref_dir=ref_dir,
  40. fasta=fasta,
  41. sampleName=quartet[6],
  42. cluster_config=cluster_config,
  43. disk_size=disk_size
  44. }
  45. call variantsNorm.variantsNorm as LCL8variantsNorm{
  46. input:
  47. vcf=quartet[3],
  48. ref_dir=ref_dir,
  49. fasta=fasta,
  50. sampleName=quartet[7],
  51. cluster_config=cluster_config,
  52. disk_size=disk_size
  53. }
  54. call mendelian.mendelian as LCL5mendelian {
  55. input:
  56. child_vcf=LCL5variantsNorm.normed_vcf,
  57. LCL7_vcf=LCL7variantsNorm.normed_vcf,
  58. LCL8_vcf=LCL8variantsNorm.normed_vcf,
  59. LCL7_name=quartet[6],
  60. LCL8_name=quartet[7],
  61. child_name=quartet[4],
  62. ref_dir=ref_dir,
  63. fasta=fasta,
  64. cluster_config=cluster_config,
  65. disk_size=disk_size
  66. }
  67. call mendelian.mendelian as LCL6mendelian {
  68. input:
  69. child_vcf=LCL6variantsNorm.normed_vcf,
  70. LCL7_vcf=LCL7variantsNorm.normed_vcf,
  71. LCL8_vcf=LCL8variantsNorm.normed_vcf,
  72. LCL7_name=quartet[6],
  73. LCL8_name=quartet[7],
  74. child_name=quartet[5],
  75. ref_dir=ref_dir,
  76. fasta=fasta,
  77. cluster_config=cluster_config,
  78. disk_size=disk_size
  79. }
  80. call zipIndex.zipIndex as LCL5zipIndex {
  81. input:
  82. vcf=LCL5mendelian.trio_vcf,
  83. sample="LCL5",
  84. family_name=quartet[8],
  85. cluster_config=cluster_config,
  86. disk_size=disk_size
  87. }
  88. call zipIndex.zipIndex as LCL6zipIndex {
  89. input:
  90. vcf=LCL6mendelian.trio_vcf,
  91. sample="LCL6",
  92. family_name=quartet[8],
  93. cluster_config=cluster_config,
  94. disk_size=disk_size
  95. }
  96. call VCFrename.VCFrename as LCL5VCFrename {
  97. input:
  98. trio_vcf_gz=LCL5zipIndex.vcf_gz,
  99. trio_vcf_idx=LCL5zipIndex.vcf_idx,
  100. mother_name=quartet[7],
  101. father_name=quartet[6],
  102. child_name=quartet[4],
  103. family_name=quartet[8],
  104. child="LCL5",
  105. cluster_config=cluster_config,
  106. disk_size=disk_size
  107. }
  108. call VCFrename.VCFrename as LCL6VCFrename {
  109. input:
  110. trio_vcf_gz=LCL6zipIndex.vcf_gz,
  111. trio_vcf_idx=LCL6zipIndex.vcf_idx,
  112. mother_name=quartet[7],
  113. father_name=quartet[6],
  114. child_name=quartet[5],
  115. family_name=quartet[8],
  116. child="LCL6",
  117. cluster_config=cluster_config,
  118. disk_size=disk_size
  119. }
  120. call mergeSister.mergeSister as mergeSister {
  121. input:
  122. LCL5_trio_vcf_gz=LCL5VCFrename.rename_trio_vcf_gz,
  123. LCL5_trio_vcf_idx=LCL5VCFrename.rename_trio_vcf_idx,
  124. LCL6_trio_vcf_gz=LCL6VCFrename.rename_trio_vcf_gz,
  125. LCL6_trio_vcf_idx=LCL6VCFrename.rename_trio_vcf_idx,
  126. family_name=quartet[8],
  127. cluster_config=cluster_config,
  128. disk_size=disk_size
  129. }
  130. call reformVCF.reformVCF as reformVCF {
  131. input:
  132. family_mendelian_info=mergeSister.family_mendelian_info,
  133. family_name=quartet[8],
  134. cluster_config=cluster_config,
  135. disk_size=disk_size
  136. }
  137. call zipIndex.zipIndex as LCL5familyzipIndex {
  138. input:
  139. vcf=reformVCF.LCL5_family_info,
  140. sample='LCL5',
  141. family_name=quartet[8],
  142. cluster_config=cluster_config,
  143. disk_size=disk_size
  144. }
  145. call zipIndex.zipIndex as LCL6familyzipIndex {
  146. input:
  147. vcf=reformVCF.LCL6_family_info,
  148. sample='LCL6',
  149. family_name=quartet[8],
  150. cluster_config=cluster_config,
  151. disk_size=disk_size
  152. }
  153. call zipIndex.zipIndex as LCL7familyzipIndex {
  154. input:
  155. vcf=reformVCF.LCL7_family_info,
  156. sample='LCL7',
  157. family_name=quartet[8],
  158. cluster_config=cluster_config,
  159. disk_size=disk_size
  160. }
  161. call zipIndex.zipIndex as LCL8familyzipIndex {
  162. input:
  163. vcf=reformVCF.LCL8_family_info,
  164. sample='LCL8',
  165. family_name=quartet[8],
  166. cluster_config=cluster_config,
  167. disk_size=disk_size
  168. }
  169. }
  170. call merge.merge as LCL5merge {
  171. input:
  172. family_vcf_gz=LCL5familyzipIndex.vcf_gz,
  173. family_vcf_idx=LCL5familyzipIndex.vcf_idx,
  174. sample="LCL5",
  175. test_name=test_name,
  176. cluster_config=cluster_config,
  177. disk_size=disk_size
  178. }
  179. }