您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

134 行
3.1KB

  1. import "./tasks/benchmark.wdl" as benchmark
  2. import "./tasks/mendelian.wdl" as mendelian
  3. import "./tasks/merge_mendelian.wdl" as merge_mendelian
  4. import "./tasks/merge_family.wdl" as merge_family
  5. import "./tasks/quartet_mendelian.wdl" as quartet_mendelian
  6. workflow {{ project_name }} {
  7. File inputSamplesFile
  8. Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
  9. String BENCHMARKdocker
  10. String MENDELIANdocker
  11. String DIYdocker
  12. String fasta
  13. File ref_dir
  14. File benchmark_region
  15. File benchmarking_dir
  16. String project
  17. String disk_size
  18. String BIGcluster_config
  19. String SMALLcluster_config
  20. scatter (sample in inputSamples){
  21. call benchmark.benchmark as LCL5_benchmark {
  22. input:
  23. vcf=sample[0],
  24. benchmarking_dir=benchmarking_dir,
  25. filtered_bed=benchmark_region,
  26. ref_dir=ref_dir,
  27. fasta=fasta,
  28. docker=BENCHMARKdocker,
  29. cluster_config=BIGcluster_config,
  30. disk_size=disk_size
  31. }
  32. call benchmark.benchmark as LCL6_benchmark {
  33. input:
  34. vcf=sample[1],
  35. benchmarking_dir=benchmarking_dir,
  36. filtered_bed=benchmark_region,
  37. ref_dir=ref_dir,
  38. fasta=fasta,
  39. docker=BENCHMARKdocker,
  40. cluster_config=BIGcluster_config,
  41. disk_size=disk_size
  42. }
  43. call benchmark.benchmark as LCL7_benchmark {
  44. input:
  45. vcf=sample[2],
  46. benchmarking_dir=benchmarking_dir,
  47. filtered_bed=benchmark_region,
  48. ref_dir=ref_dir,
  49. fasta=fasta,
  50. docker=BENCHMARKdocker,
  51. cluster_config=BIGcluster_config,
  52. disk_size=disk_size
  53. }
  54. call benchmark.benchmark as LCL8_benchmark {
  55. input:
  56. vcf=sample[3],
  57. benchmarking_dir=benchmarking_dir,
  58. filtered_bed=benchmark_region,
  59. ref_dir=ref_dir,
  60. fasta=fasta,
  61. docker=BENCHMARKdocker,
  62. cluster_config=BIGcluster_config,
  63. disk_size=disk_size
  64. }
  65. call merge_family.merge_family as merge_family {
  66. input:
  67. LCL5_vcf_gz=LCL5_benchmark.rtg_vcf,
  68. LCL5_vcf_idx=LCL5_benchmark.rtg_vcf_index,
  69. LCL6_vcf_gz=LCL6_benchmark.rtg_vcf,
  70. LCL6_vcf_idx=LCL6_benchmark.rtg_vcf_index,
  71. LCL7_vcf_gz=LCL7_benchmark.rtg_vcf,
  72. LCL7_vcf_idx=LCL7_benchmark.rtg_vcf_index,
  73. LCL8_vcf_gz=LCL8_benchmark.rtg_vcf,
  74. LCL8_vcf_idx=LCL8_benchmark.rtg_vcf,
  75. project=project,
  76. rep=sample[4],
  77. docker=BENCHMARKdocker,
  78. cluster_config=BIGcluster_config,
  79. disk_size=disk_size,
  80. }
  81. call mendelian.mendelian as mendelian {
  82. input:
  83. family_vcf=merge_family.merged_vcf,
  84. ref_dir=ref_dir,
  85. fasta=fasta,
  86. docker=MENDELIANdocker,
  87. cluster_config=BIGcluster_config,
  88. disk_size=disk_size
  89. }
  90. call merge_mendelian.merge_mendelian as merge_mendelian {
  91. input:
  92. D5_trio_vcf=mendelian.D5_trio_vcf,
  93. D6_trio_vcf=mendelian.D6_trio_vcf,
  94. family_vcf=merge_family.merged_vcf,
  95. docker=DIYdocker,
  96. cluster_config=SMALLcluster_config,
  97. disk_size=disk_size
  98. }
  99. }
  100. call quartet_mendelian.quartet_mendelian as quartet_mendelian {
  101. input:
  102. summary=merge_mendelian.project_mendelian_summary,
  103. LCL5_hap=LCL5_benchmark.summary,
  104. LCL6_hap=LCL6_benchmark.summary,
  105. LCL7_hap=LCL7_benchmark.summary,
  106. LCL8_hap=LCL8_benchmark.summary,
  107. docker=DIYdocker,
  108. project=project,
  109. cluster_config=SMALLcluster_config,
  110. disk_size=disk_size
  111. }
  112. }