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.

311 line
7.1KB

  1. import "./tasks/benchmark.wdl" as benchmark
  2. import "./tasks/mendelian.wdl" as mendelian
  3. import "./tasks/merge_mendelian.wdl" as merge_mendelian
  4. import "./tasks/merge_family.wdl" as merge_family
  5. import "./tasks/quartet_mendelian.wdl" as quartet_mendelian
  6. workflow {{ project_name }} {
  7. File LCL5_1
  8. File LCL6_1
  9. File LCL7_1
  10. File LCL8_1
  11. File LCL5_2
  12. File LCL6_2
  13. File LCL7_2
  14. File LCL8_2
  15. File LCL5_3
  16. File LCL6_3
  17. File LCL7_3
  18. File LCL8_3
  19. String BENCHMARKdocker
  20. String MENDELIANdocker
  21. String DIYdocker
  22. String fasta
  23. File ref_dir
  24. File benchmarking_dir
  25. String project
  26. String disk_size
  27. String BIGcluster_config
  28. String SMALLcluster_config
  29. call benchmark.benchmark as LCL5_1_benchmark {
  30. input:
  31. vcf=LCL5_1,
  32. benchmarking_dir=benchmarking_dir,
  33. ref_dir=ref_dir,
  34. fasta=fasta,
  35. docker=BENCHMARKdocker,
  36. cluster_config=BIGcluster_config,
  37. disk_size=disk_size,
  38. }
  39. call benchmark.benchmark as LCL5_2_benchmark {
  40. input:
  41. vcf=LCL5_2,
  42. benchmarking_dir=benchmarking_dir,
  43. ref_dir=ref_dir,
  44. fasta=fasta,
  45. docker=BENCHMARKdocker,
  46. cluster_config=BIGcluster_config,
  47. disk_size=disk_size,
  48. }
  49. call benchmark.benchmark as LCL5_3_benchmark {
  50. input:
  51. vcf=LCL5_3,
  52. benchmarking_dir=benchmarking_dir,
  53. ref_dir=ref_dir,
  54. fasta=fasta,
  55. docker=BENCHMARKdocker,
  56. cluster_config=BIGcluster_config,
  57. disk_size=disk_size,
  58. }
  59. call benchmark.benchmark as LCL6_1_benchmark {
  60. input:
  61. vcf=LCL6_1,
  62. benchmarking_dir=benchmarking_dir,
  63. ref_dir=ref_dir,
  64. fasta=fasta,
  65. docker=BENCHMARKdocker,
  66. cluster_config=BIGcluster_config,
  67. disk_size=disk_size,
  68. }
  69. call benchmark.benchmark as LCL6_2_benchmark {
  70. input:
  71. vcf=LCL6_2,
  72. benchmarking_dir=benchmarking_dir,
  73. ref_dir=ref_dir,
  74. fasta=fasta,
  75. docker=BENCHMARKdocker,
  76. cluster_config=BIGcluster_config,
  77. disk_size=disk_size,
  78. }
  79. call benchmark.benchmark as LCL6_3_benchmark {
  80. input:
  81. vcf=LCL6_3,
  82. benchmarking_dir=benchmarking_dir,
  83. ref_dir=ref_dir,
  84. fasta=fasta,
  85. docker=BENCHMARKdocker,
  86. cluster_config=BIGcluster_config,
  87. disk_size=disk_size,
  88. }
  89. call benchmark.benchmark as LCL7_1_benchmark {
  90. input:
  91. vcf=LCL7_1,
  92. benchmarking_dir=benchmarking_dir,
  93. ref_dir=ref_dir,
  94. fasta=fasta,
  95. docker=BENCHMARKdocker,
  96. cluster_config=BIGcluster_config,
  97. disk_size=disk_size,
  98. }
  99. call benchmark.benchmark as LCL7_2_benchmark {
  100. input:
  101. vcf=LCL7_2,
  102. benchmarking_dir=benchmarking_dir,
  103. ref_dir=ref_dir,
  104. fasta=fasta,
  105. docker=BENCHMARKdocker,
  106. cluster_config=BIGcluster_config,
  107. disk_size=disk_size,
  108. }
  109. call benchmark.benchmark as LCL7_3_benchmark {
  110. input:
  111. vcf=LCL7_3,
  112. benchmarking_dir=benchmarking_dir,
  113. ref_dir=ref_dir,
  114. fasta=fasta,
  115. docker=BENCHMARKdocker,
  116. cluster_config=BIGcluster_config,
  117. disk_size=disk_size,
  118. }
  119. call benchmark.benchmark as LCL8_1_benchmark {
  120. input:
  121. vcf=LCL8_1,
  122. benchmarking_dir=benchmarking_dir,
  123. ref_dir=ref_dir,
  124. fasta=fasta,
  125. docker=BENCHMARKdocker,
  126. cluster_config=BIGcluster_config,
  127. disk_size=disk_size,
  128. }
  129. call benchmark.benchmark as LCL8_2_benchmark {
  130. input:
  131. vcf=LCL8_2,
  132. benchmarking_dir=benchmarking_dir,
  133. ref_dir=ref_dir,
  134. fasta=fasta,
  135. docker=BENCHMARKdocker,
  136. cluster_config=BIGcluster_config,
  137. disk_size=disk_size,
  138. }
  139. call benchmark.benchmark as LCL8_3_benchmark {
  140. input:
  141. vcf=LCL8_3,
  142. benchmarking_dir=benchmarking_dir,
  143. ref_dir=ref_dir,
  144. fasta=fasta,
  145. docker=BENCHMARKdocker,
  146. cluster_config=BIGcluster_config,
  147. disk_size=disk_size,
  148. }
  149. call merge_family.merge_family as merge_family_1 {
  150. input:
  151. LCL5_vcf_gz=LCL5_1_benchmark.rtg_vcf,
  152. LCL5_vcf_idx=LCL5_1_benchmark.rtg_vcf_index,
  153. LCL6_vcf_gz=LCL6_1_benchmark.rtg_vcf,
  154. LCL6_vcf_idx=LCL6_1_benchmark.rtg_vcf_index,
  155. LCL7_vcf_gz=LCL7_1_benchmark.rtg_vcf,
  156. LCL7_vcf_idx=LCL7_1_benchmark.rtg_vcf_index,
  157. LCL8_vcf_gz=LCL8_1_benchmark.rtg_vcf,
  158. LCL8_vcf_idx=LCL8_1_benchmark.rtg_vcf,
  159. project=project,
  160. rep="1",
  161. docker=BENCHMARKdocker,
  162. cluster_config=BIGcluster_config,
  163. disk_size=disk_size,
  164. }
  165. call merge_family.merge_family as merge_family_2 {
  166. input:
  167. LCL5_vcf_gz=LCL5_2_benchmark.rtg_vcf,
  168. LCL5_vcf_idx=LCL5_2_benchmark.rtg_vcf_index,
  169. LCL6_vcf_gz=LCL6_2_benchmark.rtg_vcf,
  170. LCL6_vcf_idx=LCL6_2_benchmark.rtg_vcf_index,
  171. LCL7_vcf_gz=LCL7_2_benchmark.rtg_vcf,
  172. LCL7_vcf_idx=LCL7_2_benchmark.rtg_vcf_index,
  173. LCL8_vcf_gz=LCL8_2_benchmark.rtg_vcf,
  174. LCL8_vcf_idx=LCL8_2_benchmark.rtg_vcf,
  175. project=project,
  176. rep="2",
  177. docker=BENCHMARKdocker,
  178. cluster_config=BIGcluster_config,
  179. disk_size=disk_size,
  180. }
  181. call merge_family.merge_family as merge_family_3 {
  182. input:
  183. LCL5_vcf_gz=LCL5_3_benchmark.rtg_vcf,
  184. LCL5_vcf_idx=LCL5_3_benchmark.rtg_vcf_index,
  185. LCL6_vcf_gz=LCL6_3_benchmark.rtg_vcf,
  186. LCL6_vcf_idx=LCL6_3_benchmark.rtg_vcf_index,
  187. LCL7_vcf_gz=LCL7_3_benchmark.rtg_vcf,
  188. LCL7_vcf_idx=LCL7_3_benchmark.rtg_vcf_index,
  189. LCL8_vcf_gz=LCL8_3_benchmark.rtg_vcf,
  190. LCL8_vcf_idx=LCL8_3_benchmark.rtg_vcf,
  191. project=project,
  192. rep="3",
  193. docker=BENCHMARKdocker,
  194. cluster_config=BIGcluster_config,
  195. disk_size=disk_size,
  196. }
  197. call mendelian.mendelian as mendelian_1 {
  198. input:
  199. family_vcf=merge_family_1.merged_vcf,
  200. ref_dir=ref_dir,
  201. fasta=fasta,
  202. docker=MENDELIANdocker,
  203. cluster_config=BIGcluster_config,
  204. disk_size=disk_size
  205. }
  206. call mendelian.mendelian as mendelian_2 {
  207. input:
  208. family_vcf=merge_family_2.merged_vcf,
  209. ref_dir=ref_dir,
  210. fasta=fasta,
  211. docker=MENDELIANdocker,
  212. cluster_config=BIGcluster_config,
  213. disk_size=disk_size
  214. }
  215. call mendelian.mendelian as mendelian_3 {
  216. input:
  217. family_vcf=merge_family_3.merged_vcf,
  218. ref_dir=ref_dir,
  219. fasta=fasta,
  220. docker=MENDELIANdocker,
  221. cluster_config=BIGcluster_config,
  222. disk_size=disk_size
  223. }
  224. call merge_mendelian.merge_mendelian as merge_mendelian_1 {
  225. input:
  226. D5_trio_vcf=mendelian_1.D5_trio_vcf,
  227. D6_trio_vcf=mendelian_1.D6_trio_vcf,
  228. family_vcf=merge_family_1.merged_vcf,
  229. docker=DIYdocker,
  230. cluster_config=SMALLcluster_config,
  231. disk_size=disk_size
  232. }
  233. call merge_mendelian.merge_mendelian as merge_mendelian_2 {
  234. input:
  235. D5_trio_vcf=mendelian_2.D5_trio_vcf,
  236. D6_trio_vcf=mendelian_2.D6_trio_vcf,
  237. family_vcf=merge_family_2.merged_vcf,
  238. docker=DIYdocker,
  239. cluster_config=SMALLcluster_config,
  240. disk_size=disk_size
  241. }
  242. call merge_mendelian.merge_mendelian as merge_mendelian_3 {
  243. input:
  244. D5_trio_vcf=mendelian_3.D5_trio_vcf,
  245. D6_trio_vcf=mendelian_3.D6_trio_vcf,
  246. family_vcf=merge_family_3.merged_vcf,
  247. docker=DIYdocker,
  248. cluster_config=SMALLcluster_config,
  249. disk_size=disk_size
  250. }
  251. call quartet_mendelian.quartet_mendelian as quartet_mendelian{
  252. input:
  253. summary_1=merge_mendelian_1.project_mendelian_summary,
  254. summary_2=merge_mendelian_2.project_mendelian_summary,
  255. summary_3=merge_mendelian_3.project_mendelian_summary,
  256. LCL5_hap_1=LCL5_1_benchmark.summary,
  257. LCL5_hap_2=LCL5_2_benchmark.summary,
  258. LCL5_hap_3=LCL5_3_benchmark.summary,
  259. LCL6_hap_1=LCL6_1_benchmark.summary,
  260. LCL6_hap_2=LCL6_2_benchmark.summary,
  261. LCL6_hap_3=LCL6_3_benchmark.summary,
  262. LCL7_hap_1=LCL7_1_benchmark.summary,
  263. LCL7_hap_2=LCL7_2_benchmark.summary,
  264. LCL7_hap_3=LCL7_3_benchmark.summary,
  265. LCL8_hap_1=LCL8_1_benchmark.summary,
  266. LCL8_hap_2=LCL8_2_benchmark.summary,
  267. LCL8_hap_3=LCL8_3_benchmark.summary,
  268. docker=DIYdocker,
  269. project=project,
  270. cluster_config=SMALLcluster_config,
  271. disk_size=disk_size
  272. }
  273. }