選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

workflow.wdl 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. import "./tasks/fastqc.wdl" as fastqc
  2. import "./tasks/fastqscreen.wdl" as fastqscreen
  3. import "./tasks/fastp.wdl" as fastp
  4. import "./tasks/qualimap.wdl" as qualimap
  5. import "./tasks/hisat2.wdl" as hisat2
  6. import "./tasks/samtools.wdl" as samtools
  7. import "./tasks/stringtie.wdl" as stringtie
  8. import "./tasks/ballgown.wdl" as ballgown
  9. import "./tasks/count.wdl" as count
  10. workflow {{ project_name }} {
  11. File read1
  12. File read2
  13. File idx
  14. File screen_ref_dir
  15. File fastq_screen_conf
  16. File gtf
  17. String disk_size
  18. String fastqc_docker
  19. String fastqc_cluster
  20. String fastqscreen_docker
  21. String fastqscreen_cluster
  22. String fastp_docker
  23. String fastp_cluster
  24. String adapter_sequence
  25. String adapter_sequence_r2
  26. String umi_loc
  27. String hisat2_docker
  28. String hisat2_cluster
  29. String idx_prefix
  30. String stringtie_docker
  31. String stringtie_cluster
  32. String samtools_docker
  33. String samtools_cluster
  34. String qualimap_docker
  35. String qualimap_cluster
  36. String ballgown_docker
  37. String ballgown_cluster
  38. String count_docker
  39. String count_cluster
  40. String count_length
  41. String sample_id
  42. Int trim_front1
  43. Int trim_tail1
  44. Int max_len1
  45. Int trim_front2
  46. Int trim_tail2
  47. Int max_len2
  48. Int disable_adapter_trimming
  49. Int length_required
  50. Int umi_len
  51. Int qualified_quality_phred
  52. Int length_required1
  53. Int insert_size
  54. Boolean pre_alignment_qc
  55. Boolean qualimap_qc
  56. Boolean trim_adapter
  57. if (pre_alignment_qc) {
  58. call fastqc.fastqc as fastqc {
  59. input:
  60. read1=read1,
  61. read2=read2,
  62. docker=fastqc_docker,
  63. cluster=fastqc_cluster,
  64. disk_size=disk_size
  65. }
  66. call fastqscreen.fastqscreen as fastqscreen {
  67. input:
  68. read1=read1,
  69. read2=read2,
  70. docker=fastqscreen_docker,
  71. cluster=fastqscreen_cluster,
  72. screen_ref_dir=screen_ref_dir,
  73. fastq_screen_conf=fastq_screen_conf,
  74. disk_size=disk_size
  75. }
  76. }
  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. qualified_quality_phred=qualified_quality_phred,
  98. length_required1=length_required1,
  99. trim_adapter=trim_adapter
  100. }
  101. call hisat2.hisat2 as hisat2 {
  102. input:
  103. sample_id=sample_id,
  104. docker=hisat2_docker,
  105. cluster=hisat2_cluster,
  106. idx=idx,
  107. idx_prefix=idx_prefix,
  108. read_1P=fastp.trim_R1,
  109. read_2P=fastp.trim_R2,
  110. disk_size=disk_size
  111. }
  112. call samtools.samtools as samtools {
  113. input:
  114. docker=samtools_docker,
  115. cluster=samtools_cluster,
  116. sam=hisat2.sam,
  117. insert_size=insert_size,
  118. disk_size=disk_size
  119. }
  120. if (qualimap_qc){
  121. call qualimap.qualimap as qualimap {
  122. input:
  123. bam=samtools.out_sort_bam,
  124. gtf=gtf,
  125. docker=qualimap_docker,
  126. cluster=qualimap_cluster,
  127. disk_size=disk_size
  128. }
  129. }
  130. call stringtie.stringtie as stringtie {
  131. input:
  132. docker=stringtie_docker,
  133. cluster=stringtie_cluster,
  134. gtf=gtf,
  135. bam=samtools.out_sort_bam,
  136. disk_size=disk_size
  137. }
  138. call ballgown.ballgown as ballgown {
  139. input:
  140. docker=ballgown_docker,
  141. cluster=ballgown_cluster,
  142. ballgown=stringtie.ballgown,
  143. gene_abundance=stringtie.gene_abundance,
  144. disk_size=disk_size
  145. }
  146. call count.count as count {
  147. input:
  148. sample_id=sample_id,
  149. docker=count_docker,
  150. cluster=count_cluster,
  151. ballgown=stringtie.ballgown,
  152. disk_size=disk_size,
  153. count_length=count_length
  154. }
  155. }