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.

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