Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

147 lines
3.3KB

  1. import "./tasks/BQSR.wdl" as Sentieon_BQSR
  2. import "./tasks/TNseq.wdl" as TNseq
  3. import "./tasks/TNscope.wdl" as TNscope
  4. import "./tasks/manta.wdl" as manta_calling
  5. import "./tasks/strelka.wdl" as strelka_calling
  6. import "./tasks/bcftools.wdl" as bcftools
  7. import "./tasks/bcftools_concat.wdl" as bcftools_concat
  8. import "./tasks/annovar.wdl" as annovar
  9. import "./tasks/Haplotyper.wdl" as Haplotyper
  10. import "./tasks/MSIsensor.wdl" as MSIsensor
  11. import "./tasks/tmb.wdl" as tmb
  12. workflow {{ project_name }} {
  13. #sample info
  14. File? normal_deduped_bam
  15. File? normal_deduped_bam_bai
  16. File? tumor_deduped_bam
  17. File? tumor_deduped_bam_bai
  18. String sample_id
  19. String Seq_platform
  20. #reference fasta
  21. String ref_fasta
  22. File ref_fasta_dir
  23. File annot_gff
  24. File dbsnp_dir
  25. File dbmills_dir
  26. String dbsnp
  27. String db_mills
  28. File germline_resource
  29. File germline_resource_tbi
  30. File annovar_database
  31. File? regions
  32. File baseline
  33. File hg38_CDS
  34. File tumor_recal_table
  35. File normal_recal_table
  36. #docker
  37. String docker_fastp
  38. String docker_sentieon
  39. String SENTIEON_LICENSE
  40. String docker_qualimap
  41. String docker_manta
  42. String docker_strelka
  43. String docker_bcftools
  44. String docker_annovar
  45. String docker_tmb
  46. String docker_MSIsensor
  47. #config
  48. String cluster_config
  49. String disk_size
  50. Boolean? fastqc
  51. Boolean bamqc
  52. Boolean Annovar
  53. Boolean AF_filter
  54. call TNscope.sentieon_TNscope as sentieon_TNscope{
  55. input:
  56. sample_id = sample_id,
  57. tumor_bam = tumor_deduped_bam,
  58. tumor_bam_bai = tumor_deduped_bam_bai,
  59. normal_bam = normal_deduped_bam,
  60. normal_bam_bai = normal_deduped_bam_bai,
  61. tumor_name = sample_id+'_T',
  62. normal_name = sample_id+'_N',
  63. tumor_recall_data = tumor_recal_table,
  64. normal_recall_data = normal_recal_table,
  65. ref_dir = ref_fasta_dir,
  66. ref_fasta = ref_fasta,
  67. dbsnp_dir = dbsnp_dir,
  68. dbsnp = dbsnp,
  69. # excute env
  70. docker = docker_sentieon,
  71. cluster_config = cluster_config,
  72. disk_size = disk_size,
  73. SENTIEON_LICENSE = SENTIEON_LICENSE
  74. }
  75. call bcftools.bcftools as TNscope_bcftools {
  76. input:
  77. vcf=sentieon_TNscope.vcf,
  78. fasta=ref_fasta,
  79. ref_dir=ref_fasta_dir,
  80. docker=docker_bcftools,
  81. cluster_config=cluster_config,
  82. disk_size=disk_size
  83. }
  84. call strelka_calling.strelka_calling as strelka_calling{
  85. input:
  86. tumor_bam = tumor_deduped_bam,
  87. tumor_bam_bai = tumor_deduped_bam_bai,
  88. normal_bam = normal_deduped_bam,
  89. normal_bam_bai = normal_deduped_bam_bai,
  90. ref_fasta = ref_fasta,
  91. ref_dir = ref_fasta_dir,
  92. sample_id = sample_id,
  93. docker=docker_strelka,
  94. cluster_config=cluster_config,
  95. disk_size=disk_size
  96. }
  97. call bcftools_concat.bcftools as bcftools_concat{
  98. input:
  99. ref_dir=ref_fasta_dir,
  100. fasta=ref_fasta,
  101. vcf_indels=strelka_calling.indel_vcf,
  102. vcf_snvs=strelka_calling.snv_vcf,
  103. sample_id=sample_id,
  104. docker=docker_bcftools,
  105. cluster_config=cluster_config,
  106. disk_size=disk_size
  107. }
  108. call bcftools.bcftools as strelka_bcftools {
  109. input:
  110. vcf=bcftools_concat.concat_vcf,
  111. fasta=ref_fasta,
  112. ref_dir=ref_fasta_dir,
  113. docker=docker_bcftools,
  114. cluster_config=cluster_config,
  115. disk_size=disk_size
  116. }
  117. if (Annovar){
  118. call annovar.ANNOVAR as TNscope_ANNOVAR {
  119. input:
  120. vcf=TNscope_bcftools.norm_vcf,
  121. annovar_database=annovar_database,
  122. docker=docker_annovar,
  123. cluster_config=cluster_config,
  124. disk_size=disk_size
  125. }
  126. }
  127. }