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

workflow.wdl 6.7KB

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