選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

workflow.wdl 6.3KB

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