Variant calling using Varscan somatic, processSomatic and somaticFilter based on BAM file.
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.

146 lines
4.1KB

  1. import "./tasks/somatic.wdl" as somatic
  2. import "./tasks/processSomatic.wdl" as processSomatic
  3. import "./tasks/somaticFilter.wdl" as somaticFilter
  4. import "./tasks/annovar.wdl" as annovar
  5. import "./tasks/vcf2maf.wdl" as vcf2maf
  6. workflow {{ project_name }} {
  7. String sample_id
  8. File normal_recaled_bam
  9. File tumor_recaled_bam
  10. File normal_recaled_bam_index
  11. File tumor_recaled_bam_index
  12. String varscan_docker
  13. String annovar_docker
  14. String maftools_docker
  15. String disk_size
  16. String cluster_config
  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. call somatic.somatic as somatic {
  26. input:
  27. sample=sample_id,
  28. normal_bam=normal_recaled_bam,
  29. tumor_bam=tumor_recaled_bam,
  30. normal_bam_index=normal_recaled_bam_index,
  31. tumor_bam_index=tumor_recaled_bam_index,
  32. ref_dir=ref_dir,
  33. fasta=fasta,
  34. docker=varscan_docker,
  35. disk_size=disk_size,
  36. cluster_config=cluster_config
  37. }
  38. call processSomatic.processSomatic as processSomatic {
  39. input:
  40. sample=sample_id,
  41. varscan_snp=somatic.varscan_snp,
  42. varscan_indel=somatic.varscan_indel,
  43. docker=varscan_docker,
  44. disk_size=disk_size,
  45. cluster_config=cluster_config
  46. }
  47. call somaticFilter.somaticFilter as somaticFilter {
  48. input:
  49. sample=sample_id,
  50. varscan_snp_somatic_hc=processSomatic.varscan_snp_somatic_hc,
  51. varscan_snp_germline_hc=processSomatic.varscan_snp_germline_hc,
  52. varscan_snp_loh_hc=processSomatic.varscan_snp_loh_hc,
  53. varscan_indel_somatic_hc=processSomatic.varscan_indel_somatic_hc,
  54. varscan_indel_germline_hc=processSomatic.varscan_indel_germline_hc,
  55. varscan_indel_loh_hc=processSomatic.varscan_indel_loh_hc,
  56. varscan_indel=somatic.varscan_indel,
  57. docker=varscan_docker,
  58. disk_size=disk_size,
  59. cluster_config=cluster_config
  60. }
  61. call annovar.annovar as snp_somatic_annovar {
  62. input:
  63. sample=sample_id,
  64. vcf=somaticFilter.varscan_snp_somatic_filter,
  65. database=database,
  66. docker=annovar_docker,
  67. cluster_config=cluster_config,
  68. disk_size=disk_size
  69. }
  70. call vcf2maf.vcf2maf as snp_somatic_vcf2maf {
  71. input:
  72. sample=sample_id,
  73. multianno_txt=snp_somatic_annovar.multianno_txt,
  74. docker=maftools_docker,
  75. cluster_config=cluster_config,
  76. disk_size=disk_size
  77. }
  78. call annovar.annovar as snp_loh_annovar {
  79. input:
  80. sample=sample_id,
  81. vcf=somaticFilter.varscan_snp_loh_filter,
  82. database=database,
  83. docker=annovar_docker,
  84. cluster_config=cluster_config,
  85. disk_size=disk_size
  86. }
  87. call vcf2maf.vcf2maf as snp_loh_vcf2maf {
  88. input:
  89. sample=sample_id,
  90. multianno_txt=snp_loh_annovar.multianno_txt,
  91. docker=maftools_docker,
  92. cluster_config=cluster_config,
  93. disk_size=disk_size
  94. }
  95. call annovar.annovar as indel_somatic_annovar {
  96. input:
  97. sample=sample_id,
  98. vcf=somaticFilter.varscan_indel_somatic_filter,
  99. database=database,
  100. docker=annovar_docker,
  101. cluster_config=cluster_config,
  102. disk_size=disk_size
  103. }
  104. call vcf2maf.vcf2maf as indel_somatic_vcf2maf {
  105. input:
  106. sample=sample_id,
  107. multianno_txt=indel_somatic_annovar.multianno_txt,
  108. docker=maftools_docker,
  109. cluster_config=cluster_config,
  110. disk_size=disk_size
  111. }
  112. call annovar.annovar as indel_loh_annovar {
  113. input:
  114. sample=sample_id,
  115. vcf=somaticFilter.varscan_indel_loh_filter,
  116. database=database,
  117. docker=annovar_docker,
  118. cluster_config=cluster_config,
  119. disk_size=disk_size
  120. }
  121. call vcf2maf.vcf2maf as indel_loh_vcf2maf {
  122. input:
  123. sample=sample_id,
  124. multianno_txt=indel_loh_annovar.multianno_txt,
  125. docker=maftools_docker,
  126. cluster_config=cluster_config,
  127. disk_size=disk_size
  128. }
  129. }