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

workflow.wdl 6.8KB

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