Germline & Somatic short variant discovery (SNVs + Indels) for WGS & WES.
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

workflow.wdl 21KB

4 anos atrás
3 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
3 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
4 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
3 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733
  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/BQSR.wdl" as BQSR
  6. import "./tasks/Haplotyper.wdl" as Haplotyper
  7. import "./tasks/TNseq.wdl" as TNseq
  8. import "./tasks/TNscope.wdl" as TNscope
  9. import "./tasks/somatic.wdl" as somatic
  10. import "./tasks/processSomatic.wdl" as processSomatic
  11. import "./tasks/somaticFilter.wdl" as somaticFilter
  12. import "./tasks/replaceRG.wdl" as replaceRG
  13. import "./tasks/Pindel.wdl" as Pindel
  14. import "./tasks/ANNOVAR.wdl" as ANNOVAR
  15. import "./tasks/VEP.wdl" as VEP
  16. workflow {{ project_name }} {
  17. String sample_id
  18. File? tumor_fastq_1
  19. File? tumor_fastq_2
  20. File? normal_fastq_1
  21. File? normal_fastq_2
  22. File? tumor_deduped_bam
  23. File? normal_deduped_bam
  24. Boolean input_fastq
  25. Boolean input_bam
  26. String SENTIEON_INSTALL_DIR
  27. String SENTIEON_LICENSE
  28. String sentieon_docker
  29. String varscan_docker
  30. String pindel_docker
  31. String samtools_docker
  32. String annovar_docker
  33. String vep_docker
  34. String pl
  35. File ref_dir
  36. String fasta
  37. File dbmills_dir
  38. String db_mills
  39. File dbsnp_dir
  40. String dbsnp
  41. File germline_resource
  42. File germline_resource_tbi
  43. String hg
  44. File annovar_database
  45. File? regions
  46. Int? interval_padding
  47. File? tnseq_pon
  48. File? tnscope_pon
  49. String vep_path
  50. File cache
  51. String species
  52. String vcf2maf_path
  53. String disk_size
  54. String cluster_config
  55. Boolean haplotyper
  56. Boolean pindel
  57. Boolean tnseq
  58. Boolean tnscope
  59. Boolean varscan
  60. Boolean annovar
  61. Boolean vep
  62. if (input_fastq) {
  63. if (tumor_fastq_1!= "") {
  64. call mapping.mapping as tumor_mapping {
  65. input:
  66. group=sample_id + '.T',
  67. sample=sample_id + '.T',
  68. fastq_1=tumor_fastq_1,
  69. fastq_2=tumor_fastq_2,
  70. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  71. SENTIEON_LICENSE=SENTIEON_LICENSE,
  72. pl=pl,
  73. fasta=fasta,
  74. ref_dir=ref_dir,
  75. docker=sentieon_docker,
  76. disk_size=disk_size,
  77. cluster_config=cluster_config
  78. }
  79. call Metrics.Metrics as tumor_Metrics {
  80. input:
  81. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  82. SENTIEON_LICENSE=SENTIEON_LICENSE,
  83. fasta=fasta,
  84. ref_dir=ref_dir,
  85. sorted_bam=tumor_mapping.sorted_bam,
  86. sorted_bam_index=tumor_mapping.sorted_bam_index,
  87. sample=sample_id + '.T',
  88. docker=sentieon_docker,
  89. disk_size=disk_size,
  90. cluster_config=cluster_config
  91. }
  92. call Dedup.Dedup as tumor_Dedup {
  93. input:
  94. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  95. SENTIEON_LICENSE=SENTIEON_LICENSE,
  96. sorted_bam=tumor_mapping.sorted_bam,
  97. sorted_bam_index=tumor_mapping.sorted_bam_index,
  98. sample=sample_id + '.T',
  99. docker=sentieon_docker,
  100. disk_size=disk_size,
  101. cluster_config=cluster_config
  102. }
  103. call deduped_Metrics.deduped_Metrics as tumor_deduped_Metrics {
  104. input:
  105. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  106. SENTIEON_LICENSE=SENTIEON_LICENSE,
  107. fasta=fasta,
  108. ref_dir=ref_dir,
  109. deduped_bam=tumor_Dedup.deduped_bam,
  110. deduped_bam_index=tumor_Dedup.deduped_bam_index,
  111. sample=sample_id + '.T',
  112. docker=sentieon_docker,
  113. disk_size=disk_size,
  114. cluster_config=cluster_config
  115. }
  116. call BQSR.BQSR as tumor_BQSR {
  117. input:
  118. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  119. SENTIEON_LICENSE=SENTIEON_LICENSE,
  120. fasta=fasta,
  121. ref_dir=ref_dir,
  122. deduped_bam=tumor_Dedup.deduped_bam,
  123. deduped_bam_index=tumor_Dedup.deduped_bam_index,
  124. db_mills=db_mills,
  125. dbmills_dir=dbmills_dir,
  126. dbsnp=dbsnp,
  127. dbsnp_dir=dbsnp_dir,
  128. sample=sample_id + '.T',
  129. docker=sentieon_docker,
  130. disk_size=disk_size,
  131. cluster_config=cluster_config
  132. }
  133. }
  134. if (normal_fastq_1!= "") {
  135. call mapping.mapping as normal_mapping {
  136. input:
  137. group=sample_id + '.N',
  138. sample=sample_id + '.N',
  139. fastq_1=normal_fastq_1,
  140. fastq_2=normal_fastq_2,
  141. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  142. SENTIEON_LICENSE=SENTIEON_LICENSE,
  143. pl=pl,
  144. fasta=fasta,
  145. ref_dir=ref_dir,
  146. docker=sentieon_docker,
  147. disk_size=disk_size,
  148. cluster_config=cluster_config
  149. }
  150. call Metrics.Metrics as normal_Metrics {
  151. input:
  152. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  153. SENTIEON_LICENSE=SENTIEON_LICENSE,
  154. fasta=fasta,
  155. ref_dir=ref_dir,
  156. sorted_bam=normal_mapping.sorted_bam,
  157. sorted_bam_index=normal_mapping.sorted_bam_index,
  158. sample=sample_id + '.N',
  159. regions=regions,
  160. docker=sentieon_docker,
  161. disk_size=disk_size,
  162. cluster_config=cluster_config
  163. }
  164. call Dedup.Dedup as normal_Dedup {
  165. input:
  166. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  167. SENTIEON_LICENSE=SENTIEON_LICENSE,
  168. sorted_bam=normal_mapping.sorted_bam,
  169. sorted_bam_index=normal_mapping.sorted_bam_index,
  170. sample=sample_id + '.N',
  171. docker=sentieon_docker,
  172. disk_size=disk_size,
  173. cluster_config=cluster_config
  174. }
  175. call deduped_Metrics.deduped_Metrics as normal_deduped_Metrics {
  176. input:
  177. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  178. SENTIEON_LICENSE=SENTIEON_LICENSE,
  179. fasta=fasta,
  180. ref_dir=ref_dir,
  181. deduped_bam=normal_Dedup.deduped_bam,
  182. deduped_bam_index=normal_Dedup.deduped_bam_index,
  183. sample=sample_id + '.N',
  184. regions=regions,
  185. docker=sentieon_docker,
  186. disk_size=disk_size,
  187. cluster_config=cluster_config
  188. }
  189. call BQSR.BQSR as normal_BQSR {
  190. input:
  191. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  192. SENTIEON_LICENSE=SENTIEON_LICENSE,
  193. fasta=fasta,
  194. ref_dir=ref_dir,
  195. deduped_bam=normal_Dedup.deduped_bam,
  196. deduped_bam_index=normal_Dedup.deduped_bam_index,
  197. db_mills=db_mills,
  198. dbmills_dir=dbmills_dir,
  199. dbsnp=dbsnp,
  200. dbsnp_dir=dbsnp_dir,
  201. sample=sample_id + '.N',
  202. docker=sentieon_docker,
  203. disk_size=disk_size,
  204. cluster_config=cluster_config
  205. }
  206. }
  207. if (haplotyper) {
  208. call Haplotyper.Haplotyper as Haplotyper {
  209. input:
  210. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  211. SENTIEON_LICENSE=SENTIEON_LICENSE,
  212. sample=sample_id,
  213. fasta=fasta,
  214. ref_dir=ref_dir,
  215. recaled_bam=normal_BQSR.recaled_bam,
  216. recaled_bam_index=normal_BQSR.recaled_bam_index,
  217. dbsnp=dbsnp,
  218. dbsnp_dir=dbsnp_dir,
  219. regions=regions,
  220. docker=sentieon_docker,
  221. disk_size=disk_size,
  222. cluster_config=cluster_config
  223. }
  224. }
  225. if (pindel) {
  226. call Pindel.Pindel as Pindel {
  227. input:
  228. sample_id=sample_id,
  229. bam=normal_BQSR.recaled_bam,
  230. bam_index=normal_BQSR.recaled_bam_index,
  231. fasta=fasta,
  232. ref_dir=ref_dir,
  233. docker=pindel_docker,
  234. disk_size=disk_size,
  235. cluster_config=cluster_config
  236. }
  237. }
  238. if (tnseq) {
  239. call TNseq.TNseq as TNseq {
  240. input:
  241. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  242. SENTIEON_LICENSE=SENTIEON_LICENSE,
  243. sample=sample_id,
  244. normal_recaled_bam=normal_BQSR.recaled_bam,
  245. normal_recaled_bam_index=normal_BQSR.recaled_bam_index,
  246. tumor_recaled_bam=tumor_BQSR.recaled_bam,
  247. tumor_recaled_bam_index=tumor_BQSR.recaled_bam_index,
  248. normal_name=sample_id + ".N",
  249. tumor_name=sample_id + ".T",
  250. fasta=fasta,
  251. ref_dir=ref_dir,
  252. regions=regions,
  253. interval_padding=interval_padding,
  254. germline_resource=germline_resource,
  255. germline_resource_tbi=germline_resource_tbi,
  256. pon_vcf=tnseq_pon,
  257. docker=sentieon_docker,
  258. cluster_config=cluster_config,
  259. disk_size=disk_size
  260. }
  261. if (annovar) {
  262. call ANNOVAR.ANNOVAR as TNseq_annovar {
  263. input:
  264. vcf=TNseq.TNseq_pass_vcf,
  265. hg=hg,
  266. annovar_database=annovar_database,
  267. docker=annovar_docker,
  268. cluster_config=cluster_config,
  269. disk_size=disk_size
  270. }
  271. }
  272. if (vep) {
  273. call VEP.VEP as TNseq_VEP {
  274. input:
  275. vcf=TNseq.TNseq_pass_vcf,
  276. hg=hg,
  277. sample_id=sample_id,
  278. tumor_id=sample_id + ".T",
  279. normal_id=sample_id + ".N",
  280. ref_dir=ref_dir,
  281. fasta=fasta,
  282. vep_path=vep_path,
  283. cache=cache,
  284. species=species,
  285. vcf2maf_path=vcf2maf_path,
  286. docker=vep_docker,
  287. cluster_config=cluster_config,
  288. disk_size=disk_size
  289. }
  290. }
  291. }
  292. if (tnscope) {
  293. call TNscope.TNscope as TNscope {
  294. input:
  295. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  296. SENTIEON_LICENSE=SENTIEON_LICENSE,
  297. sample=sample_id,
  298. normal_recaled_bam=normal_BQSR.recaled_bam,
  299. normal_recaled_bam_index=normal_BQSR.recaled_bam_index,
  300. tumor_recaled_bam=tumor_BQSR.recaled_bam,
  301. tumor_recaled_bam_index=tumor_BQSR.recaled_bam_index,
  302. normal_name=sample_id + ".N",
  303. tumor_name=sample_id + ".T",
  304. fasta=fasta,
  305. ref_dir=ref_dir,
  306. regions=regions,
  307. interval_padding=interval_padding,
  308. dbsnp=dbsnp,
  309. dbsnp_dir=dbsnp_dir,
  310. pon_vcf=tnscope_pon,
  311. docker=sentieon_docker,
  312. cluster_config=cluster_config,
  313. disk_size=disk_size
  314. }
  315. if (annovar) {
  316. call ANNOVAR.ANNOVAR as TNscope_annovar {
  317. input:
  318. vcf=TNscope.TNscope_pass_vcf,
  319. hg=hg,
  320. annovar_database=annovar_database,
  321. docker=annovar_docker,
  322. cluster_config=cluster_config,
  323. disk_size=disk_size
  324. }
  325. }
  326. if (vep) {
  327. call VEP.VEP as TNscope_VEP {
  328. input:
  329. vcf=TNscope.TNscope_pass_vcf,
  330. hg=hg,
  331. sample_id=sample_id,
  332. tumor_id=sample_id + ".T",
  333. normal_id=sample_id + ".N",
  334. ref_dir=ref_dir,
  335. fasta=fasta,
  336. vep_path=vep_path,
  337. cache=cache,
  338. species=species,
  339. vcf2maf_path=vcf2maf_path,
  340. docker=vep_docker,
  341. cluster_config=cluster_config,
  342. disk_size=disk_size
  343. }
  344. }
  345. }
  346. if (varscan && normal_fastq_1 != "") {
  347. call somatic.somatic as somatic {
  348. input:
  349. sample=sample_id,
  350. normal_bam=normal_BQSR.recaled_bam,
  351. normal_bam_index=normal_BQSR.recaled_bam_index,
  352. tumor_bam=tumor_BQSR.recaled_bam,
  353. tumor_bam_index=tumor_BQSR.recaled_bam_index,
  354. ref_dir=ref_dir,
  355. fasta=fasta,
  356. docker=varscan_docker,
  357. disk_size=disk_size,
  358. cluster_config=cluster_config
  359. }
  360. call processSomatic.processSomatic as processSomatic {
  361. input:
  362. sample=sample_id,
  363. varscan_snp=somatic.varscan_snp,
  364. varscan_indel=somatic.varscan_indel,
  365. docker=varscan_docker,
  366. disk_size=disk_size,
  367. cluster_config=cluster_config
  368. }
  369. call somaticFilter.somaticFilter as somaticFilter {
  370. input:
  371. sample=sample_id,
  372. varscan_snp_somatic_hc=processSomatic.varscan_snp_somatic_hc,
  373. varscan_snp_germline_hc=processSomatic.varscan_snp_germline_hc,
  374. varscan_snp_loh_hc=processSomatic.varscan_snp_loh_hc,
  375. varscan_indel_somatic_hc=processSomatic.varscan_indel_somatic_hc,
  376. varscan_indel_germline_hc=processSomatic.varscan_indel_germline_hc,
  377. varscan_indel_loh_hc=processSomatic.varscan_indel_loh_hc,
  378. varscan_indel=somatic.varscan_indel,
  379. docker=varscan_docker,
  380. disk_size=disk_size,
  381. cluster_config=cluster_config
  382. }
  383. if (annovar) {
  384. call ANNOVAR.ANNOVAR as VarScan_annovar {
  385. input:
  386. vcf=somaticFilter.varscan_somatic_filter,
  387. hg=hg,
  388. annovar_database=annovar_database,
  389. docker=annovar_docker,
  390. cluster_config=cluster_config,
  391. disk_size=disk_size
  392. }
  393. }
  394. if (vep) {
  395. call VEP.VEP as VarScan_VEP {
  396. input:
  397. vcf=somaticFilter.varscan_somatic_filter,
  398. hg=hg,
  399. sample_id=sample_id,
  400. tumor_id=sample_id + ".T",
  401. normal_id=sample_id + ".N",
  402. ref_dir=ref_dir,
  403. fasta=fasta,
  404. vep_path=vep_path,
  405. cache=cache,
  406. species=species,
  407. vcf2maf_path=vcf2maf_path,
  408. docker=vep_docker,
  409. cluster_config=cluster_config,
  410. disk_size=disk_size
  411. }
  412. }
  413. }
  414. }
  415. if (input_bam) {
  416. if (tumor_deduped_bam != "") {
  417. call replaceRG.replaceRG as tumor_replaceRG {
  418. input:
  419. bam=tumor_deduped_bam,
  420. group=sample_id + '.T',
  421. sample=sample_id + '.T',
  422. pl=pl,
  423. docker=samtools_docker,
  424. disk_size=disk_size,
  425. cluster_config=cluster_config
  426. }
  427. call BQSR.BQSR as tumor_BQSR_fb {
  428. input:
  429. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  430. SENTIEON_LICENSE=SENTIEON_LICENSE,
  431. fasta=fasta,
  432. ref_dir=ref_dir,
  433. deduped_bam=tumor_replaceRG.deduped_bam,
  434. deduped_bam_index=tumor_replaceRG.deduped_bam_index,
  435. db_mills=db_mills,
  436. dbmills_dir=dbmills_dir,
  437. dbsnp=dbsnp,
  438. dbsnp_dir=dbsnp_dir,
  439. sample=sample_id + '.T',
  440. docker=sentieon_docker,
  441. disk_size=disk_size,
  442. cluster_config=cluster_config
  443. }
  444. }
  445. if (normal_deduped_bam != "") {
  446. call replaceRG.replaceRG as normal_replaceRG {
  447. input:
  448. bam=normal_deduped_bam,
  449. group=sample_id + '.N',
  450. sample=sample_id + '.N',
  451. pl=pl,
  452. docker=samtools_docker,
  453. disk_size=disk_size,
  454. cluster_config=cluster_config
  455. }
  456. call BQSR.BQSR as normal_BQSR_fb {
  457. input:
  458. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  459. SENTIEON_LICENSE=SENTIEON_LICENSE,
  460. fasta=fasta,
  461. ref_dir=ref_dir,
  462. deduped_bam=normal_replaceRG.deduped_bam,
  463. deduped_bam_index=normal_replaceRG.deduped_bam_index,
  464. db_mills=db_mills,
  465. dbmills_dir=dbmills_dir,
  466. dbsnp=dbsnp,
  467. dbsnp_dir=dbsnp_dir,
  468. sample=sample_id + '.N',
  469. docker=sentieon_docker,
  470. disk_size=disk_size,
  471. cluster_config=cluster_config
  472. }
  473. }
  474. if (haplotyper) {
  475. call Haplotyper.Haplotyper as Haplotyper_fb {
  476. input:
  477. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  478. SENTIEON_LICENSE=SENTIEON_LICENSE,
  479. sample=sample_id,
  480. fasta=fasta,
  481. ref_dir=ref_dir,
  482. recaled_bam=normal_BQSR_fb.recaled_bam,
  483. recaled_bam_index=normal_BQSR_fb.recaled_bam_index,
  484. dbsnp=dbsnp,
  485. dbsnp_dir=dbsnp_dir,
  486. regions=regions,
  487. docker=sentieon_docker,
  488. disk_size=disk_size,
  489. cluster_config=cluster_config
  490. }
  491. }
  492. if (pindel) {
  493. call Pindel.Pindel as Pindel_fb {
  494. input:
  495. sample_id=sample_id,
  496. bam=normal_BQSR_fb.recaled_bam,
  497. bam_index=normal_BQSR_fb.recaled_bam_index,
  498. fasta=fasta,
  499. ref_dir=ref_dir,
  500. docker=pindel_docker,
  501. disk_size=disk_size,
  502. cluster_config=cluster_config
  503. }
  504. }
  505. if (tnseq) {
  506. call TNseq.TNseq as TNseq_fb {
  507. input:
  508. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  509. SENTIEON_LICENSE=SENTIEON_LICENSE,
  510. sample=sample_id,
  511. normal_recaled_bam=normal_BQSR_fb.recaled_bam,
  512. normal_recaled_bam_index=normal_BQSR_fb.recaled_bam_index,
  513. tumor_recaled_bam=tumor_BQSR_fb.recaled_bam,
  514. tumor_recaled_bam_index=tumor_BQSR_fb.recaled_bam_index,
  515. normal_name=sample_id + ".N",
  516. tumor_name=sample_id + ".T",
  517. fasta=fasta,
  518. ref_dir=ref_dir,
  519. regions=regions,
  520. interval_padding=interval_padding,
  521. germline_resource=germline_resource,
  522. germline_resource_tbi=germline_resource_tbi,
  523. pon_vcf=tnseq_pon,
  524. docker=sentieon_docker,
  525. cluster_config=cluster_config,
  526. disk_size=disk_size
  527. }
  528. if (annovar) {
  529. call ANNOVAR.ANNOVAR as TNseq_annovar_fb {
  530. input:
  531. vcf=TNseq_fb.TNseq_pass_vcf,
  532. hg=hg,
  533. annovar_database=annovar_database,
  534. docker=annovar_docker,
  535. cluster_config=cluster_config,
  536. disk_size=disk_size
  537. }
  538. }
  539. if (vep) {
  540. call VEP.VEP as TNseq_VEP_fb {
  541. input:
  542. vcf=TNseq_fb.TNseq_pass_vcf,
  543. hg=hg,
  544. sample_id=sample_id,
  545. tumor_id=sample_id + ".T",
  546. normal_id=sample_id + ".N",
  547. ref_dir=ref_dir,
  548. fasta=fasta,
  549. vep_path=vep_path,
  550. cache=cache,
  551. species=species,
  552. vcf2maf_path=vcf2maf_path,
  553. docker=vep_docker,
  554. cluster_config=cluster_config,
  555. disk_size=disk_size
  556. }
  557. }
  558. }
  559. if (tnscope) {
  560. call TNscope.TNscope as TNscope_fb {
  561. input:
  562. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  563. SENTIEON_LICENSE=SENTIEON_LICENSE,
  564. sample=sample_id,
  565. normal_recaled_bam=normal_BQSR_fb.recaled_bam,
  566. normal_recaled_bam_index=normal_BQSR_fb.recaled_bam_index,
  567. tumor_recaled_bam=tumor_BQSR_fb.recaled_bam,
  568. tumor_recaled_bam_index=tumor_BQSR_fb.recaled_bam_index,
  569. normal_name=sample_id + ".N",
  570. tumor_name=sample_id + ".T",
  571. fasta=fasta,
  572. ref_dir=ref_dir,
  573. regions=regions,
  574. interval_padding=interval_padding,
  575. dbsnp=dbsnp,
  576. dbsnp_dir=dbsnp_dir,
  577. pon_vcf=tnscope_pon,
  578. docker=sentieon_docker,
  579. cluster_config=cluster_config,
  580. disk_size=disk_size
  581. }
  582. if (annovar) {
  583. call ANNOVAR.ANNOVAR as TNscope_annovar_fb {
  584. input:
  585. vcf=TNscope_fb.TNscope_pass_vcf,
  586. hg=hg,
  587. annovar_database=annovar_database,
  588. docker=annovar_docker,
  589. cluster_config=cluster_config,
  590. disk_size=disk_size
  591. }
  592. }
  593. if (vep) {
  594. call VEP.VEP as TNscope_VEP_fb {
  595. input:
  596. vcf=TNscope_fb.TNscope_pass_vcf,
  597. hg=hg,
  598. sample_id=sample_id,
  599. tumor_id=sample_id + ".T",
  600. normal_id=sample_id + ".N",
  601. ref_dir=ref_dir,
  602. fasta=fasta,
  603. vep_path=vep_path,
  604. cache=cache,
  605. species=species,
  606. vcf2maf_path=vcf2maf_path,
  607. docker=vep_docker,
  608. cluster_config=cluster_config,
  609. disk_size=disk_size
  610. }
  611. }
  612. }
  613. if (varscan && normal_deduped_bam != "") {
  614. call somatic.somatic as somatic_fb {
  615. input:
  616. sample=sample_id,
  617. normal_bam=normal_BQSR_fb.recaled_bam,
  618. normal_bam_index=normal_BQSR_fb.recaled_bam_index,
  619. tumor_bam=tumor_BQSR_fb.recaled_bam,
  620. tumor_bam_index=tumor_BQSR_fb.recaled_bam_index,
  621. ref_dir=ref_dir,
  622. fasta=fasta,
  623. docker=varscan_docker,
  624. disk_size=disk_size,
  625. cluster_config=cluster_config
  626. }
  627. call processSomatic.processSomatic as processSomatic_fb {
  628. input:
  629. sample=sample_id,
  630. varscan_snp=somatic_fb.varscan_snp,
  631. varscan_indel=somatic_fb.varscan_indel,
  632. docker=varscan_docker,
  633. disk_size=disk_size,
  634. cluster_config=cluster_config
  635. }
  636. call somaticFilter.somaticFilter as somaticFilter_fb {
  637. input:
  638. sample=sample_id,
  639. varscan_snp_somatic_hc=processSomatic_fb.varscan_snp_somatic_hc,
  640. varscan_snp_germline_hc=processSomatic_fb.varscan_snp_germline_hc,
  641. varscan_snp_loh_hc=processSomatic_fb.varscan_snp_loh_hc,
  642. varscan_indel_somatic_hc=processSomatic_fb.varscan_indel_somatic_hc,
  643. varscan_indel_germline_hc=processSomatic_fb.varscan_indel_germline_hc,
  644. varscan_indel_loh_hc=processSomatic_fb.varscan_indel_loh_hc,
  645. varscan_indel=somatic_fb.varscan_indel,
  646. docker=varscan_docker,
  647. disk_size=disk_size,
  648. cluster_config=cluster_config
  649. }
  650. if (annovar) {
  651. call ANNOVAR.ANNOVAR as VarScan_annovar_fb {
  652. input:
  653. vcf=somaticFilter_fb.varscan_somatic_filter,
  654. hg=hg,
  655. annovar_database=annovar_database,
  656. docker=annovar_docker,
  657. cluster_config=cluster_config,
  658. disk_size=disk_size
  659. }
  660. }
  661. if (vep) {
  662. call VEP.VEP as VarScan_VEP_fb {
  663. input:
  664. vcf=somaticFilter_fb.varscan_somatic_filter,
  665. hg=hg,
  666. sample_id=sample_id,
  667. tumor_id=sample_id + ".T",
  668. normal_id=sample_id + ".N",
  669. ref_dir=ref_dir,
  670. fasta=fasta,
  671. vep_path=vep_path,
  672. cache=cache,
  673. species=species,
  674. vcf2maf_path=vcf2maf_path,
  675. docker=vep_docker,
  676. cluster_config=cluster_config,
  677. disk_size=disk_size
  678. }
  679. }
  680. }
  681. }
  682. }