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

96 lines
2.3KB

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