您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

142 行
3.1KB

  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 hisat2_docker
  27. String hisat2_cluster
  28. String idx_prefix
  29. String stringtie_docker
  30. String stringtie_cluster
  31. String samtools_docker
  32. String samtools_cluster
  33. String qualimap_docker
  34. String qualimap_cluster
  35. String ballgown_docker
  36. String ballgown_cluster
  37. String count_docker
  38. String count_cluster
  39. String count_length
  40. String sample_id
  41. Int insert_size
  42. Boolean pre_alignment_qc
  43. Boolean qualimap_qc
  44. Boolean trim_adapter
  45. if (pre_alignment_qc) {
  46. call fastqc.fastqc as fastqc {
  47. input:
  48. read1=read1,
  49. read2=read2,
  50. docker=fastqc_docker,
  51. cluster=fastqc_cluster,
  52. disk_size=disk_size
  53. }
  54. call fastqscreen.fastqscreen as fastqscreen {
  55. input:
  56. read1=read1,
  57. read2=read2,
  58. docker=fastqscreen_docker,
  59. cluster=fastqscreen_cluster,
  60. screen_ref_dir=screen_ref_dir,
  61. fastq_screen_conf=fastq_screen_conf,
  62. disk_size=disk_size
  63. }
  64. }
  65. call fastp.fastp as fastp {
  66. input:
  67. read1=read1,
  68. read2=read2,
  69. docker=fastp_docker,
  70. cluster=fastp_cluster,
  71. disk_size=disk_size,
  72. adapter_sequence=adapter_sequence,
  73. adapter_sequence_r2=adapter_sequence_r2,
  74. trim_adapter=trim_adapter
  75. }
  76. call hisat2.hisat2 as hisat2 {
  77. input:
  78. docker=hisat2_docker,
  79. cluster=hisat2_cluster,
  80. idx=idx,
  81. idx_prefix=idx_prefix,
  82. read_1P=fastp.trim_R1,
  83. read_2P=fastp.trim_R2,
  84. disk_size=disk_size
  85. }
  86. call samtools.samtools as samtools {
  87. input:
  88. docker=samtools_docker,
  89. cluster=samtools_cluster,
  90. sam=hisat2.sam,
  91. insert_size=insert_size,
  92. disk_size=disk_size
  93. }
  94. if (qualimap_qc){
  95. call qualimap.qualimap as qualimap {
  96. input:
  97. bam=samtools.out_sort_bam,
  98. gtf=gtf,
  99. docker=qualimap_docker,
  100. cluster=qualimap_cluster,
  101. disk_size=disk_size
  102. }
  103. }
  104. call stringtie.stringtie as stringtie {
  105. input:
  106. docker=stringtie_docker,
  107. cluster=stringtie_cluster,
  108. gtf=gtf,
  109. bam=samtools.out_sort_bam,
  110. disk_size=disk_size
  111. }
  112. call ballgown.ballgown as ballgown {
  113. input:
  114. docker=ballgown_docker,
  115. cluster=ballgown_cluster,
  116. ballgown=stringtie.ballgown,
  117. gene_abundance=stringtie.gene_abundance,
  118. disk_size=disk_size
  119. }
  120. call count.count as count {
  121. input:
  122. docker=count_docker,
  123. cluster=count_cluster,
  124. ballgown=stringtie.ballgown,
  125. gene_abundance=stringtie.gene_abundance,
  126. disk_size=disk_size,
  127. count_length=count_length
  128. }
  129. }