Germline & Somatic short variant discovery (SNVs + Indels) for WGS & WES.
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.

697 lines
20KB

  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 + '.N',
  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 + '.N',
  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. }
  428. if (normal_deduped_bam != "") {
  429. call replaceRG.replaceRG as normal_replaceRG {
  430. input:
  431. bam=normal_deduped_bam,
  432. group=sample_id + '.N',
  433. sample=sample_id + '.N',
  434. pl=pl,
  435. docker=samtools_docker,
  436. disk_size=disk_size,
  437. cluster_config=cluster_config
  438. }
  439. }
  440. if (haplotyper) {
  441. call Haplotyper.Haplotyper as Haplotyper_fb {
  442. input:
  443. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  444. SENTIEON_LICENSE=SENTIEON_LICENSE,
  445. sample=sample_id + '.N',
  446. fasta=fasta,
  447. ref_dir=ref_dir,
  448. recaled_bam=normal_BQSR_fb.recaled_bam,
  449. recaled_bam_index=normal_BQSR_fb.recaled_bam_index,
  450. dbsnp=dbsnp,
  451. dbsnp_dir=dbsnp_dir,
  452. regions=regions,
  453. docker=sentieon_docker,
  454. disk_size=disk_size,
  455. cluster_config=cluster_config
  456. }
  457. }
  458. if (pindel) {
  459. call Pindel.Pindel as Pindel_fb {
  460. input:
  461. sample_id=sample_id + '.N',
  462. bam=normal_BQSR_fb.recaled_bam,
  463. bam_index=normal_BQSR_fb.recaled_bam_index,
  464. fasta=fasta,
  465. ref_dir=ref_dir,
  466. docker=pindel_docker,
  467. disk_size=disk_size,
  468. cluster_config=cluster_config
  469. }
  470. }
  471. if (tnseq) {
  472. call TNseq.TNseq as TNseq_fb {
  473. input:
  474. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  475. SENTIEON_LICENSE=SENTIEON_LICENSE,
  476. sample=sample_id,
  477. normal_recaled_bam=normal_BQSR_fb.recaled_bam,
  478. normal_recaled_bam_index=normal_BQSR_fb.recaled_bam_index,
  479. tumor_recaled_bam=tumor_BQSR_fb.recaled_bam,
  480. tumor_recaled_bam_index=tumor_BQSR_fb.recaled_bam_index,
  481. normal_name=sample_id + ".N",
  482. tumor_name=sample_id + ".T",
  483. fasta=fasta,
  484. ref_dir=ref_dir,
  485. regions=regions,
  486. interval_padding=interval_padding,
  487. germline_resource=germline_resource,
  488. germline_resource_tbi=germline_resource_tbi,
  489. pon_vcf=tnseq_pon,
  490. docker=sentieon_docker,
  491. cluster_config=cluster_config,
  492. disk_size=disk_size
  493. }
  494. if (annovar) {
  495. call ANNOVAR.ANNOVAR as TNseq_annovar_fb {
  496. input:
  497. vcf=TNseq_fb.TNseq_pass_vcf,
  498. hg=hg,
  499. annovar_database=annovar_database,
  500. docker=annovar_docker,
  501. cluster_config=cluster_config,
  502. disk_size=disk_size
  503. }
  504. }
  505. if (vep) {
  506. call VEP.VEP as TNseq_VEP_fb {
  507. input:
  508. vcf=TNseq_fb.TNseq_pass_vcf,
  509. hg=hg,
  510. sample_id=sample_id,
  511. tumor_id=sample_id + ".T",
  512. normal_id=sample_id + ".N",
  513. ref_dir=ref_dir,
  514. fasta=fasta,
  515. vep_path=vep_path,
  516. cache=cache,
  517. species=species,
  518. vcf2maf_path=vcf2maf_path,
  519. docker=vep_docker,
  520. cluster_config=cluster_config,
  521. disk_size=disk_size
  522. }
  523. }
  524. }
  525. if (tnscope) {
  526. call TNscope.TNscope as TNscope_fb {
  527. input:
  528. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  529. SENTIEON_LICENSE=SENTIEON_LICENSE,
  530. sample=sample_id,
  531. normal_recaled_bam=normal_BQSR_fb.recaled_bam,
  532. normal_recaled_bam_index=normal_BQSR_fb.recaled_bam_index,
  533. tumor_recaled_bam=tumor_BQSR_fb.recaled_bam,
  534. tumor_recaled_bam_index=tumor_BQSR_fb.recaled_bam_index,
  535. normal_name=sample_id + ".N",
  536. tumor_name=sample_id + ".T",
  537. fasta=fasta,
  538. ref_dir=ref_dir,
  539. regions=regions,
  540. interval_padding=interval_padding,
  541. dbsnp=dbsnp,
  542. dbsnp_dir=dbsnp_dir,
  543. pon_vcf=tnscope_pon,
  544. docker=sentieon_docker,
  545. cluster_config=cluster_config,
  546. disk_size=disk_size
  547. }
  548. if (annovar) {
  549. call ANNOVAR.ANNOVAR as TNscope_annovar_fb {
  550. input:
  551. vcf=TNscope_fb.TNscope_pass_vcf,
  552. hg=hg,
  553. annovar_database=annovar_database,
  554. docker=annovar_docker,
  555. cluster_config=cluster_config,
  556. disk_size=disk_size
  557. }
  558. }
  559. if (vep) {
  560. call VEP.VEP as TNscope_VEP_fb {
  561. input:
  562. vcf=TNscope_fb.TNscope_pass_vcf,
  563. hg=hg,
  564. sample_id=sample_id,
  565. tumor_id=sample_id + ".T",
  566. normal_id=sample_id + ".N",
  567. ref_dir=ref_dir,
  568. fasta=fasta,
  569. vep_path=vep_path,
  570. cache=cache,
  571. species=species,
  572. vcf2maf_path=vcf2maf_path,
  573. docker=vep_docker,
  574. cluster_config=cluster_config,
  575. disk_size=disk_size
  576. }
  577. }
  578. }
  579. if (varscan && normal_deduped_bam != "") {
  580. call somatic.somatic as somatic_fb {
  581. input:
  582. sample=sample_id,
  583. normal_bam=normal_BQSR_fb.recaled_bam,
  584. normal_bam_index=normal_BQSR_fb.recaled_bam_index,
  585. tumor_bam=tumor_BQSR_fb.recaled_bam,
  586. tumor_bam_index=tumor_BQSR_fb.recaled_bam_index,
  587. ref_dir=ref_dir,
  588. fasta=fasta,
  589. docker=varscan_docker,
  590. disk_size=disk_size,
  591. cluster_config=cluster_config
  592. }
  593. call processSomatic.processSomatic as processSomatic_fb {
  594. input:
  595. sample=sample_id,
  596. varscan_snp=somatic_fb.varscan_snp,
  597. varscan_indel=somatic_fb.varscan_indel,
  598. docker=varscan_docker,
  599. disk_size=disk_size,
  600. cluster_config=cluster_config
  601. }
  602. call somaticFilter.somaticFilter as somaticFilter_fb {
  603. input:
  604. sample=sample_id,
  605. varscan_snp_somatic_hc=processSomatic_fb.varscan_snp_somatic_hc,
  606. varscan_snp_germline_hc=processSomatic_fb.varscan_snp_germline_hc,
  607. varscan_snp_loh_hc=processSomatic_fb.varscan_snp_loh_hc,
  608. varscan_indel_somatic_hc=processSomatic_fb.varscan_indel_somatic_hc,
  609. varscan_indel_germline_hc=processSomatic_fb.varscan_indel_germline_hc,
  610. varscan_indel_loh_hc=processSomatic_fb.varscan_indel_loh_hc,
  611. varscan_indel=somatic_fb.varscan_indel,
  612. docker=varscan_docker,
  613. disk_size=disk_size,
  614. cluster_config=cluster_config
  615. }
  616. if (annovar) {
  617. call ANNOVAR.ANNOVAR as VarScan_annovar_fb {
  618. input:
  619. vcf=somaticFilter_fb.varscan_somatic_filter,
  620. hg=hg,
  621. annovar_database=annovar_database,
  622. docker=annovar_docker,
  623. cluster_config=cluster_config,
  624. disk_size=disk_size
  625. }
  626. }
  627. if (vep) {
  628. call VEP.VEP as VarScan_VEP_fb {
  629. input:
  630. vcf=somaticFilter_fb.varscan_somatic_filter,
  631. hg=hg,
  632. sample_id=sample_id,
  633. tumor_id=sample_id + ".T",
  634. normal_id=sample_id + ".N",
  635. ref_dir=ref_dir,
  636. fasta=fasta,
  637. vep_path=vep_path,
  638. cache=cache,
  639. species=species,
  640. vcf2maf_path=vcf2maf_path,
  641. docker=vep_docker,
  642. cluster_config=cluster_config,
  643. disk_size=disk_size
  644. }
  645. }
  646. }
  647. }
  648. }