bcftools-merge is used to merge VCF files into a singe VCF.
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

146 行
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 inputponfile
  33. Array[Array[File]] bcf = read_tsv(inputponfile)
  34. call bcftools.bcftools as bcftools {
  35. input:
  36. PONmode=PONmode,
  37. pon_vcf=bcf,
  38. docker=bcftools_docker,
  39. disk_size=disk_size,
  40. cluster_config=cluster_config
  41. }
  42. scatter (sample in inputSamples) {
  43. call corealigner.corealigner as corealigner {
  44. input:
  45. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  46. SENTIEON_LICENSE=SENTIEON_LICENSE,
  47. fasta=fasta,
  48. ref_dir=ref_dir,
  49. sample=sample[0],
  50. docker=sentieon_docker,
  51. db_mills=db_mills,
  52. dbmills_dir=dbmills_dir,
  53. dbsnp=dbsnp,
  54. dbsnp_dir=dbsnp_dir,
  55. tumor_recaled_bam=sample[1],
  56. tumor_recaled_bam_index=sample[2],
  57. normal_recaled_bam=sample[3],
  58. normal_recaled_bam_index=sample[4],
  59. disk_size=disk_size,
  60. cluster_config=cluster_config
  61. }
  62. call TNseq.TNseq as TNseq {
  63. input:
  64. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  65. SENTIEON_LICENSE=SENTIEON_LICENSE,
  66. PONmode=PONmode,
  67. fasta=fasta,
  68. ref_dir=ref_dir,
  69. corealigner_bam=corealigner.corealigner_bam,
  70. corealigner_bam_index=corealigner.corealigner_bam_index,
  71. dbsnp=dbsnp,
  72. dbsnp_dir=dbsnp_dir,
  73. tumor_name=sample[0] + "_tumor",
  74. normal_name=sample[0] + "_normal",
  75. cosmic_vcf=cosmic_vcf,
  76. cosmic_dir=cosmic_dir,
  77. panel_of_normal_vcf = bcftools.panel_of_normal_vcf,
  78. docker=sentieon_docker,
  79. sample=sample[0],
  80. disk_size=disk_size,
  81. cluster_config=cluster_config
  82. }
  83. call TNscope.TNscope as TNscope {
  84. input:
  85. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  86. SENTIEON_LICENSE=SENTIEON_LICENSE,
  87. PONmode=PONmode,
  88. fasta=fasta,
  89. ref_dir=ref_dir,
  90. corealigner_bam=corealigner.corealigner_bam,
  91. corealigner_bam_index=corealigner.corealigner_bam_index,
  92. dbsnp=dbsnp,
  93. dbsnp_dir=dbsnp_dir,
  94. tumor_name=sample[0] + "_tumor",
  95. normal_name=sample[0] + "_normal",
  96. cosmic_vcf=cosmic_vcf,
  97. cosmic_dir=cosmic_dir,
  98. panel_of_normal_vcf = bcftools.panel_of_normal_vcf,
  99. docker=sentieon_docker,
  100. sample=sample[0],
  101. disk_size=disk_size,
  102. cluster_config=cluster_config
  103. }
  104. if (set_annovar){
  105. call annovar.annovar as annovar {
  106. input:
  107. docker=annovar_docker,
  108. database=database,
  109. tnscope_vcf_file=TNscope.TNscope_vcf,
  110. tnseq_vcf_file=TNseq.TNseq_vcf,
  111. sample=sample[0],
  112. cluster_config=cluster_config,
  113. disk_size=disk_size
  114. }
  115. }
  116. if (set_vcf2maf){
  117. call vcf2maf.vcf2maf as vcf2maf {
  118. input:
  119. docker=vcf2maf_r_docker,
  120. multianno_tnscope_txt=annovar.multianno_tnscope_txt,
  121. multianno_tnseq_txt=annovar.multianno_tnseq_txt,
  122. sample=sample[0],
  123. cluster_config=cluster_config,
  124. disk_size=disk_size
  125. }
  126. }
  127. }
  128. }