選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

88 行
2.2KB

  1. import "./tasks/variantsNorm.wdl" as variantsNorm
  2. import "./tasks/mendelian.wdl" as mendelian
  3. import "./tasks/zipIndex.wdl" as zipIndex
  4. import "./tasks/merge.wdl" as merge
  5. workflow {{ project_name }} {
  6. File inputSamplesFile
  7. Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
  8. File ref_dir
  9. String fasta
  10. String cluster_config
  11. String disk_size
  12. scatter (sample in inputSamples){
  13. call variantsNorm.variantsNorm as LCL5variantsNorm{
  14. input:
  15. vcf=sample[0],
  16. ref_dir=ref_dir,
  17. fasta=fasta,
  18. sampleName=sample[4],
  19. cluster_config=cluster_config,
  20. disk_size=disk_size
  21. }
  22. call variantsNorm.variantsNorm as LCL6variantsNorm{
  23. input:
  24. vcf=sample[1],
  25. ref_dir=ref_dir,
  26. fasta=fasta,
  27. sampleName=sample[5],
  28. cluster_config=cluster_config,
  29. disk_size=disk_size
  30. }
  31. call variantsNorm.variantsNorm as LCL7variantsNorm{
  32. input:
  33. vcf=sample[2],
  34. ref_dir=ref_dir,
  35. fasta=fasta,
  36. sampleName=sample[6],
  37. cluster_config=cluster_config,
  38. disk_size=disk_size
  39. }
  40. call variantsNorm.variantsNorm as LCL8variantsNorm{
  41. input:
  42. vcf=sample[3],
  43. ref_dir=ref_dir,
  44. fasta=fasta,
  45. sampleName=sample[7],
  46. cluster_config=cluster_config,
  47. disk_size=disk_size
  48. }
  49. call mendelian.mendelian as mendelian {
  50. input:
  51. LCL5_vcf=LCL5variantsNorm.normed_vcf,
  52. LCL6_vcf=LCL6variantsNorm.normed_vcf,
  53. LCL7_vcf=LCL7variantsNorm.normed_vcf,
  54. LCL8_vcf=LCL8variantsNorm.normed_vcf,
  55. LCL5_name=sample[4],
  56. LCL6_name=sample[5],
  57. LCL7_name=sample[6],
  58. LCL8_name=sample[7],
  59. family_name=sample[8],
  60. ref_dir=ref_dir,
  61. fasta=fasta,
  62. cluster_config=cluster_config,
  63. disk_size=disk_size
  64. }
  65. call zipIndex.zipIndex as zipIndex{
  66. input:
  67. mother_vcf=mendelian.mother_vcf,
  68. father_vcf=mendelian.father_vcf,
  69. twins_vcf=mendelian.twins_vcf,
  70. cluster_config=cluster_config,
  71. disk_size=disk_size
  72. }
  73. }
  74. call merge.merge as merge {
  75. input:
  76. mother_vcf_gz=zipIndex.mother_vcf_gz,
  77. mother_vcf_idx=zipIndex.mother_vcf_idx,
  78. father_vcf_gz=zipIndex.father_vcf_gz,
  79. father_vcf_idx=zipIndex.father_vcf_idx,
  80. twins_vcf_gz=zipIndex.twins_vcf_gz,
  81. twins_vcf_idx=zipIndex.twins_vcf_idx,
  82. cluster_config=cluster_config,
  83. disk_size=disk_size
  84. }
  85. }