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.

workflow.wdl 24KB

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