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.

218 line
5.7KB

  1. import "./tasks/mapping.wdl" as mapping
  2. import "./tasks/Metrics.wdl" as Metrics
  3. import "./tasks/Dedup.wdl" as Dedup
  4. import "./tasks/deduped_Metrics.wdl" as deduped_Metrics
  5. import "./tasks/BQSR.wdl" as BQSR
  6. import "./tasks/Haplotyper.wdl" as Haplotyper
  7. import "./tasks/TNseq.wdl" as TNseq
  8. import "./tasks/bcftools.wdl" as bcftools
  9. import "./tasks/ANNOVAR.wdl" as ANNOVAR
  10. import "./tasks/Manta.wdl" as Manta
  11. import "./tasks/AnnotSV.wdl" as AnnotSV
  12. import "./tasks/CNVkit.wdl" as CNVkit
  13. import "./tasks/MSIsensor.wdl" as MSIsensor
  14. import "./tasks/HRD.wdl" as HRD
  15. import "./tasks/TMB.wdl" as TMB
  16. import "./tasks/fastqc.wdl" as fastqc
  17. import "./tasks/fastqscreen.wdl" as fastqscreen
  18. import "./tasks/qualimap.wdl" as qualimap
  19. import "./tasks/TNscope.wdl" as TNscope
  20. import "./tasks/somatic.wdl" as somatic
  21. import "./tasks/processSomatic.wdl" as processSomatic
  22. import "./tasks/somaticFilter.wdl" as somaticFilter
  23. workflow {{ project_name }} {
  24. String sample_id
  25. File? tumor_bam
  26. File? tumor_bam_index
  27. File? normal_bam
  28. File? normal_bam_index
  29. String? duplex_umi
  30. String? read_structure
  31. String SENTIEON_LICENSE
  32. String sentieon_docker
  33. String manta_docker
  34. String bcftools_docker
  35. String annovar_docker
  36. String annotsv_docker
  37. String cnvkit_docker
  38. String sequenza_docker
  39. String msisensor_docker
  40. String tmb_docker
  41. String platform
  42. File ref_dir
  43. String fasta
  44. File dbmills_dir
  45. String db_mills
  46. File dbsnp_dir
  47. String dbsnp
  48. File germline_resource
  49. File germline_resource_tbi
  50. File annovar_database
  51. File annotsv_database
  52. File gc
  53. File baseline
  54. File ref_flat
  55. File? regions
  56. Int? interval_padding
  57. String disk_size
  58. String cluster_2cpu_4gb
  59. String cluster_16cpu_32gb
  60. Boolean qc
  61. String fastqc_docker
  62. String fastqscreen_docker
  63. String qualimap_docker
  64. File screen_ref_dir
  65. File fastq_screen_conf
  66. Boolean multi_caller
  67. String varscan_docker
  68. call TNseq.TNseq as TNseq {
  69. input:
  70. SENTIEON_LICENSE=SENTIEON_LICENSE,
  71. sample=sample_id,
  72. normal_bam=normal_bam,
  73. normal_bam_index=normal_bam_index,
  74. tumor_bam=tumor_bam,
  75. tumor_bam_index=tumor_bam_index,
  76. normal_name=sample_id + ".N",
  77. tumor_name=sample_id + ".T",
  78. fasta=fasta,
  79. ref_dir=ref_dir,
  80. regions=regions,
  81. interval_padding=interval_padding,
  82. germline_resource=germline_resource,
  83. germline_resource_tbi=germline_resource_tbi,
  84. docker=sentieon_docker,
  85. cluster_config=cluster_16cpu_32gb,
  86. disk_size=disk_size
  87. }
  88. call bcftools.bcftools as TNseq_bcftools {
  89. input:
  90. vcf=TNseq.vcf,
  91. fasta=fasta,
  92. ref_dir=ref_dir,
  93. docker=bcftools_docker,
  94. cluster_config=cluster_2cpu_4gb,
  95. disk_size=disk_size
  96. }
  97. call ANNOVAR.ANNOVAR as TNseq_ANNOVAR {
  98. input:
  99. vcf=TNseq_bcftools.norm_vcf,
  100. annovar_database=annovar_database,
  101. docker=annovar_docker,
  102. cluster_config=cluster_16cpu_32gb,
  103. disk_size=disk_size
  104. }
  105. if (multi_caller){
  106. call somatic.somatic as somatic {
  107. input:
  108. sample=sample_id,
  109. normal_bam=normal_bam,
  110. normal_bam_index=normal_bam_index,
  111. tumor_bam=tumor_bam,
  112. tumor_bam_index=tumor_bam_index,
  113. ref_dir=ref_dir,
  114. fasta=fasta,
  115. docker=varscan_docker,
  116. disk_size=disk_size,
  117. cluster_config=cluster_16cpu_32gb
  118. }
  119. call processSomatic.processSomatic as processSomatic {
  120. input:
  121. sample=sample_id,
  122. varscan_snp=somatic.varscan_snp,
  123. varscan_indel=somatic.varscan_indel,
  124. docker=varscan_docker,
  125. disk_size=disk_size,
  126. cluster_config=cluster_16cpu_32gb
  127. }
  128. call somaticFilter.somaticFilter as somaticFilter {
  129. input:
  130. sample=sample_id,
  131. varscan_snp_somatic_hc=processSomatic.varscan_snp_somatic_hc,
  132. varscan_snp_germline_hc=processSomatic.varscan_snp_germline_hc,
  133. varscan_snp_loh_hc=processSomatic.varscan_snp_loh_hc,
  134. varscan_indel_somatic_hc=processSomatic.varscan_indel_somatic_hc,
  135. varscan_indel_germline_hc=processSomatic.varscan_indel_germline_hc,
  136. varscan_indel_loh_hc=processSomatic.varscan_indel_loh_hc,
  137. varscan_indel=somatic.varscan_indel,
  138. docker=varscan_docker,
  139. disk_size=disk_size,
  140. cluster_config=cluster_16cpu_32gb
  141. }
  142. call bcftools.bcftools as VarScan_bcftools {
  143. input:
  144. vcf=somaticFilter.varscan_somatic_filter,
  145. fasta=fasta,
  146. ref_dir=ref_dir,
  147. docker=bcftools_docker,
  148. cluster_config=cluster_2cpu_4gb,
  149. disk_size=disk_size
  150. }
  151. call ANNOVAR.ANNOVAR as VarScan_ANNOVAR {
  152. input:
  153. vcf=VarScan_bcftools.norm_vcf,
  154. annovar_database=annovar_database,
  155. docker=annovar_docker,
  156. cluster_config=cluster_16cpu_32gb,
  157. disk_size=disk_size
  158. }
  159. call TNscope.TNscope as TNscope {
  160. input:
  161. SENTIEON_LICENSE=SENTIEON_LICENSE,
  162. sample=sample_id,
  163. normal_recaled_bam=normal_bam,
  164. normal_recaled_bam_index=normal_bam_index,
  165. tumor_recaled_bam=tumor_bam,
  166. tumor_recaled_bam_index=tumor_bam_index,
  167. normal_name=sample_id + ".N",
  168. tumor_name=sample_id + ".T",
  169. fasta=fasta,
  170. ref_dir=ref_dir,
  171. regions=regions,
  172. interval_padding=interval_padding,
  173. dbsnp=dbsnp,
  174. dbsnp_dir=dbsnp_dir,
  175. docker=sentieon_docker,
  176. cluster_config=cluster_16cpu_32gb,
  177. disk_size=disk_size
  178. }
  179. call bcftools.bcftools as TNscope_bcftools {
  180. input:
  181. vcf=TNscope.TNscope_vcf,
  182. fasta=fasta,
  183. ref_dir=ref_dir,
  184. docker=bcftools_docker,
  185. cluster_config=cluster_2cpu_4gb,
  186. disk_size=disk_size
  187. }
  188. call ANNOVAR.ANNOVAR as TNscope_ANNOVAR {
  189. input:
  190. vcf=TNscope_bcftools.norm_vcf,
  191. annovar_database=annovar_database,
  192. docker=annovar_docker,
  193. cluster_config=cluster_16cpu_32gb,
  194. disk_size=disk_size
  195. }
  196. }
  197. }