Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

workflow.wdl 2.5KB

il y a 5 ans
il y a 5 ans
il y a 5 ans
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import "./tasks/mendelian.wdl" as mendelian
  2. import "./tasks/zipIndex.wdl" as zipIndex
  3. import "./tasks/VCFrename.wdl" as VCFrename
  4. import "./tasks/mergeSister.wdl" as mergeSister
  5. import "./tasks/reformVCF.wdl" as reformVCF
  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 (quartet in inputSamples){
  14. call mendelian.mendelian as LCL5mendelian {
  15. input:
  16. child_vcf=quartet[0],
  17. LCL7_vcf=quartet[2],
  18. LCL8_vcf=quartet[3],
  19. LCL7_name=quartet[6],
  20. LCL8_name=quartet[7],
  21. child_name=quartet[4],
  22. ref_dir=ref_dir,
  23. fasta=fasta,
  24. cluster_config=cluster_config,
  25. disk_size=disk_size
  26. }
  27. call mendelian.mendelian as LCL6mendelian {
  28. input:
  29. child_vcf=quartet[1],
  30. LCL7_vcf=quartet[2],
  31. LCL8_vcf=quartet[3],
  32. LCL7_name=quartet[6],
  33. LCL8_name=quartet[7],
  34. child_name=quartet[5],
  35. ref_dir=ref_dir,
  36. fasta=fasta,
  37. cluster_config=cluster_config,
  38. disk_size=disk_size
  39. }
  40. call zipIndex.zipIndex as LCL5zipIndex {
  41. input:
  42. vcf=LCL5mendelian.trio_vcf,
  43. cluster_config=cluster_config,
  44. disk_size=disk_size
  45. }
  46. call zipIndex.zipIndex as LCL6zipIndex {
  47. input:
  48. vcf=LCL6mendelian.trio_vcf,
  49. cluster_config=cluster_config,
  50. disk_size=disk_size
  51. }
  52. call VCFrename.VCFrename as LCL5VCFrename {
  53. input:
  54. trio_vcf_gz=LCL5zipIndex.vcf_gz,
  55. trio_vcf_idx=LCL5zipIndex.vcf_idx,
  56. mother_name=quartet[7],
  57. father_name=quartet[6],
  58. child_name=quartet[4],
  59. family_name=quartet[8],
  60. child="LCL5",
  61. cluster_config=cluster_config,
  62. disk_size=disk_size
  63. }
  64. call VCFrename.VCFrename as LCL6VCFrename {
  65. input:
  66. trio_vcf_gz=LCL6zipIndex.vcf_gz,
  67. trio_vcf_idx=LCL6zipIndex.vcf_idx,
  68. mother_name=quartet[7],
  69. father_name=quartet[6],
  70. child_name=quartet[5],
  71. family_name=quartet[8],
  72. child="LCL6",
  73. cluster_config=cluster_config,
  74. disk_size=disk_size
  75. }
  76. call mergeSister.mergeSister as mergeSister {
  77. input:
  78. LCL5_trio_vcf_gz=LCL5VCFrename.rename_trio_vcf_gz,
  79. LCL5_trio_vcf_idx=LCL5VCFrename.rename_trio_vcf_idx,
  80. LCL6_trio_vcf_gz=LCL6VCFrename.rename_trio_vcf_gz,
  81. LCL6_trio_vcf_idx=LCL6VCFrename.rename_trio_vcf_idx,
  82. family_name=quartet[8],
  83. cluster_config=cluster_config,
  84. disk_size=disk_size
  85. }
  86. call reformVCF.reformVCF as reformVCF {
  87. input:
  88. family_mendelian_info=mergeSister.family_mendelian_info,
  89. family_name=quartet[8],
  90. cluster_config=cluster_config,
  91. disk_size=disk_size
  92. }
  93. }
  94. }