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

workflow.wdl 2.4KB

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