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.

255 lines
6.0KB

  1. import "./tasks/mapping.wdl" as mapping
  2. import "./tasks/Metrics.wdl" as Metrics
  3. import "./tasks/Dedup.wdl" as Dedup
  4. import "./tasks/deduped_Metrics.wdl" as deduped_Metrics
  5. import "./tasks/Realigner.wdl" as Realigner
  6. import "./tasks/BQSR.wdl" as BQSR
  7. import "./tasks/corealigner.wdl" as corealigner
  8. import "./tasks/TNseq.wdl" as TNseq
  9. import "./tasks/TNscope.wdl" as TNscope
  10. workflow {{ project_name }} {
  11. File tumor_fastq_1
  12. File tumor_fastq_2
  13. File normal_fastq_1
  14. File normal_fastq_2
  15. String SENTIEON_INSTALL_DIR
  16. String sample
  17. String docker
  18. String fasta
  19. File ref_dir
  20. File dbmills_dir
  21. String db_mills
  22. File dbsnp_dir
  23. String dbsnp
  24. String disk_size
  25. String cluster_config
  26. call mapping.mapping as tumor_mapping {
  27. input:
  28. group=sample + "tumor",
  29. sample=sample + "tumor",
  30. fastq_1=tumor_fastq_1,
  31. fastq_2=tumor_fastq_2,
  32. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  33. pl="ILLUMINAL",
  34. fasta=fasta,
  35. ref_dir=ref_dir,
  36. docker=docker,
  37. disk_size=disk_size,
  38. cluster_config=cluster_config
  39. }
  40. call Metrics.Metrics as tumor_Metrics {
  41. input:
  42. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  43. fasta=fasta,
  44. ref_dir=ref_dir,
  45. sorted_bam=tumor_mapping.sorted_bam,
  46. sorted_bam_index=tumor_mapping.sorted_bam_index,
  47. sample=sample + "tumor",
  48. docker=docker,
  49. disk_size=disk_size,
  50. cluster_config=cluster_config
  51. }
  52. call Dedup.Dedup as tumor_Dedup {
  53. input:
  54. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  55. sorted_bam=tumor_mapping.sorted_bam,
  56. sorted_bam_index=tumor_mapping.sorted_bam_index,
  57. sample=sample + "tumor",
  58. docker=docker,
  59. disk_size=disk_size,
  60. cluster_config=cluster_config
  61. }
  62. call deduped_Metrics.deduped_Metrics as tumor_deduped_Metrics {
  63. input:
  64. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  65. fasta=fasta,
  66. ref_dir=ref_dir,
  67. Dedup_bam=tumor_Dedup.Dedup_bam,
  68. Dedup_bam_index=tumor_Dedup.Dedup_bam_index,
  69. sample=sample + "tumor",
  70. docker=docker,
  71. disk_size=disk_size,
  72. cluster_config=cluster_config
  73. }
  74. call Realigner.Realigner as tumor_Realigner {
  75. input:
  76. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  77. fasta=fasta,
  78. ref_dir=ref_dir,
  79. Dedup_bam=tumor_Dedup.Dedup_bam,
  80. Dedup_bam_index=tumor_Dedup.Dedup_bam_index,
  81. db_mills=db_mills,
  82. dbmills_dir=dbmills_dir,
  83. sample=sample + "tumor",
  84. docker=docker,
  85. disk_size=disk_size,
  86. cluster_config=cluster_config
  87. }
  88. call BQSR.BQSR as tumor_BQSR {
  89. input:
  90. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  91. fasta=fasta,
  92. ref_dir=ref_dir,
  93. realigned_bam=tumor_Realigner.realigner_bam,
  94. realigned_bam_index=tumor_Realigner.realigner_bam_index,
  95. db_mills=db_mills,
  96. dbmills_dir=dbmills_dir,
  97. dbsnp=dbsnp,
  98. dbsnp_dir=dbsnp_dir,
  99. sample=sample + "tumor",
  100. docker=docker,
  101. disk_size=disk_size,
  102. cluster_config=cluster_config
  103. }
  104. call mapping.mapping as normal_mapping {
  105. input:
  106. group=sample + "normal",
  107. sample=sample + "normal",
  108. fastq_1=normal_fastq_1,
  109. fastq_2=normal_fastq_2,
  110. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  111. pl="ILLUMINAL",
  112. fasta=fasta,
  113. ref_dir=ref_dir,
  114. docker=docker,
  115. disk_size=disk_size,
  116. cluster_config=cluster_config
  117. }
  118. call Metrics.Metrics as normal_Metrics {
  119. input:
  120. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  121. fasta=fasta,
  122. ref_dir=ref_dir,
  123. sorted_bam=normal_mapping.sorted_bam,
  124. sorted_bam_index=normal_mapping.sorted_bam_index,
  125. sample=sample + "normal",
  126. docker=docker,
  127. disk_size=disk_size,
  128. cluster_config=cluster_config
  129. }
  130. call Dedup.Dedup as normal_Dedup {
  131. input:
  132. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  133. sorted_bam=normal_mapping.sorted_bam,
  134. sorted_bam_index=normal_mapping.sorted_bam_index,
  135. sample=sample + "normal",
  136. docker=docker,
  137. disk_size=disk_size,
  138. cluster_config=cluster_config
  139. }
  140. call deduped_Metrics.deduped_Metrics as normal_deduped_Metrics {
  141. input:
  142. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  143. fasta=fasta,
  144. ref_dir=ref_dir,
  145. Dedup_bam=normal_Dedup.Dedup_bam,
  146. Dedup_bam_index=normal_Dedup.Dedup_bam_index,
  147. sample=sample + "normal",
  148. docker=docker,
  149. disk_size=disk_size,
  150. cluster_config=cluster_config
  151. }
  152. call Realigner.Realigner as normal_Realigner {
  153. input:
  154. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  155. fasta=fasta,
  156. ref_dir=ref_dir,
  157. Dedup_bam=normal_Dedup.Dedup_bam,
  158. Dedup_bam_index=normal_Dedup.Dedup_bam_index,
  159. db_mills=db_mills,
  160. dbmills_dir=dbmills_dir,
  161. sample=sample + "normal",
  162. docker=docker,
  163. disk_size=disk_size,
  164. cluster_config=cluster_config
  165. }
  166. call BQSR.BQSR as normal_BQSR {
  167. input:
  168. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  169. fasta=fasta,
  170. ref_dir=ref_dir,
  171. realigned_bam=normal_Realigner.realigner_bam,
  172. realigned_bam_index=normal_Realigner.realigner_bam_index,
  173. db_mills=db_mills,
  174. dbmills_dir=dbmills_dir,
  175. dbsnp=dbsnp,
  176. dbsnp_dir=dbsnp_dir,
  177. sample=sample + "normal",
  178. docker=docker,
  179. disk_size=disk_size,
  180. cluster_config=cluster_config
  181. }
  182. call corealigner.corealigner as corealigner {
  183. input:
  184. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  185. fasta=fasta,
  186. ref_dir=ref_dir,
  187. sample=sample,
  188. docker=docker,
  189. db_mills=db_mills,
  190. dbmills_dir=dbmills_dir,
  191. dbsnp=dbsnp,
  192. dbsnp_dir=dbsnp_dir,
  193. disk_size=disk_size,
  194. tumor_recaled_bam=tumor_BQSR.recaled_bam,
  195. tumor_recaled_bam_index=tumor_BQSR.recaled_bam_index,
  196. normal_recaled_bam=normal_BQSR.recaled_bam,
  197. normal_recaled_bam_index=normal_BQSR.recaled_bam_index,
  198. cluster_config=cluster_config
  199. }
  200. call TNseq.TNseq as TNseq {
  201. input:
  202. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  203. fasta=fasta,
  204. ref_dir=ref_dir,
  205. corealigner_bam=corealigner.corealigner_bam,
  206. corealigner_bam_index=corealigner.corealigner_bam_index,
  207. dbsnp=dbsnp,
  208. dbsnp_dir=dbsnp_dir,
  209. tumor_name=sample + "tumor",
  210. normal_name=sample + "normal",
  211. docker=docker,
  212. sample=sample,
  213. disk_size=disk_size,
  214. cluster_config=cluster_config
  215. }
  216. call TNscope.TNscope as TNscope {
  217. input:
  218. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  219. fasta=fasta,
  220. ref_dir=ref_dir,
  221. corealigner_bam=corealigner.corealigner_bam,
  222. corealigner_bam_index=corealigner.corealigner_bam_index,
  223. dbsnp=dbsnp,
  224. dbsnp_dir=dbsnp_dir,
  225. tumor_name=sample + "tumor",
  226. normal_name=sample + "normal",
  227. docker=docker,
  228. sample=sample,
  229. disk_size=disk_size,
  230. cluster_config=cluster_config
  231. }
  232. }