Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

220 rindas
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. dbsnp=dbsnp,
  81. dbsnp_dir=dbsnp_dir,
  82. regions=regions,
  83. interval_padding=interval_padding,
  84. germline_resource=germline_resource,
  85. germline_resource_tbi=germline_resource_tbi,
  86. docker=sentieon_docker,
  87. cluster_config=cluster_16cpu_32gb,
  88. disk_size=disk_size
  89. }
  90. call bcftools.bcftools as TNseq_bcftools {
  91. input:
  92. vcf=TNseq.vcf,
  93. fasta=fasta,
  94. ref_dir=ref_dir,
  95. docker=bcftools_docker,
  96. cluster_config=cluster_2cpu_4gb,
  97. disk_size=disk_size
  98. }
  99. call ANNOVAR.ANNOVAR as TNseq_ANNOVAR {
  100. input:
  101. vcf=TNseq_bcftools.norm_vcf,
  102. annovar_database=annovar_database,
  103. docker=annovar_docker,
  104. cluster_config=cluster_16cpu_32gb,
  105. disk_size=disk_size
  106. }
  107. if (multi_caller){
  108. call somatic.somatic as somatic {
  109. input:
  110. sample=sample_id,
  111. normal_bam=normal_bam,
  112. normal_bam_index=normal_bam_index,
  113. tumor_bam=tumor_bam,
  114. tumor_bam_index=tumor_bam_index,
  115. ref_dir=ref_dir,
  116. fasta=fasta,
  117. docker=varscan_docker,
  118. disk_size=disk_size,
  119. cluster_config=cluster_16cpu_32gb
  120. }
  121. call processSomatic.processSomatic as processSomatic {
  122. input:
  123. sample=sample_id,
  124. varscan_snp=somatic.varscan_snp,
  125. varscan_indel=somatic.varscan_indel,
  126. docker=varscan_docker,
  127. disk_size=disk_size,
  128. cluster_config=cluster_16cpu_32gb
  129. }
  130. call somaticFilter.somaticFilter as somaticFilter {
  131. input:
  132. sample=sample_id,
  133. varscan_snp_somatic_hc=processSomatic.varscan_snp_somatic_hc,
  134. varscan_snp_germline_hc=processSomatic.varscan_snp_germline_hc,
  135. varscan_snp_loh_hc=processSomatic.varscan_snp_loh_hc,
  136. varscan_indel_somatic_hc=processSomatic.varscan_indel_somatic_hc,
  137. varscan_indel_germline_hc=processSomatic.varscan_indel_germline_hc,
  138. varscan_indel_loh_hc=processSomatic.varscan_indel_loh_hc,
  139. varscan_indel=somatic.varscan_indel,
  140. docker=varscan_docker,
  141. disk_size=disk_size,
  142. cluster_config=cluster_16cpu_32gb
  143. }
  144. call bcftools.bcftools as VarScan_bcftools {
  145. input:
  146. vcf=somaticFilter.varscan_somatic_filter,
  147. fasta=fasta,
  148. ref_dir=ref_dir,
  149. docker=bcftools_docker,
  150. cluster_config=cluster_2cpu_4gb,
  151. disk_size=disk_size
  152. }
  153. call ANNOVAR.ANNOVAR as VarScan_ANNOVAR {
  154. input:
  155. vcf=VarScan_bcftools.norm_vcf,
  156. annovar_database=annovar_database,
  157. docker=annovar_docker,
  158. cluster_config=cluster_16cpu_32gb,
  159. disk_size=disk_size
  160. }
  161. call TNscope.TNscope as TNscope {
  162. input:
  163. SENTIEON_LICENSE=SENTIEON_LICENSE,
  164. sample=sample_id,
  165. normal_recaled_bam=normal_bam,
  166. normal_recaled_bam_index=normal_bam_index,
  167. tumor_recaled_bam=tumor_bam,
  168. tumor_recaled_bam_index=tumor_bam_index,
  169. normal_name=sample_id + ".N",
  170. tumor_name=sample_id + ".T",
  171. fasta=fasta,
  172. ref_dir=ref_dir,
  173. regions=regions,
  174. interval_padding=interval_padding,
  175. dbsnp=dbsnp,
  176. dbsnp_dir=dbsnp_dir,
  177. docker=sentieon_docker,
  178. cluster_config=cluster_16cpu_32gb,
  179. disk_size=disk_size
  180. }
  181. call bcftools.bcftools as TNscope_bcftools {
  182. input:
  183. vcf=TNscope.TNscope_vcf,
  184. fasta=fasta,
  185. ref_dir=ref_dir,
  186. docker=bcftools_docker,
  187. cluster_config=cluster_2cpu_4gb,
  188. disk_size=disk_size
  189. }
  190. call ANNOVAR.ANNOVAR as TNscope_ANNOVAR {
  191. input:
  192. vcf=TNscope_bcftools.norm_vcf,
  193. annovar_database=annovar_database,
  194. docker=annovar_docker,
  195. cluster_config=cluster_16cpu_32gb,
  196. disk_size=disk_size
  197. }
  198. }
  199. }