Germline & Somatic short variant discovery (SNVs + Indels) for WGS & WES.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

703 rindas
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. deduped_bam=normal_Dedup.deduped_bam,
  213. deduped_bam_index=normal_Dedup.deduped_bam_index,
  214. recal_table=normal_BQSR.recal_table,
  215. dbsnp=dbsnp,
  216. dbsnp_dir=dbsnp_dir,
  217. regions=regions,
  218. docker=sentieon_docker,
  219. disk_size=disk_size,
  220. cluster_config=cluster_config
  221. }
  222. }
  223. if (tnseq) {
  224. call TNseq.TNseq as TNseq {
  225. input:
  226. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  227. SENTIEON_LICENSE=SENTIEON_LICENSE,
  228. sample=sample_id,
  229. normal_deduped_bam=normal_Dedup.deduped_bam,
  230. normal_deduped_bam_index=normal_Dedup.deduped_bam_index,
  231. normal_recal_table=normal_BQSR.recal_table,
  232. tumor_deduped_bam=tumor_Dedup.deduped_bam,
  233. tumor_deduped_bam_index=tumor_Dedup.deduped_bam_index,
  234. tumor_recal_table=tumor_BQSR.recal_table,
  235. normal_name=sample_id + "_normal",
  236. tumor_name=sample_id + "_tumor",
  237. fasta=fasta,
  238. ref_dir=ref_dir,
  239. regions=regions,
  240. interval_padding=interval_padding,
  241. germline_resource=germline_resource,
  242. germline_resource_tbi=germline_resource_tbi,
  243. pon_vcf=tnseq_pon,
  244. docker=sentieon_docker,
  245. cluster_config=cluster_config,
  246. disk_size=disk_size
  247. }
  248. if (annovar) {
  249. call ANNOVAR.ANNOVAR as TNseq_annovar {
  250. input:
  251. vcf=TNseq.TNseq_vcf,
  252. hg=hg,
  253. only_pass=only_pass,
  254. annovar_database=annovar_database,
  255. docker=annovar_docker,
  256. cluster_config=cluster_config,
  257. disk_size=disk_size
  258. }
  259. }
  260. if (vep) {
  261. call VEP.VEP as TNseq_VEP {
  262. input:
  263. vcf=TNseq.TNseq_vcf,
  264. hg=hg,
  265. only_pass=only_pass,
  266. sample_id=sample_id,
  267. tumor_id=sample_id + "_tumor",
  268. normal_id=sample_id + "_normal",
  269. ref_dir=ref_dir,
  270. fasta=fasta,
  271. vep_path=vep_path,
  272. cache=cache,
  273. species=species,
  274. vcf2maf_path=vcf2maf_path,
  275. docker=vep_docker,
  276. cluster_config=cluster_config,
  277. disk_size=disk_size
  278. }
  279. }
  280. }
  281. if (tnscope) {
  282. call TNscope.TNscope as TNscope {
  283. input:
  284. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  285. SENTIEON_LICENSE=SENTIEON_LICENSE,
  286. sample=sample_id,
  287. normal_deduped_bam=normal_Dedup.deduped_bam,
  288. normal_deduped_bam_index=normal_Dedup.deduped_bam_index,
  289. normal_recal_table=normal_BQSR.recal_table,
  290. tumor_deduped_bam=tumor_Dedup.deduped_bam,
  291. tumor_deduped_bam_index=tumor_Dedup.deduped_bam_index,
  292. tumor_recal_table=tumor_BQSR.recal_table,
  293. normal_name=sample_id + "_normal",
  294. tumor_name=sample_id + "_tumor",
  295. fasta=fasta,
  296. ref_dir=ref_dir,
  297. regions=regions,
  298. interval_padding=interval_padding,
  299. dbsnp=dbsnp,
  300. dbsnp_dir=dbsnp_dir,
  301. pon_vcf=tnscope_pon,
  302. docker=sentieon_docker,
  303. cluster_config=cluster_config,
  304. disk_size=disk_size
  305. }
  306. if (annovar) {
  307. call ANNOVAR.ANNOVAR as TNscope_annovar {
  308. input:
  309. vcf=TNscope.TNscope_vcf,
  310. hg=hg,
  311. only_pass=only_pass,
  312. annovar_database=annovar_database,
  313. docker=annovar_docker,
  314. cluster_config=cluster_config,
  315. disk_size=disk_size
  316. }
  317. }
  318. if (vep) {
  319. call VEP.VEP as TNscope_VEP {
  320. input:
  321. vcf=TNscope.TNscope_vcf,
  322. hg=hg,
  323. only_pass=only_pass,
  324. sample_id=sample_id,
  325. tumor_id=sample_id + "_tumor",
  326. normal_id=sample_id + "_normal",
  327. ref_dir=ref_dir,
  328. fasta=fasta,
  329. vep_path=vep_path,
  330. cache=cache,
  331. species=species,
  332. vcf2maf_path=vcf2maf_path,
  333. docker=vep_docker,
  334. cluster_config=cluster_config,
  335. disk_size=disk_size
  336. }
  337. }
  338. }
  339. if (varscan) {
  340. call somatic.somatic as somatic {
  341. input:
  342. sample=sample_id,
  343. tumor_bam=tumor_Dedup.deduped_bam,
  344. tumor_bam_index=tumor_Dedup.deduped_bam_index,
  345. normal_bam=normal_Dedup.deduped_bam,
  346. normal_bam_index=normal_Dedup.deduped_bam_index,
  347. ref_dir=ref_dir,
  348. fasta=fasta,
  349. docker=varscan_docker,
  350. disk_size=disk_size,
  351. cluster_config=cluster_config
  352. }
  353. call processSomatic.processSomatic as processSomatic {
  354. input:
  355. sample=sample_id,
  356. varscan_snp=somatic.varscan_snp,
  357. varscan_indel=somatic.varscan_indel,
  358. docker=varscan_docker,
  359. disk_size=disk_size,
  360. cluster_config=cluster_config
  361. }
  362. call somaticFilter.somaticFilter as somaticFilter {
  363. input:
  364. sample=sample_id,
  365. varscan_snp_somatic_hc=processSomatic.varscan_snp_somatic_hc,
  366. varscan_snp_germline_hc=processSomatic.varscan_snp_germline_hc,
  367. varscan_snp_loh_hc=processSomatic.varscan_snp_loh_hc,
  368. varscan_indel_somatic_hc=processSomatic.varscan_indel_somatic_hc,
  369. varscan_indel_germline_hc=processSomatic.varscan_indel_germline_hc,
  370. varscan_indel_loh_hc=processSomatic.varscan_indel_loh_hc,
  371. varscan_indel=somatic.varscan_indel,
  372. docker=varscan_docker,
  373. disk_size=disk_size,
  374. cluster_config=cluster_config
  375. }
  376. if (annovar) {
  377. call ANNOVAR.ANNOVAR as VarScan_annovar {
  378. input:
  379. vcf=somaticFilter.varscan_somatic_filter,
  380. hg=hg,
  381. only_pass=only_pass,
  382. annovar_database=annovar_database,
  383. docker=annovar_docker,
  384. cluster_config=cluster_config,
  385. disk_size=disk_size
  386. }
  387. }
  388. if (vep) {
  389. call VEP.VEP as VarScan_VEP {
  390. input:
  391. vcf=VarScan.VarScan_vcf,
  392. hg=hg,
  393. only_pass=only_pass,
  394. sample_id=sample_id,
  395. tumor_id=sample_id + "_tumor",
  396. normal_id=sample_id + "_normal",
  397. ref_dir=ref_dir,
  398. fasta=fasta,
  399. vep_path=vep_path,
  400. cache=cache,
  401. species=species,
  402. vcf2maf_path=vcf2maf_path,
  403. docker=vep_docker,
  404. cluster_config=cluster_config,
  405. disk_size=disk_size
  406. }
  407. }
  408. }
  409. }
  410. if (input_bam) {
  411. if (tumor_deduped_bam != "") {
  412. call BQSR.BQSR as tumor_BQSR {
  413. input:
  414. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  415. SENTIEON_LICENSE=SENTIEON_LICENSE,
  416. fasta=fasta,
  417. ref_dir=ref_dir,
  418. deduped_bam=tumor_deduped_bam,
  419. deduped_bam_index=tumor_deduped_bam_index,
  420. db_mills=db_mills,
  421. dbmills_dir=dbmills_dir,
  422. dbsnp=dbsnp,
  423. dbsnp_dir=dbsnp_dir,
  424. sample=sample_id + '_tumor',
  425. docker=sentieon_docker,
  426. disk_size=disk_size,
  427. cluster_config=cluster_config
  428. }
  429. }
  430. if (normal_deduped_bam != "") {
  431. call BQSR.BQSR as normal_BQSR {
  432. input:
  433. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  434. SENTIEON_LICENSE=SENTIEON_LICENSE,
  435. fasta=fasta,
  436. ref_dir=ref_dir,
  437. deduped_bam=normal_deduped_bam,
  438. deduped_bam_index=normal_deduped_bam_index,
  439. db_mills=db_mills,
  440. dbmills_dir=dbmills_dir,
  441. dbsnp=dbsnp,
  442. dbsnp_dir=dbsnp_dir,
  443. sample=sample_id + '_normal',
  444. docker=sentieon_docker,
  445. disk_size=disk_size,
  446. cluster_config=cluster_config
  447. }
  448. }
  449. if (haplotyper) {
  450. call Haplotyper.Haplotyper as Haplotyper {
  451. input:
  452. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  453. SENTIEON_LICENSE=SENTIEON_LICENSE,
  454. sample=sample_id + '_normal',
  455. fasta=fasta,
  456. ref_dir=ref_dir,
  457. deduped_bam=normal_Dedup.deduped_bam,
  458. deduped_bam_index=normal_Dedup.deduped_bam_index,
  459. recal_table=normal_BQSR.recal_table,
  460. dbsnp=dbsnp,
  461. dbsnp_dir=dbsnp_dir,
  462. regions=regions,
  463. docker=sentieon_docker,
  464. disk_size=disk_size,
  465. cluster_config=cluster_config
  466. }
  467. }
  468. if (tnseq) {
  469. call TNseq.TNseq as TNseq {
  470. input:
  471. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  472. SENTIEON_LICENSE=SENTIEON_LICENSE,
  473. sample=sample_id,
  474. normal_deduped_bam=normal_Dedup.deduped_bam,
  475. normal_deduped_bam_index=normal_Dedup.deduped_bam_index,
  476. normal_recal_table=normal_BQSR.recal_table,
  477. tumor_deduped_bam=tumor_Dedup.deduped_bam,
  478. tumor_deduped_bam_index=tumor_Dedup.deduped_bam_index,
  479. tumor_recal_table=tumor_BQSR.recal_table,
  480. normal_name=sample_id + "_normal",
  481. tumor_name=sample_id + "_tumor",
  482. fasta=fasta,
  483. ref_dir=ref_dir,
  484. regions=regions,
  485. interval_padding=interval_padding,
  486. germline_resource=germline_resource,
  487. germline_resource_tbi=germline_resource_tbi,
  488. pon_vcf=tnseq_pon,
  489. docker=sentieon_docker,
  490. cluster_config=cluster_config,
  491. disk_size=disk_size
  492. }
  493. if (annovar) {
  494. call ANNOVAR.ANNOVAR as TNseq_annovar {
  495. input:
  496. vcf=TNseq.TNseq_vcf,
  497. hg=hg,
  498. only_pass=only_pass,
  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 {
  507. input:
  508. vcf=TNseq.TNseq_vcf,
  509. hg=hg,
  510. only_pass=only_pass,
  511. sample_id=sample_id,
  512. tumor_id=sample_id + "_tumor",
  513. normal_id=sample_id + "_normal",
  514. ref_dir=ref_dir,
  515. fasta=fasta,
  516. vep_path=vep_path,
  517. cache=cache,
  518. species=species,
  519. vcf2maf_path=vcf2maf_path,
  520. docker=vep_docker,
  521. cluster_config=cluster_config,
  522. disk_size=disk_size
  523. }
  524. }
  525. }
  526. if (tnscope) {
  527. call TNscope.TNscope as TNscope {
  528. input:
  529. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  530. SENTIEON_LICENSE=SENTIEON_LICENSE,
  531. sample=sample_id,
  532. normal_deduped_bam=normal_Dedup.deduped_bam,
  533. normal_deduped_bam_index=normal_Dedup.deduped_bam_index,
  534. normal_recal_table=normal_BQSR.recal_table,
  535. tumor_deduped_bam=tumor_Dedup.deduped_bam,
  536. tumor_deduped_bam_index=tumor_Dedup.deduped_bam_index,
  537. tumor_recal_table=tumor_BQSR.recal_table,
  538. normal_name=sample_id + "_normal",
  539. tumor_name=sample_id + "_tumor",
  540. fasta=fasta,
  541. ref_dir=ref_dir,
  542. regions=regions,
  543. interval_padding=interval_padding,
  544. dbsnp=dbsnp,
  545. dbsnp_dir=dbsnp_dir,
  546. pon_vcf=tnscope_pon,
  547. docker=sentieon_docker,
  548. cluster_config=cluster_config,
  549. disk_size=disk_size
  550. }
  551. if (annovar) {
  552. call ANNOVAR.ANNOVAR as TNscope_annovar {
  553. input:
  554. vcf=TNscope.TNscope_vcf,
  555. hg=hg,
  556. only_pass=only_pass,
  557. annovar_database=annovar_database,
  558. docker=annovar_docker,
  559. cluster_config=cluster_config,
  560. disk_size=disk_size
  561. }
  562. }
  563. if (vep) {
  564. call VEP.VEP as TNscope_VEP {
  565. input:
  566. vcf=TNscope.TNscope_vcf,
  567. hg=hg,
  568. only_pass=only_pass,
  569. sample_id=sample_id,
  570. tumor_id=sample_id + "_tumor",
  571. normal_id=sample_id + "_normal",
  572. ref_dir=ref_dir,
  573. fasta=fasta,
  574. vep_path=vep_path,
  575. cache=cache,
  576. species=species,
  577. vcf2maf_path=vcf2maf_path,
  578. docker=vep_docker,
  579. cluster_config=cluster_config,
  580. disk_size=disk_size
  581. }
  582. }
  583. }
  584. if (varscan) {
  585. call somatic.somatic as somatic {
  586. input:
  587. sample=sample_id,
  588. tumor_bam=tumor_Dedup.deduped_bam,
  589. tumor_bam_index=tumor_Dedup.deduped_bam_index,
  590. normal_bam=normal_Dedup.deduped_bam,
  591. normal_bam_index=normal_Dedup.deduped_bam_index,
  592. ref_dir=ref_dir,
  593. fasta=fasta,
  594. docker=varscan_docker,
  595. disk_size=disk_size,
  596. cluster_config=cluster_config
  597. }
  598. call processSomatic.processSomatic as processSomatic {
  599. input:
  600. sample=sample_id,
  601. varscan_snp=somatic.varscan_snp,
  602. varscan_indel=somatic.varscan_indel,
  603. docker=varscan_docker,
  604. disk_size=disk_size,
  605. cluster_config=cluster_config
  606. }
  607. call somaticFilter.somaticFilter as somaticFilter {
  608. input:
  609. sample=sample_id,
  610. varscan_snp_somatic_hc=processSomatic.varscan_snp_somatic_hc,
  611. varscan_snp_germline_hc=processSomatic.varscan_snp_germline_hc,
  612. varscan_snp_loh_hc=processSomatic.varscan_snp_loh_hc,
  613. varscan_indel_somatic_hc=processSomatic.varscan_indel_somatic_hc,
  614. varscan_indel_germline_hc=processSomatic.varscan_indel_germline_hc,
  615. varscan_indel_loh_hc=processSomatic.varscan_indel_loh_hc,
  616. varscan_indel=somatic.varscan_indel,
  617. docker=varscan_docker,
  618. disk_size=disk_size,
  619. cluster_config=cluster_config
  620. }
  621. if (annovar) {
  622. call ANNOVAR.ANNOVAR as VarScan_annovar {
  623. input:
  624. vcf=somaticFilter.varscan_somatic_filter,
  625. hg=hg,
  626. only_pass=only_pass,
  627. annovar_database=annovar_database,
  628. docker=annovar_docker,
  629. cluster_config=cluster_config,
  630. disk_size=disk_size
  631. }
  632. }
  633. if (vep) {
  634. call VEP.VEP as VarScan_VEP {
  635. input:
  636. vcf=VarScan.VarScan_vcf,
  637. hg=hg,
  638. only_pass=only_pass,
  639. sample_id=sample_id,
  640. tumor_id=sample_id + "_tumor",
  641. normal_id=sample_id + "_normal",
  642. ref_dir=ref_dir,
  643. fasta=fasta,
  644. vep_path=vep_path,
  645. cache=cache,
  646. species=species,
  647. vcf2maf_path=vcf2maf_path,
  648. docker=vep_docker,
  649. cluster_config=cluster_config,
  650. disk_size=disk_size
  651. }
  652. }
  653. }
  654. }
  655. }