Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

205 Zeilen
5.2KB

  1. import "./tasks/fastp.wdl" as fastp
  2. import "./tasks/hisat2.wdl" as hisat2
  3. import "./tasks/samtools.wdl" as samtools
  4. import "./tasks/stringtie.wdl" as stringtie
  5. import "./tasks/fastqc.wdl" as fastqc
  6. import "./tasks/fastqscreen.wdl" as fastqscreen
  7. import "./tasks/qualimapBAMqc.wdl" as qualimapBAMqc
  8. import "./tasks/qualimapRNAseq.wdl" as qualimapRNAseq
  9. import "./tasks/ballgown.wdl" as ballgown
  10. import "./tasks/count.wdl" as count
  11. workflow {{ project_name }} {
  12. File read1
  13. File read2
  14. File idx
  15. File screen_ref_dir
  16. File fastq_screen_conf
  17. File gtf
  18. String sample_id
  19. String fastp_docker
  20. String adapter_sequence
  21. String adapter_sequence_r2
  22. String fastp_cluster
  23. String umi_loc
  24. String idx_prefix
  25. String pen_intronlen
  26. String fastqc_cluster_config
  27. String fastqc_docker
  28. String fastqscreen_docker
  29. String fastqscreen_cluster_config
  30. String hisat2_docker
  31. String hisat2_cluster
  32. String qualimapBAMqc_docker
  33. String qualimapBAMqc_cluster_config
  34. String qualimapRNAseq_docker
  35. String qualimapRNAseq_cluster_config
  36. String samtools_docker
  37. String samtools_cluster
  38. String stringtie_docker
  39. String stringtie_cluster
  40. String multiqc_cluster_config
  41. String multiqc_docker
  42. Int multiqc_disk_size
  43. Int trim_front1
  44. Int trim_tail1
  45. Int max_len1
  46. Int trim_front2
  47. Int trim_tail2
  48. Int max_len2
  49. Int disable_adapter_trimming
  50. Int length_required
  51. Int umi_len
  52. Int UMI
  53. Int qualified_quality_phred
  54. Int length_required1
  55. Int disable_quality_filtering
  56. Int pen_cansplice
  57. Int pen_noncansplice
  58. Int min_intronlen
  59. Int max_intronlen
  60. Int maxins
  61. Int minins
  62. Int fastqc_disk_size
  63. Int fastqscreen_disk_size
  64. Int qualimapBAMqc_disk_size
  65. Int qualimapRNAseq_disk_size
  66. Int insert_size
  67. Int minimum_length_allowed_for_the_predicted_transcripts
  68. Int Junctions_no_spliced_reads
  69. Int count_length
  70. Float minimum_isoform_abundance
  71. Float maximum_fraction_of_muliplelocationmapped_reads
  72. String ballgown_docker
  73. String ballgown_cluster
  74. String disk_size
  75. String count_docker
  76. String count_cluster
  77. call fastp.fastp as fastp {
  78. input:
  79. sample_id=sample_id,
  80. read1 = read1,
  81. read2 = read2,
  82. docker = fastp_docker,
  83. cluster = fastp_cluster,
  84. disk_size = disk_size,
  85. adapter_sequence = adapter_sequence,
  86. adapter_sequence_r2 = adapter_sequence_r2,
  87. umi_loc = umi_loc,
  88. trim_front1 = trim_front1,
  89. trim_tail1 = trim_tail1,
  90. max_len1 = max_len1,
  91. trim_front2 = trim_front2,
  92. trim_tail2 = trim_tail2,
  93. max_len2 = max_len2,
  94. disable_adapter_trimming = disable_adapter_trimming,
  95. length_required = length_required,
  96. umi_len = umi_len,
  97. UMI = UMI,
  98. qualified_quality_phred = qualified_quality_phred,
  99. length_required1 = length_required1,
  100. disable_quality_filtering = disable_quality_filtering
  101. }
  102. call fastqc.fastqc as fastqc {
  103. input:
  104. read1 = fastp.Trim_R1,
  105. read2 = fastp.Trim_R2,
  106. docker = fastqc_docker,
  107. cluster_config = fastqc_cluster_config,
  108. disk_size = fastqc_disk_size
  109. }
  110. call fastqscreen.fastq_screen as fastqscreen {
  111. input:
  112. read1 = fastp.Trim_R1,
  113. read2 = fastp.Trim_R2,
  114. screen_ref_dir = screen_ref_dir,
  115. fastq_screen_conf = fastq_screen_conf,
  116. docker = fastqscreen_docker,
  117. cluster_config = fastqscreen_cluster_config,
  118. disk_size = fastqscreen_disk_size
  119. }
  120. call hisat2.hisat2 as hisat2 {
  121. input:
  122. sample_id = sample_id,
  123. idx = idx,
  124. idx_prefix = idx_prefix,
  125. Trim_R1 = fastp.Trim_R1,
  126. Trim_R2 = fastp.Trim_R2,
  127. docker = hisat2_docker,
  128. cluster = hisat2_cluster,
  129. disk_size = disk_size,
  130. pen_intronlen = pen_intronlen,
  131. pen_cansplice = pen_cansplice,
  132. pen_noncansplice = pen_noncansplice,
  133. min_intronlen = min_intronlen,
  134. max_intronlen = max_intronlen,
  135. maxins = maxins,
  136. minins = minins
  137. }
  138. call samtools.samtools as samtools {
  139. input:
  140. sample_id = sample_id,
  141. sam = hisat2.sam,
  142. docker = samtools_docker,
  143. cluster = samtools_cluster,
  144. disk_size = disk_size,
  145. insert_size = insert_size
  146. }
  147. call qualimapBAMqc.qualimapBAMqc as qualimapBAMqc {
  148. input:
  149. bam = samtools.out_percent,
  150. docker = qualimapBAMqc_docker,
  151. cluster_config = qualimapBAMqc_cluster_config,
  152. disk_size = qualimapBAMqc_disk_size
  153. }
  154. call qualimapRNAseq.qualimapRNAseq as qualimapRNAseq {
  155. input:
  156. bam = samtools.out_percent,
  157. docker = qualimapRNAseq_docker,
  158. cluster_config = qualimapRNAseq_cluster_config,
  159. disk_size = qualimapRNAseq_disk_size,
  160. gtf = gtf
  161. }
  162. call stringtie.stringtie as stringtie {
  163. input:
  164. sample_id = sample_id,
  165. gtf = gtf,
  166. bam = samtools.out_bam,
  167. docker = stringtie_docker,
  168. cluster = stringtie_cluster,
  169. disk_size = disk_size,
  170. minimum_length_allowed_for_the_predicted_transcripts = minimum_length_allowed_for_the_predicted_transcripts,
  171. Junctions_no_spliced_reads = Junctions_no_spliced_reads,
  172. minimum_isoform_abundance = minimum_isoform_abundance,
  173. maximum_fraction_of_muliplelocationmapped_reads = maximum_fraction_of_muliplelocationmapped_reads
  174. }
  175. call ballgown.ballgown as ballgown {
  176. input:
  177. sample_id = sample_id,
  178. docker = ballgown_docker,
  179. cluster = ballgown_cluster,
  180. ballgown = stringtie.ballgown,
  181. gene_abundance = stringtie.gene_abundance,
  182. disk_size = disk_size
  183. }
  184. call count.count as count {
  185. input:
  186. sample_id = sample_id,
  187. docker = count_docker,
  188. cluster = count_cluster,
  189. ballgown = stringtie.ballgown,
  190. disk_size = disk_size,
  191. count_length = count_length
  192. }
  193. }