Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

114 lines
3.0KB

  1. import "./tasks/variantsNorm.wdl" as variantsNorm
  2. import "./tasks/sister.wdl" as sister
  3. import "./tasks/mendelian.wdl" as mendelian
  4. import "./tasks/zipIndex.wdl" as zipIndex
  5. import "./tasks/VCFrename.wdl" as VCFrename
  6. import "./tasks/merge.wdl" as merge
  7. workflow {{ project_name }} {
  8. File inputSamplesFile
  9. Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
  10. File ref_dir
  11. String fasta
  12. String cluster_config
  13. String disk_size
  14. String mapper_caller
  15. scatter (sample in inputSamples){
  16. call variantsNorm.variantsNorm as LCL5variantsNorm{
  17. input:
  18. vcf=sample[0],
  19. ref_dir=ref_dir,
  20. fasta=fasta,
  21. sampleName=sample[4],
  22. cluster_config=cluster_config,
  23. disk_size=disk_size
  24. }
  25. call variantsNorm.variantsNorm as LCL6variantsNorm{
  26. input:
  27. vcf=sample[1],
  28. ref_dir=ref_dir,
  29. fasta=fasta,
  30. sampleName=sample[5],
  31. cluster_config=cluster_config,
  32. disk_size=disk_size
  33. }
  34. call variantsNorm.variantsNorm as LCL7variantsNorm{
  35. input:
  36. vcf=sample[2],
  37. ref_dir=ref_dir,
  38. fasta=fasta,
  39. sampleName=sample[6],
  40. cluster_config=cluster_config,
  41. disk_size=disk_size
  42. }
  43. call variantsNorm.variantsNorm as LCL8variantsNorm{
  44. input:
  45. vcf=sample[3],
  46. ref_dir=ref_dir,
  47. fasta=fasta,
  48. sampleName=sample[7],
  49. cluster_config=cluster_config,
  50. disk_size=disk_size
  51. }
  52. call sister.sister as sister{
  53. input:
  54. LCL5_vcf=LCL5variantsNorm.normed_vcf,
  55. LCL6_vcf=LCL6variantsNorm.normed_vcf,
  56. ref_dir=ref_dir,
  57. fasta=fasta,
  58. family_name=sample[8],
  59. cluster_config=cluster_config,
  60. disk_size=disk_size
  61. }
  62. call mendelian.mendelian as mendelian {
  63. input:
  64. sister_vcf=sister.sister_consistent_vcf,
  65. LCL7_vcf=LCL7variantsNorm.normed_vcf,
  66. LCL8_vcf=LCL8variantsNorm.normed_vcf,
  67. LCL7_name=sample[6],
  68. LCL8_name=sample[7],
  69. family_name=sample[8],
  70. ref_dir=ref_dir,
  71. fasta=fasta,
  72. cluster_config=cluster_config,
  73. disk_size=disk_size
  74. }
  75. call zipIndex.zipIndex as zipIndex{
  76. input:
  77. mother_vcf=mendelian.mother_vcf,
  78. father_vcf=mendelian.father_vcf,
  79. twins_vcf=mendelian.twins_vcf,
  80. family_name=sample[8],
  81. cluster_config=cluster_config,
  82. disk_size=disk_size
  83. }
  84. call VCFrename.VCFrename as VCFrename{
  85. input:
  86. mother_vcf_gz=zipIndex.mother_vcf_gz,
  87. father_vcf_gz=zipIndex.father_vcf_gz,
  88. twins_vcf_gz=zipIndex.twins_vcf_gz,
  89. mother_vcf_idx=zipIndex.mother_vcf_idx,
  90. father_vcf_idx=zipIndex.father_vcf_idx,
  91. twins_vcf_idx=zipIndex.twins_vcf_idx,
  92. mother_name=sample[7],
  93. father_name=sample[6],
  94. family_name=sample[8],
  95. cluster_config=cluster_config,
  96. disk_size=disk_size
  97. }
  98. }
  99. call merge.merge as merge {
  100. input:
  101. rename_mother_vcf_gz=VCFrename.rename_mother_vcf_gz,
  102. rename_mother_vcf_idx=VCFrename.rename_mother_vcf_idx,
  103. rename_father_vcf_gz=VCFrename.rename_father_vcf_gz,
  104. rename_father_vcf_idx=VCFrename.rename_father_vcf_idx,
  105. rename_twins_vcf_gz=VCFrename.rename_twins_vcf_gz,
  106. rename_twins_vcf_idx=VCFrename.rename_twins_vcf_idx,
  107. mapper_caller=mapper_caller,
  108. cluster_config=cluster_config,
  109. disk_size=disk_size
  110. }
  111. }