Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

915 lines
24KB

  1. import "./tasks/mapping.wdl" as mapping
  2. import "./tasks/Dedup.wdl" as Dedup
  3. import "./tasks/qualimap.wdl" as qualimap
  4. import "./tasks/deduped_Metrics.wdl" as deduped_Metrics
  5. import "./tasks/sentieon.wdl" as sentieon
  6. import "./tasks/Realigner.wdl" as Realigner
  7. import "./tasks/BQSR.wdl" as BQSR
  8. import "./tasks/Haplotyper.wdl" as Haplotyper
  9. import "./tasks/benchmark.wdl" as benchmark
  10. import "./tasks/multiqc.wdl" as multiqc
  11. import "./tasks/merge_sentieon_metrics.wdl" as merge_sentieon_metrics
  12. import "./tasks/extract_tables.wdl" as extract_tables
  13. import "./tasks/mendelian.wdl" as mendelian
  14. import "./tasks/merge_mendelian.wdl" as merge_mendelian
  15. import "./tasks/quartet_mendelian.wdl" as quartet_mendelian
  16. import "./tasks/fastqc.wdl" as fastqc
  17. import "./tasks/fastqscreen.wdl" as fastqscreen
  18. import "./tasks/merge_family.wdl" as merge_family
  19. import "./tasks/filter_vcf_bed.wdl" as filter_vcf_bed
  20. workflow project_name {
  21. File? fastq_1_D5
  22. File? fastq_1_D6
  23. File? fastq_1_F7
  24. File? fastq_1_M8
  25. File? fastq_2_D5
  26. File? fastq_2_D6
  27. File? fastq_2_F7
  28. File? fastq_2_M8
  29. File? vcf_D5
  30. File? vcf_D6
  31. File? vcf_F7
  32. File? vcf_M8
  33. File? bed
  34. String SENTIEON_INSTALL_DIR
  35. String SENTIEON_LICENSE
  36. String SENTIEONdocker
  37. String FASTQCdocker
  38. String FASTQSCREENdocker
  39. String QUALIMAPdocker
  40. String BENCHMARKdocker
  41. String MENDELIANdocker
  42. String DIYdocker
  43. String MULTIQCdocker
  44. String BEDTOOLSdocker
  45. String fasta
  46. File ref_dir
  47. File dbmills_dir
  48. String db_mills
  49. File dbsnp_dir
  50. String dbsnp
  51. File screen_ref_dir
  52. File fastq_screen_conf
  53. File benchmarking_dir
  54. File benchmark_region
  55. String project
  56. String disk_size
  57. String BIGcluster_config
  58. String SMALLcluster_config
  59. if (fastq_1_D5!= "") {
  60. call mapping.mapping as mapping_D5 {
  61. input:
  62. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  63. SENTIEON_LICENSE=SENTIEON_LICENSE,
  64. group="D5",
  65. sample="D5",
  66. pl="ILLUMINAL",
  67. fasta=fasta,
  68. ref_dir=ref_dir,
  69. fastq_1=fastq_1_D5,
  70. fastq_2=fastq_2_D5,
  71. docker=SENTIEONdocker,
  72. disk_size=disk_size,
  73. cluster_config=BIGcluster_config
  74. }
  75. call fastqc.fastqc as fastqc_D5 {
  76. input:
  77. read1=fastq_1_D5,
  78. read2=fastq_2_D5,
  79. docker=FASTQCdocker,
  80. cluster_config=BIGcluster_config,
  81. disk_size=disk_size
  82. }
  83. call fastqscreen.fastq_screen as fastqscreen_D5 {
  84. input:
  85. read1=fastq_1_D5,
  86. read2=fastq_2_D5,
  87. screen_ref_dir=screen_ref_dir,
  88. fastq_screen_conf=fastq_screen_conf,
  89. docker=FASTQSCREENdocker,
  90. cluster_config=BIGcluster_config,
  91. disk_size=disk_size
  92. }
  93. call Dedup.Dedup as Dedup_D5 {
  94. input:
  95. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  96. sorted_bam=mapping_D5.sorted_bam,
  97. sorted_bam_index=mapping_D5.sorted_bam_index,
  98. sample="D5",
  99. docker=SENTIEONdocker,
  100. disk_size=disk_size,
  101. cluster_config=BIGcluster_config
  102. }
  103. call qualimap.qualimap as qualimap_D5 {
  104. input:
  105. bed=bed,
  106. bam=Dedup_D5.Dedup_bam,
  107. bai=Dedup_D5.Dedup_bam_index,
  108. docker=QUALIMAPdocker,
  109. disk_size=disk_size,
  110. cluster_config=BIGcluster_config
  111. }
  112. call deduped_Metrics.deduped_Metrics as deduped_Metrics_D5 {
  113. input:
  114. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  115. fasta=fasta,
  116. bed=bed,
  117. ref_dir=ref_dir,
  118. Dedup_bam=Dedup_D5.Dedup_bam,
  119. Dedup_bam_index=Dedup_D5.Dedup_bam_index,
  120. sample="D5",
  121. docker=SENTIEONdocker,
  122. disk_size=disk_size,
  123. cluster_config=BIGcluster_config
  124. }
  125. call sentieon.sentieon as sentieon_D5 {
  126. input:
  127. quality_yield=deduped_Metrics_D5.deduped_QualityYield,
  128. wgs_metrics_algo=deduped_Metrics_D5.deduped_wgsmetrics,
  129. aln_metrics=deduped_Metrics_D5.dedeuped_aln_metrics,
  130. is_metrics=deduped_Metrics_D5.deduped_is_metrics,
  131. sample="D5",
  132. docker=SENTIEONdocker,
  133. cluster_config=SMALLcluster_config,
  134. disk_size=disk_size
  135. }
  136. call Realigner.Realigner as Realigner_D5 {
  137. input:
  138. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  139. fasta=fasta,
  140. ref_dir=ref_dir,
  141. Dedup_bam=Dedup_D5.Dedup_bam,
  142. Dedup_bam_index=Dedup_D5.Dedup_bam_index,
  143. db_mills=db_mills,
  144. dbmills_dir=dbmills_dir,
  145. sample="D5",
  146. docker=SENTIEONdocker,
  147. disk_size=disk_size,
  148. cluster_config=BIGcluster_config
  149. }
  150. call BQSR.BQSR as BQSR_D5 {
  151. input:
  152. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  153. fasta=fasta,
  154. ref_dir=ref_dir,
  155. realigned_bam=Realigner_D5.realigner_bam,
  156. realigned_bam_index=Realigner_D5.realigner_bam_index,
  157. db_mills=db_mills,
  158. dbmills_dir=dbmills_dir,
  159. dbsnp=dbsnp,
  160. dbsnp_dir=dbsnp_dir,
  161. sample="D5",
  162. docker=SENTIEONdocker,
  163. disk_size=disk_size,
  164. cluster_config=BIGcluster_config
  165. }
  166. call Haplotyper.Haplotyper as Haplotyper_D5 {
  167. input:
  168. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  169. fasta=fasta,
  170. ref_dir=ref_dir,
  171. recaled_bam=BQSR_D5.recaled_bam,
  172. recaled_bam_index=BQSR_D5.recaled_bam_index,
  173. sample="D5",
  174. docker=SENTIEONdocker,
  175. disk_size=disk_size,
  176. cluster_config=BIGcluster_config
  177. }
  178. call filter_vcf_bed.filter_vcf_bed as filter_vcf_bed_D5 {
  179. input:
  180. vcf=Haplotyper_D5.vcf,
  181. bed=bed,
  182. benchmark_region=benchmark_region,
  183. project=project,
  184. docker=BEDTOOLSdocker,
  185. cluster_config=SMALLcluster_config,
  186. disk_size=disk_size
  187. }
  188. call benchmark.benchmark as benchmark_D5 {
  189. input:
  190. vcf=filter_vcf_bed_D5.filtered_vcf,
  191. benchmarking_dir=benchmarking_dir,
  192. ref_dir=ref_dir,
  193. qc_bed=filter_vcf_bed_D5.filtered_bed,
  194. fasta=fasta,
  195. docker=BENCHMARKdocker,
  196. cluster_config=BIGcluster_config,
  197. disk_size=disk_size
  198. }
  199. call mapping.mapping as mapping_D6 {
  200. input:
  201. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  202. SENTIEON_LICENSE=SENTIEON_LICENSE,
  203. group="D6",
  204. sample="D6",
  205. pl="ILLUMINAL",
  206. fasta=fasta,
  207. ref_dir=ref_dir,
  208. fastq_1=fastq_1_D6,
  209. fastq_2=fastq_2_D6,
  210. docker=SENTIEONdocker,
  211. disk_size=disk_size,
  212. cluster_config=BIGcluster_config
  213. }
  214. call fastqc.fastqc as fastqc_D6 {
  215. input:
  216. read1=fastq_1_D6,
  217. read2=fastq_2_D6,
  218. docker=FASTQCdocker,
  219. cluster_config=BIGcluster_config,
  220. disk_size=disk_size
  221. }
  222. call fastqscreen.fastq_screen as fastqscreen_D6 {
  223. input:
  224. read1=fastq_1_D6,
  225. read2=fastq_2_D6,
  226. screen_ref_dir=screen_ref_dir,
  227. fastq_screen_conf=fastq_screen_conf,
  228. docker=FASTQSCREENdocker,
  229. cluster_config=BIGcluster_config,
  230. disk_size=disk_size
  231. }
  232. call Dedup.Dedup as Dedup_D6 {
  233. input:
  234. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  235. sorted_bam=mapping_D6.sorted_bam,
  236. sorted_bam_index=mapping_D6.sorted_bam_index,
  237. sample="D6",
  238. docker=SENTIEONdocker,
  239. disk_size=disk_size,
  240. cluster_config=BIGcluster_config
  241. }
  242. call qualimap.qualimap as qualimap_D6 {
  243. input:
  244. bed=bed,
  245. bam=Dedup_D6.Dedup_bam,
  246. bai=Dedup_D6.Dedup_bam_index,
  247. docker=QUALIMAPdocker,
  248. disk_size=disk_size,
  249. cluster_config=BIGcluster_config
  250. }
  251. call deduped_Metrics.deduped_Metrics as deduped_Metrics_D6 {
  252. input:
  253. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  254. fasta=fasta,
  255. bed=bed,
  256. ref_dir=ref_dir,
  257. Dedup_bam=Dedup_D6.Dedup_bam,
  258. Dedup_bam_index=Dedup_D6.Dedup_bam_index,
  259. sample="D6",
  260. docker=SENTIEONdocker,
  261. disk_size=disk_size,
  262. cluster_config=BIGcluster_config
  263. }
  264. call sentieon.sentieon as sentieon_D6 {
  265. input:
  266. quality_yield=deduped_Metrics_D6.deduped_QualityYield,
  267. wgs_metrics_algo=deduped_Metrics_D6.deduped_wgsmetrics,
  268. aln_metrics=deduped_Metrics_D6.dedeuped_aln_metrics,
  269. is_metrics=deduped_Metrics_D6.deduped_is_metrics,
  270. sample="D6",
  271. docker=SENTIEONdocker,
  272. cluster_config=SMALLcluster_config,
  273. disk_size=disk_size
  274. }
  275. call Realigner.Realigner as Realigner_D6 {
  276. input:
  277. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  278. fasta=fasta,
  279. ref_dir=ref_dir,
  280. Dedup_bam=Dedup_D6.Dedup_bam,
  281. Dedup_bam_index=Dedup_D6.Dedup_bam_index,
  282. db_mills=db_mills,
  283. dbmills_dir=dbmills_dir,
  284. sample="D6",
  285. docker=SENTIEONdocker,
  286. disk_size=disk_size,
  287. cluster_config=BIGcluster_config
  288. }
  289. call BQSR.BQSR as BQSR_D6 {
  290. input:
  291. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  292. fasta=fasta,
  293. ref_dir=ref_dir,
  294. realigned_bam=Realigner_D6.realigner_bam,
  295. realigned_bam_index=Realigner_D6.realigner_bam_index,
  296. db_mills=db_mills,
  297. dbmills_dir=dbmills_dir,
  298. dbsnp=dbsnp,
  299. dbsnp_dir=dbsnp_dir,
  300. sample="D6",
  301. docker=SENTIEONdocker,
  302. disk_size=disk_size,
  303. cluster_config=BIGcluster_config
  304. }
  305. call Haplotyper.Haplotyper as Haplotyper_D6 {
  306. input:
  307. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  308. fasta=fasta,
  309. ref_dir=ref_dir,
  310. recaled_bam=BQSR_D6.recaled_bam,
  311. recaled_bam_index=BQSR_D6.recaled_bam_index,
  312. sample="D6",
  313. docker=SENTIEONdocker,
  314. disk_size=disk_size,
  315. cluster_config=BIGcluster_config
  316. }
  317. call filter_vcf_bed.filter_vcf_bed as filter_vcf_bed_D6 {
  318. input:
  319. vcf=Haplotyper_D6.vcf,
  320. bed=bed,
  321. benchmark_region=benchmark_region,
  322. project=project,
  323. docker=BEDTOOLSdocker,
  324. cluster_config=SMALLcluster_config,
  325. disk_size=disk_size
  326. }
  327. call benchmark.benchmark as benchmark_D6 {
  328. input:
  329. vcf=filter_vcf_bed_D6.filtered_vcf,
  330. benchmarking_dir=benchmarking_dir,
  331. ref_dir=ref_dir,
  332. qc_bed=filter_vcf_bed_D6.filtered_bed,
  333. fasta=fasta,
  334. docker=BENCHMARKdocker,
  335. cluster_config=BIGcluster_config,
  336. disk_size=disk_size
  337. }
  338. call mapping.mapping as mapping_F7 {
  339. input:
  340. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  341. SENTIEON_LICENSE=SENTIEON_LICENSE,
  342. group="F7",
  343. sample="F7",
  344. pl="ILLUMINAL",
  345. fasta=fasta,
  346. ref_dir=ref_dir,
  347. fastq_1=fastq_1_F7,
  348. fastq_2=fastq_2_F7,
  349. docker=SENTIEONdocker,
  350. disk_size=disk_size,
  351. cluster_config=BIGcluster_config
  352. }
  353. call fastqc.fastqc as fastqc_F7 {
  354. input:
  355. read1=fastq_1_F7,
  356. read2=fastq_2_F7,
  357. docker=FASTQCdocker,
  358. cluster_config=BIGcluster_config,
  359. disk_size=disk_size
  360. }
  361. call fastqscreen.fastq_screen as fastqscreen_F7 {
  362. input:
  363. read1=fastq_1_F7,
  364. read2=fastq_2_F7,
  365. screen_ref_dir=screen_ref_dir,
  366. fastq_screen_conf=fastq_screen_conf,
  367. docker=FASTQSCREENdocker,
  368. cluster_config=BIGcluster_config,
  369. disk_size=disk_size
  370. }
  371. call Dedup.Dedup as Dedup_F7 {
  372. input:
  373. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  374. sorted_bam=mapping_F7.sorted_bam,
  375. sorted_bam_index=mapping_F7.sorted_bam_index,
  376. sample="F7",
  377. docker=SENTIEONdocker,
  378. disk_size=disk_size,
  379. cluster_config=BIGcluster_config
  380. }
  381. call qualimap.qualimap as qualimap_F7 {
  382. input:
  383. bed=bed,
  384. bam=Dedup_F7.Dedup_bam,
  385. bai=Dedup_F7.Dedup_bam_index,
  386. docker=QUALIMAPdocker,
  387. disk_size=disk_size,
  388. cluster_config=BIGcluster_config
  389. }
  390. call deduped_Metrics.deduped_Metrics as deduped_Metrics_F7 {
  391. input:
  392. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  393. fasta=fasta,
  394. ref_dir=ref_dir,
  395. bed=bed,
  396. Dedup_bam=Dedup_F7.Dedup_bam,
  397. Dedup_bam_index=Dedup_F7.Dedup_bam_index,
  398. sample="F7",
  399. docker=SENTIEONdocker,
  400. disk_size=disk_size,
  401. cluster_config=BIGcluster_config
  402. }
  403. call sentieon.sentieon as sentieon_F7 {
  404. input:
  405. quality_yield=deduped_Metrics_F7.deduped_QualityYield,
  406. wgs_metrics_algo=deduped_Metrics_F7.deduped_wgsmetrics,
  407. aln_metrics=deduped_Metrics_F7.dedeuped_aln_metrics,
  408. is_metrics=deduped_Metrics_F7.deduped_is_metrics,
  409. sample="F7",
  410. docker=SENTIEONdocker,
  411. cluster_config=SMALLcluster_config,
  412. disk_size=disk_size
  413. }
  414. call Realigner.Realigner as Realigner_F7 {
  415. input:
  416. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  417. fasta=fasta,
  418. ref_dir=ref_dir,
  419. Dedup_bam=Dedup_F7.Dedup_bam,
  420. Dedup_bam_index=Dedup_F7.Dedup_bam_index,
  421. db_mills=db_mills,
  422. dbmills_dir=dbmills_dir,
  423. sample="F7",
  424. docker=SENTIEONdocker,
  425. disk_size=disk_size,
  426. cluster_config=BIGcluster_config
  427. }
  428. call BQSR.BQSR as BQSR_F7 {
  429. input:
  430. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  431. fasta=fasta,
  432. ref_dir=ref_dir,
  433. realigned_bam=Realigner_F7.realigner_bam,
  434. realigned_bam_index=Realigner_F7.realigner_bam_index,
  435. db_mills=db_mills,
  436. dbmills_dir=dbmills_dir,
  437. dbsnp=dbsnp,
  438. dbsnp_dir=dbsnp_dir,
  439. sample="F7",
  440. docker=SENTIEONdocker,
  441. disk_size=disk_size,
  442. cluster_config=BIGcluster_config
  443. }
  444. call Haplotyper.Haplotyper as Haplotyper_F7 {
  445. input:
  446. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  447. fasta=fasta,
  448. ref_dir=ref_dir,
  449. recaled_bam=BQSR_F7.recaled_bam,
  450. recaled_bam_index=BQSR_F7.recaled_bam_index,
  451. sample="F7",
  452. docker=SENTIEONdocker,
  453. disk_size=disk_size,
  454. cluster_config=BIGcluster_config
  455. }
  456. call filter_vcf_bed.filter_vcf_bed as filter_vcf_bed_F7 {
  457. input:
  458. vcf=Haplotyper_F7.vcf,
  459. bed=bed,
  460. benchmark_region=benchmark_region,
  461. project=project,
  462. docker=BEDTOOLSdocker,
  463. cluster_config=SMALLcluster_config,
  464. disk_size=disk_size
  465. }
  466. call benchmark.benchmark as benchmark_F7 {
  467. input:
  468. vcf=filter_vcf_bed_F7.filtered_vcf,
  469. benchmarking_dir=benchmarking_dir,
  470. ref_dir=ref_dir,
  471. qc_bed=filter_vcf_bed_F7.filtered_bed,
  472. fasta=fasta,
  473. docker=BENCHMARKdocker,
  474. cluster_config=BIGcluster_config,
  475. disk_size=disk_size
  476. }
  477. call mapping.mapping as mapping_M8 {
  478. input:
  479. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  480. SENTIEON_LICENSE=SENTIEON_LICENSE,
  481. group="M8",
  482. sample="M8",
  483. pl="ILLUMINAL",
  484. fasta=fasta,
  485. ref_dir=ref_dir,
  486. fastq_1=fastq_1_M8,
  487. fastq_2=fastq_2_M8,
  488. docker=SENTIEONdocker,
  489. disk_size=disk_size,
  490. cluster_config=BIGcluster_config
  491. }
  492. call fastqc.fastqc as fastqc_M8 {
  493. input:
  494. read1=fastq_1_M8,
  495. read2=fastq_2_M8,
  496. docker=FASTQCdocker,
  497. cluster_config=BIGcluster_config,
  498. disk_size=disk_size
  499. }
  500. call fastqscreen.fastq_screen as fastqscreen_M8 {
  501. input:
  502. read1=fastq_1_M8,
  503. read2=fastq_2_M8,
  504. screen_ref_dir=screen_ref_dir,
  505. fastq_screen_conf=fastq_screen_conf,
  506. docker=FASTQSCREENdocker,
  507. cluster_config=BIGcluster_config,
  508. disk_size=disk_size
  509. }
  510. call Dedup.Dedup as Dedup_M8 {
  511. input:
  512. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  513. sorted_bam=mapping_M8.sorted_bam,
  514. sorted_bam_index=mapping_M8.sorted_bam_index,
  515. sample="M8",
  516. docker=SENTIEONdocker,
  517. disk_size=disk_size,
  518. cluster_config=BIGcluster_config
  519. }
  520. call qualimap.qualimap as qualimap_M8 {
  521. input:
  522. bed=bed,
  523. bam=Dedup_M8.Dedup_bam,
  524. bai=Dedup_M8.Dedup_bam_index,
  525. docker=QUALIMAPdocker,
  526. disk_size=disk_size,
  527. cluster_config=BIGcluster_config
  528. }
  529. call deduped_Metrics.deduped_Metrics as deduped_Metrics_M8 {
  530. input:
  531. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  532. fasta=fasta,
  533. ref_dir=ref_dir,
  534. bed=bed,
  535. Dedup_bam=Dedup_M8.Dedup_bam,
  536. Dedup_bam_index=Dedup_M8.Dedup_bam_index,
  537. sample="M8",
  538. docker=SENTIEONdocker,
  539. disk_size=disk_size,
  540. cluster_config=BIGcluster_config
  541. }
  542. call sentieon.sentieon as sentieon_M8 {
  543. input:
  544. quality_yield=deduped_Metrics_M8.deduped_QualityYield,
  545. wgs_metrics_algo=deduped_Metrics_M8.deduped_wgsmetrics,
  546. aln_metrics=deduped_Metrics_M8.dedeuped_aln_metrics,
  547. is_metrics=deduped_Metrics_M8.deduped_is_metrics,
  548. sample="M8",
  549. docker=SENTIEONdocker,
  550. cluster_config=SMALLcluster_config,
  551. disk_size=disk_size
  552. }
  553. call Realigner.Realigner as Realigner_M8 {
  554. input:
  555. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  556. fasta=fasta,
  557. ref_dir=ref_dir,
  558. Dedup_bam=Dedup_M8.Dedup_bam,
  559. Dedup_bam_index=Dedup_M8.Dedup_bam_index,
  560. db_mills=db_mills,
  561. dbmills_dir=dbmills_dir,
  562. sample="M8",
  563. docker=SENTIEONdocker,
  564. disk_size=disk_size,
  565. cluster_config=BIGcluster_config
  566. }
  567. call BQSR.BQSR as BQSR_M8 {
  568. input:
  569. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  570. fasta=fasta,
  571. ref_dir=ref_dir,
  572. realigned_bam=Realigner_M8.realigner_bam,
  573. realigned_bam_index=Realigner_M8.realigner_bam_index,
  574. db_mills=db_mills,
  575. dbmills_dir=dbmills_dir,
  576. dbsnp=dbsnp,
  577. dbsnp_dir=dbsnp_dir,
  578. sample="M8",
  579. docker=SENTIEONdocker,
  580. disk_size=disk_size,
  581. cluster_config=BIGcluster_config
  582. }
  583. call Haplotyper.Haplotyper as Haplotyper_M8 {
  584. input:
  585. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  586. fasta=fasta,
  587. ref_dir=ref_dir,
  588. recaled_bam=BQSR_M8.recaled_bam,
  589. recaled_bam_index=BQSR_M8.recaled_bam_index,
  590. sample="M8",
  591. docker=SENTIEONdocker,
  592. disk_size=disk_size,
  593. cluster_config=BIGcluster_config
  594. }
  595. call filter_vcf_bed.filter_vcf_bed as filter_vcf_bed_M8 {
  596. input:
  597. vcf=Haplotyper_M8.vcf,
  598. bed=bed,
  599. benchmark_region=benchmark_region,
  600. project=project,
  601. docker=BEDTOOLSdocker,
  602. cluster_config=SMALLcluster_config,
  603. disk_size=disk_size
  604. }
  605. call benchmark.benchmark as benchmark_M8 {
  606. input:
  607. vcf=filter_vcf_bed_M8.filtered_vcf,
  608. benchmarking_dir=benchmarking_dir,
  609. ref_dir=ref_dir,
  610. qc_bed=filter_vcf_bed_M8.filtered_bed,
  611. fasta=fasta,
  612. docker=BENCHMARKdocker,
  613. cluster_config=BIGcluster_config,
  614. disk_size=disk_size
  615. }
  616. Array[File] fastqc_read1_zip = [fastqc_D5.read1_zip, fastqc_D6.read1_zip, fastqc_F7.read1_zip, fastqc_M8.read1_zip]
  617. Array[File] fastqc_read2_zip = [fastqc_D5.read2_zip, fastqc_D6.read2_zip, fastqc_F7.read2_zip, fastqc_M8.read2_zip]
  618. Array[File] fastqscreen_txt1 = [fastqscreen_D5.txt1, fastqscreen_D6.txt1, fastqscreen_F7.txt1, fastqscreen_M8.txt1]
  619. Array[File] fastqscreen_txt2 = [fastqscreen_D5.txt2, fastqscreen_D6.txt2, fastqscreen_F7.txt2, fastqscreen_M8.txt2]
  620. Array[File] benchmark_summary = [benchmark_D5.summary, benchmark_D6.summary, benchmark_F7.summary, benchmark_M8.summary]
  621. Array[File] qualimap_zip = [qualimap_D5.zip, qualimap_D6.zip, qualimap_F7.zip, qualimap_M8.zip]
  622. call multiqc.multiqc as multiqc_big {
  623. input:
  624. read1_zip=fastqc_read1_zip,
  625. read2_zip=fastqc_read2_zip,
  626. txt1=fastqscreen_txt1,
  627. txt2=fastqscreen_txt2,
  628. summary=benchmark_summary,
  629. zip=qualimap_zip,
  630. docker=MULTIQCdocker,
  631. cluster_config=SMALLcluster_config,
  632. disk_size=disk_size
  633. }
  634. Array[File] sentieon_quality_yield_header = [sentieon_D5.quality_yield_header, sentieon_D6.quality_yield_header, sentieon_F7.quality_yield_header, sentieon_M8.quality_yield_header]
  635. Array[File] sentieon_wgs_metrics_algo_header = [sentieon_D5.wgs_metrics_algo_header, sentieon_D6.wgs_metrics_algo_header, sentieon_F7.wgs_metrics_algo_header, sentieon_M8.wgs_metrics_algo_header]
  636. Array[File] sentieon_aln_metrics_header = [sentieon_D5.aln_metrics_header, sentieon_D6.aln_metrics_header, sentieon_F7.aln_metrics_header, sentieon_M8.aln_metrics_header]
  637. Array[File] sentieon_is_metrics_header = [sentieon_D5.is_metrics_header, sentieon_D6.is_metrics_header, sentieon_F7.is_metrics_header, sentieon_M8.is_metrics_header]
  638. Array[File] sentieon_quality_yield_data = [sentieon_D5.quality_yield_data, sentieon_D6.quality_yield_data, sentieon_F7.quality_yield_data, sentieon_M8.quality_yield_data]
  639. Array[File] sentieon_wgs_metrics_algo_data = [sentieon_D5.wgs_metrics_algo_data, sentieon_D6.wgs_metrics_algo_data, sentieon_F7.wgs_metrics_algo_data, sentieon_M8.wgs_metrics_algo_data]
  640. Array[File] sentieon_aln_metrics_data = [sentieon_D5.aln_metrics_data, sentieon_D6.aln_metrics_data, sentieon_F7.aln_metrics_data, sentieon_M8.aln_metrics_data]
  641. Array[File] sentieon_is_metrics_data = [sentieon_D5.is_metrics_data, sentieon_D6.is_metrics_data, sentieon_F7.is_metrics_data, sentieon_M8.is_metrics_data]
  642. call merge_sentieon_metrics.merge_sentieon_metrics as merge_sentieon_metrics {
  643. input:
  644. quality_yield_header=sentieon_quality_yield_header,
  645. wgs_metrics_algo_header=sentieon_wgs_metrics_algo_header,
  646. aln_metrics_header=sentieon_aln_metrics_header,
  647. is_metrics_header=sentieon_is_metrics_header,
  648. quality_yield_data=sentieon_quality_yield_data,
  649. wgs_metrics_algo_data=sentieon_wgs_metrics_algo_data,
  650. aln_metrics_data=sentieon_aln_metrics_data,
  651. is_metrics_data=sentieon_is_metrics_data,
  652. project=project,
  653. docker=MULTIQCdocker,
  654. cluster_config=SMALLcluster_config,
  655. disk_size=disk_size
  656. }
  657. call extract_tables.extract_tables as extract_tables_big {
  658. input:
  659. quality_yield_summary=merge_sentieon_metrics.quality_yield_summary,
  660. wgs_metrics_summary=merge_sentieon_metrics.wgs_metrics_summary,
  661. aln_metrics_summary=merge_sentieon_metrics.aln_metrics_summary,
  662. is_metrics_summary=merge_sentieon_metrics.is_metrics_summary,
  663. fastqc=multiqc_big.fastqc,
  664. fastqscreen=multiqc_big.fastqscreen,
  665. hap=multiqc_big.hap,
  666. project=project,
  667. docker=DIYdocker,
  668. cluster_config=SMALLcluster_config,
  669. disk_size=disk_size
  670. }
  671. }
  672. if (vcf_D5!= "") {
  673. call filter_vcf_bed.filter_vcf_bed as filter_vcf_bed_D5_vcf {
  674. input:
  675. vcf=vcf_D5,
  676. bed=bed,
  677. benchmark_region=benchmark_region,
  678. project=project,
  679. docker=BEDTOOLSdocker,
  680. cluster_config=SMALLcluster_config,
  681. disk_size=disk_size
  682. }
  683. call benchmark.benchmark as benchmark_D5_vcf {
  684. input:
  685. vcf=filter_vcf_bed_D5_vcf.filtered_vcf,
  686. benchmarking_dir=benchmarking_dir,
  687. ref_dir=ref_dir,
  688. qc_bed=filter_vcf_bed_D5.filtered_bed,
  689. fasta=fasta,
  690. docker=BENCHMARKdocker,
  691. cluster_config=BIGcluster_config,
  692. disk_size=disk_size
  693. }
  694. call filter_vcf_bed.filter_vcf_bed as filter_vcf_bed_D6_vcf {
  695. input:
  696. vcf=vcf_D6,
  697. bed=bed,
  698. benchmark_region=benchmark_region,
  699. project=project,
  700. docker=BEDTOOLSdocker,
  701. cluster_config=SMALLcluster_config,
  702. disk_size=disk_size
  703. }
  704. call benchmark.benchmark as benchmark_D6_vcf {
  705. input:
  706. vcf=filter_vcf_bed_D6.filtered_vcf,
  707. benchmarking_dir=benchmarking_dir,
  708. ref_dir=ref_dir,
  709. qc_bed=filter_vcf_bed_D6.filtered_bed,
  710. fasta=fasta,
  711. docker=BENCHMARKdocker,
  712. cluster_config=BIGcluster_config,
  713. disk_size=disk_size
  714. }
  715. call filter_vcf_bed.filter_vcf_bed as filter_vcf_bed_F7_vcf {
  716. input:
  717. vcf=vcf_F7,
  718. bed=bed,
  719. benchmark_region=benchmark_region,
  720. project=project,
  721. docker=BEDTOOLSdocker,
  722. cluster_config=SMALLcluster_config,
  723. disk_size=disk_size
  724. }
  725. call benchmark.benchmark as benchmark_F7_vcf {
  726. input:
  727. vcf=filter_vcf_bed_F7_vcf.filtered_vcf,
  728. benchmarking_dir=benchmarking_dir,
  729. ref_dir=ref_dir,
  730. qc_bed=filter_vcf_bed_F7.filtered_bed,
  731. fasta=fasta,
  732. docker=BENCHMARKdocker,
  733. cluster_config=BIGcluster_config,
  734. disk_size=disk_size
  735. }
  736. call filter_vcf_bed.filter_vcf_bed as filter_vcf_bed_M8_vcf {
  737. input:
  738. vcf=vcf_M8,
  739. bed=bed,
  740. benchmark_region=benchmark_region,
  741. project=project,
  742. docker=BEDTOOLSdocker,
  743. cluster_config=SMALLcluster_config,
  744. disk_size=disk_size
  745. }
  746. call benchmark.benchmark as benchmark_M8_vcf {
  747. input:
  748. vcf=filter_vcf_bed_M8_vcf.filtered_vcf,
  749. benchmarking_dir=benchmarking_dir,
  750. ref_dir=ref_dir,
  751. qc_bed=filter_vcf_bed_M8.filtered_bed,
  752. fasta=fasta,
  753. docker=BENCHMARKdocker,
  754. cluster_config=BIGcluster_config,
  755. disk_size=disk_size
  756. }
  757. Array[File] benchmark_summary_hap = [benchmark_D5_vcf.summary, benchmark_D6_vcf.summary, benchmark_F7_vcf.summary, benchmark_M8_vcf.summary]
  758. call multiqc.multiqc as multiqc_small {
  759. input:
  760. read1_zip="",
  761. read2_zip="",
  762. txt1="",
  763. txt2="",
  764. zip="",
  765. summary=benchmark_summary_hap,
  766. docker=MULTIQCdocker,
  767. cluster_config=SMALLcluster_config,
  768. disk_size=disk_size
  769. }
  770. call extract_tables.extract_tables as extract_tables_small {
  771. input:
  772. quality_yield_summary="",
  773. wgs_metrics_summary="",
  774. aln_metrics_summary="",
  775. is_metrics_summary="",
  776. fastqc="",
  777. fastqscreen="",
  778. hap=multiqc_small.hap,
  779. project=project,
  780. docker=DIYdocker,
  781. cluster_config=SMALLcluster_config,
  782. disk_size=disk_size
  783. }
  784. }
  785. call merge_family.merge_family as merge_family {
  786. input:
  787. D5_vcf=benchmark_D5.rtg_vcf,
  788. D6_vcf=benchmark_D6.rtg_vcf,
  789. F7_vcf=benchmark_F7.rtg_vcf,
  790. M8_vcf=benchmark_M8.rtg_vcf,
  791. D5_vcf_tbi=benchmark_D5.rtg_vcf_index,
  792. D6_vcf_tbi=benchmark_D6.rtg_vcf_index,
  793. F7_vcf_tbi=benchmark_F7.rtg_vcf_index,
  794. M8_vcf_tbi=benchmark_M8.rtg_vcf_index,
  795. project=project,
  796. docker=DIYdocker,
  797. cluster_config=SMALLcluster_config,
  798. disk_size=disk_size,
  799. }
  800. call mendelian.mendelian as mendelian {
  801. input:
  802. family_vcf=merge_family.family_vcf,
  803. ref_dir=ref_dir,
  804. fasta=fasta,
  805. docker=MENDELIANdocker,
  806. cluster_config=BIGcluster_config,
  807. disk_size=disk_size
  808. }
  809. call merge_mendelian.merge_mendelian as merge_mendelian {
  810. input:
  811. D5_trio_vcf=mendelian.D5_trio_vcf,
  812. D6_trio_vcf=mendelian.D6_trio_vcf,
  813. family_vcf=merge_family.family_vcf,
  814. docker=DIYdocker,
  815. cluster_config=SMALLcluster_config,
  816. disk_size=disk_size
  817. }
  818. }