Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

workflow.wdl 6.4KB

5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
5 lat temu
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  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/Realigner.wdl" as Realigner
  6. import "./tasks/BQSR.wdl" as BQSR
  7. import "./tasks/corealigner.wdl" as corealigner
  8. import "./tasks/PON.wdl" as PON
  9. import "./tasks/TNseq.wdl" as TNseq
  10. import "./tasks/TNscope.wdl" as TNscope
  11. import "./tasks/annovar.wdl" as annovar
  12. import "./tasks/vcf2maf.wdl" as vcf2maf
  13. workflow {{ project_name }} {
  14. String sample
  15. File fastq_1
  16. File fastq_2
  17. File? normal_recaled_bam
  18. File? normal_recaled_bam_index
  19. String type
  20. String SENTIEON_INSTALL_DIR
  21. String SENTIEON_LICENSE
  22. String sentieon_docker
  23. String annovar_docker
  24. String vcf2maf_r_docker
  25. File ref_dir
  26. String fasta
  27. File dbmills_dir
  28. String db_mills
  29. File dbsnp_dir
  30. String dbsnp
  31. File regions
  32. String disk_size
  33. String cluster_config
  34. Boolean set_pon
  35. File? pon_vcf
  36. File? cosmic_dir
  37. String? cosmic_vcf
  38. Boolean set_annovar
  39. File? database
  40. Boolean set_vcf2maf
  41. call mapping.mapping as mapping {
  42. input:
  43. group=sample + '_' + type,
  44. sample=sample + '_' + type,
  45. fastq_1=fastq_1,
  46. fastq_2=fastq_2,
  47. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  48. SENTIEON_LICENSE=SENTIEON_LICENSE,
  49. pl="ILLUMINAL",
  50. fasta=fasta,
  51. ref_dir=ref_dir,
  52. docker=sentieon_docker,
  53. disk_size=disk_size,
  54. cluster_config=cluster_config
  55. }
  56. call Metrics.Metrics as Metrics {
  57. input:
  58. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  59. SENTIEON_LICENSE=SENTIEON_LICENSE,
  60. fasta=fasta,
  61. ref_dir=ref_dir,
  62. sorted_bam=mapping.sorted_bam,
  63. sorted_bam_index=mapping.sorted_bam_index,
  64. sample=sample + '_' + type,
  65. docker=sentieon_docker,
  66. disk_size=disk_size,
  67. cluster_config=cluster_config
  68. }
  69. call Dedup.Dedup as Dedup {
  70. input:
  71. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  72. SENTIEON_LICENSE=SENTIEON_LICENSE,
  73. sorted_bam=mapping.sorted_bam,
  74. sorted_bam_index=mapping.sorted_bam_index,
  75. sample=sample + '_' + type,
  76. docker=sentieon_docker,
  77. disk_size=disk_size,
  78. cluster_config=cluster_config
  79. }
  80. call deduped_Metrics.deduped_Metrics as deduped_Metrics {
  81. input:
  82. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  83. SENTIEON_LICENSE=SENTIEON_LICENSE,
  84. fasta=fasta,
  85. ref_dir=ref_dir,
  86. Dedup_bam=Dedup.Dedup_bam,
  87. Dedup_bam_index=Dedup.Dedup_bam_index,
  88. sample=sample + '_' + type,
  89. docker=sentieon_docker,
  90. disk_size=disk_size,
  91. cluster_config=cluster_config
  92. }
  93. call Realigner.Realigner as Realigner {
  94. input:
  95. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  96. SENTIEON_LICENSE=SENTIEON_LICENSE,
  97. fasta=fasta,
  98. ref_dir=ref_dir,
  99. Dedup_bam=Dedup.Dedup_bam,
  100. Dedup_bam_index=Dedup.Dedup_bam_index,
  101. db_mills=db_mills,
  102. dbmills_dir=dbmills_dir,
  103. sample=sample + '_' + type,
  104. docker=sentieon_docker,
  105. disk_size=disk_size,
  106. regions=regions,
  107. cluster_config=cluster_config
  108. }
  109. call BQSR.BQSR as BQSR {
  110. input:
  111. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  112. SENTIEON_LICENSE=SENTIEON_LICENSE,
  113. fasta=fasta,
  114. ref_dir=ref_dir,
  115. realigned_bam=Realigner.realigner_bam,
  116. realigned_bam_index=Realigner.realigner_bam_index,
  117. db_mills=db_mills,
  118. dbmills_dir=dbmills_dir,
  119. dbsnp=dbsnp,
  120. dbsnp_dir=dbsnp_dir,
  121. sample=sample + '_' + type,
  122. regions=regions,
  123. docker=sentieon_docker,
  124. disk_size=disk_size,
  125. cluster_config=cluster_config
  126. }
  127. if (set_pon && type == "normal") {
  128. call PON.PON as PON {
  129. input:
  130. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  131. SENTIEON_LICENSE=SENTIEON_LICENSE,
  132. sample=sample,
  133. fasta=fasta,
  134. ref_dir=ref_dir,
  135. normal_recaled_bam=BQSR.recaled_bam,
  136. normal_recaled_bam_index=BQSR.recaled_bam_index,
  137. cosmic_vcf=cosmic_vcf,
  138. cosmic_dir=cosmic_dir,
  139. dbsnp=dbsnp,
  140. dbsnp_dir=dbsnp_dir,
  141. docker=sentieon_docker,
  142. disk_size=disk_size,
  143. cluster_config=cluster_config
  144. }
  145. }
  146. if (type == "tumor" && defined(normal_recaled_bam)) {
  147. call corealigner.corealigner as corealigner {
  148. input:
  149. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  150. SENTIEON_LICENSE=SENTIEON_LICENSE,
  151. fasta=fasta,
  152. ref_dir=ref_dir,
  153. sample=sample,
  154. docker=sentieon_docker,
  155. db_mills=db_mills,
  156. dbmills_dir=dbmills_dir,
  157. dbsnp=dbsnp,
  158. dbsnp_dir=dbsnp_dir,
  159. tumor_recaled_bam=BQSR.recaled_bam,
  160. tumor_recaled_bam_index=BQSR.recaled_bam_index,
  161. normal_recaled_bam=normal_recaled_bam,
  162. normal_recaled_bam_index=normal_recaled_bam_index,
  163. disk_size=disk_size,
  164. cluster_config=cluster_config
  165. }
  166. }
  167. call TNseq.TNseq as TNseq {
  168. input:
  169. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  170. SENTIEON_LICENSE=SENTIEON_LICENSE,
  171. fasta=fasta,
  172. ref_dir=ref_dir,
  173. corealigner_bam=corealigner.corealigner_bam,
  174. corealigner_bam_index=corealigner.corealigner_bam_index,
  175. tumor_recaled_bam=BQSR.recaled_bam,
  176. tumor_recaled_bam_index=BQSR.recaled_bam_index,
  177. dbsnp=dbsnp,
  178. dbsnp_dir=dbsnp_dir,
  179. set_pon=set_pon,
  180. pon_vcf=pon_vcf,
  181. cosmic_vcf=cosmic_vcf,
  182. cosmic_dir=cosmic_dir,
  183. tumor_name=sample + "_tumor",
  184. normal_name=sample + "_normal",
  185. docker=sentieon_docker,
  186. sample=sample,
  187. disk_size=disk_size,
  188. cluster_config=cluster_config
  189. }
  190. call TNscope.TNscope as TNscope {
  191. input:
  192. SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
  193. SENTIEON_LICENSE=SENTIEON_LICENSE,
  194. fasta=fasta,
  195. ref_dir=ref_dir,
  196. corealigner_bam=corealigner.corealigner_bam,
  197. corealigner_bam_index=corealigner.corealigner_bam_index,
  198. tumor_recaled_bam=BQSR.recaled_bam,
  199. tumor_recaled_bam_index=BQSR.recaled_bam_index,
  200. dbsnp=dbsnp,
  201. dbsnp_dir=dbsnp_dir,
  202. set_pon=set_pon,
  203. pon_vcf=pon_vcf,
  204. cosmic_vcf=cosmic_vcf,
  205. cosmic_dir=cosmic_dir,
  206. tumor_name=sample + "_tumor",
  207. normal_name=sample + "_normal",
  208. docker=sentieon_docker,
  209. sample=sample,
  210. disk_size=disk_size,
  211. cluster_config=cluster_config
  212. }
  213. if (set_annovar && defined(TNscope.TNscope_vcf) && defined(TNseq.TNseq_vcf)){
  214. call annovar.annovar as annovar {
  215. input:
  216. docker=annovar_docker,
  217. database=database,
  218. tnscope_vcf_file=TNscope.TNscope_vcf,
  219. tnseq_vcf_file=TNseq.TNseq_vcf,
  220. sample=sample,
  221. cluster_config=cluster_config,
  222. disk_size=disk_size
  223. }
  224. if (set_vcf2maf){
  225. call vcf2maf.vcf2maf as vcf2maf {
  226. input:
  227. docker=vcf2maf_r_docker,
  228. multianno_tnscope_txt=annovar.multianno_tnscope_txt,
  229. multianno_tnseq_txt=annovar.multianno_tnseq_txt,
  230. sample=sample,
  231. cluster_config=cluster_config,
  232. disk_size=disk_size
  233. }
  234. }
  235. }
  236. }