bcftools-merge is used to merge VCF files into a singe VCF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

150 line
4.1KB

  1. import "./tasks/corealigner.wdl" as corealigner
  2. import "./tasks/bcftools.wdl" as bcftools
  3. import "./tasks/TNseq.wdl" as TNseq
  4. import "./tasks/TNscope.wdl" as TNscope
  5. import "./tasks/annovar.wdl" as annovar
  6. import "./tasks/vcf2maf.wdl" as vcf2maf
  7. workflow {{ project_name }} {
  8. File inputSamplesFile
  9. Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
  10. #Array[String] sample
  11. String SENTIEON_INSTALL_DIR
  12. String SENTIEON_LICENSE
  13. String sentieon_docker
  14. String annovar_docker
  15. String vcf2maf_r_docker
  16. String bcftools_docker
  17. File ref_dir
  18. String fasta
  19. File dbmills_dir
  20. String db_mills
  21. File dbsnp_dir
  22. String dbsnp
  23. File regions
  24. File database
  25. String disk_size
  26. String cluster_config
  27. Boolean PONmode
  28. File? cosmic_dir
  29. String? cosmic_vcf
  30. Boolean set_annovar
  31. Boolean set_vcf2maf
  32. File pon_vcf1
  33. File pon_vcf2
  34. File pon_vcf3
  35. #Array[Array[File]] bcf = read_tsv(inputponfile)
  36. call bcftools.bcftools as bcftools {
  37. input:
  38. PONmode=PONmode,
  39. pon_vcf1=pon_vcf1,
  40. pon_vcf2=pon_vcf2,
  41. pon_vcf3=pon_vcf3,
  42. docker=bcftools_docker,
  43. disk_size=disk_size,
  44. cluster_config=cluster_config
  45. }
  46. scatter (sample in inputSamples) {
  47. call corealigner.corealigner as corealigner {
  48. input:
  49. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  50. SENTIEON_LICENSE=SENTIEON_LICENSE,
  51. fasta=fasta,
  52. ref_dir=ref_dir,
  53. sample=sample[0],
  54. docker=sentieon_docker,
  55. db_mills=db_mills,
  56. dbmills_dir=dbmills_dir,
  57. dbsnp=dbsnp,
  58. dbsnp_dir=dbsnp_dir,
  59. tumor_recaled_bam=sample[1],
  60. tumor_recaled_bam_index=sample[2],
  61. normal_recaled_bam=sample[3],
  62. normal_recaled_bam_index=sample[4],
  63. disk_size=disk_size,
  64. cluster_config=cluster_config
  65. }
  66. call TNseq.TNseq as TNseq {
  67. input:
  68. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  69. SENTIEON_LICENSE=SENTIEON_LICENSE,
  70. PONmode=PONmode,
  71. fasta=fasta,
  72. ref_dir=ref_dir,
  73. corealigner_bam=corealigner.corealigner_bam,
  74. corealigner_bam_index=corealigner.corealigner_bam_index,
  75. dbsnp=dbsnp,
  76. dbsnp_dir=dbsnp_dir,
  77. tumor_name=sample[0] + "_tumor",
  78. normal_name=sample[0] + "_normal",
  79. cosmic_vcf=cosmic_vcf,
  80. cosmic_dir=cosmic_dir,
  81. #panel_of_normal_vcf = bcftools.panel_of_normal_vcf,
  82. docker=sentieon_docker,
  83. sample=sample[0],
  84. disk_size=disk_size,
  85. cluster_config=cluster_config
  86. }
  87. call TNscope.TNscope as TNscope {
  88. input:
  89. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  90. SENTIEON_LICENSE=SENTIEON_LICENSE,
  91. PONmode=PONmode,
  92. fasta=fasta,
  93. ref_dir=ref_dir,
  94. corealigner_bam=corealigner.corealigner_bam,
  95. corealigner_bam_index=corealigner.corealigner_bam_index,
  96. dbsnp=dbsnp,
  97. dbsnp_dir=dbsnp_dir,
  98. tumor_name=sample[0] + "_tumor",
  99. normal_name=sample[0] + "_normal",
  100. cosmic_vcf=cosmic_vcf,
  101. cosmic_dir=cosmic_dir,
  102. #panel_of_normal_vcf = bcftools.panel_of_normal_vcf,
  103. docker=sentieon_docker,
  104. sample=sample[0],
  105. disk_size=disk_size,
  106. cluster_config=cluster_config
  107. }
  108. if (set_annovar){
  109. call annovar.annovar as annovar {
  110. input:
  111. docker=annovar_docker,
  112. database=database,
  113. tnscope_vcf_file=TNscope.TNscope_vcf,
  114. tnseq_vcf_file=TNseq.TNseq_vcf,
  115. sample=sample[0],
  116. cluster_config=cluster_config,
  117. disk_size=disk_size
  118. }
  119. }
  120. if (set_vcf2maf){
  121. call vcf2maf.vcf2maf as vcf2maf {
  122. input:
  123. docker=vcf2maf_r_docker,
  124. multianno_tnscope_txt=annovar.multianno_tnscope_txt,
  125. multianno_tnseq_txt=annovar.multianno_tnseq_txt,
  126. sample=sample[0],
  127. cluster_config=cluster_config,
  128. disk_size=disk_size
  129. }
  130. }
  131. }
  132. }