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

145 行
3.0KB

  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. sample_id=sample_id,
  68. read1=read1,
  69. read2=read2,
  70. docker=fastp_docker,
  71. cluster=fastp_cluster,
  72. disk_size=disk_size,
  73. adapter_sequence=adapter_sequence,
  74. adapter_sequence_r2=adapter_sequence_r2,
  75. trim_adapter=trim_adapter
  76. }
  77. call hisat2.hisat2 as hisat2 {
  78. input:
  79. sample_id=sample_id,
  80. docker=hisat2_docker,
  81. cluster=hisat2_cluster,
  82. idx=idx,
  83. idx_prefix=idx_prefix,
  84. read_1P=fastp.trim_R1,
  85. read_2P=fastp.trim_R2,
  86. disk_size=disk_size
  87. }
  88. call samtools.samtools as samtools {
  89. input:
  90. docker=samtools_docker,
  91. cluster=samtools_cluster,
  92. sam=hisat2.sam,
  93. insert_size=insert_size,
  94. disk_size=disk_size
  95. }
  96. if (qualimap_qc){
  97. call qualimap.qualimap as qualimap {
  98. input:
  99. bam=samtools.out_sort_bam,
  100. gtf=gtf,
  101. docker=qualimap_docker,
  102. cluster=qualimap_cluster,
  103. disk_size=disk_size
  104. }
  105. }
  106. call stringtie.stringtie as stringtie {
  107. input:
  108. docker=stringtie_docker,
  109. cluster=stringtie_cluster,
  110. gtf=gtf,
  111. bam=samtools.out_sort_bam,
  112. disk_size=disk_size
  113. }
  114. call ballgown.ballgown as ballgown {
  115. input:
  116. docker=ballgown_docker,
  117. cluster=ballgown_cluster,
  118. ballgown=stringtie.ballgown,
  119. gene_abundance=stringtie.gene_abundance,
  120. disk_size=disk_size
  121. }
  122. call count.count as count {
  123. input:
  124. sample_id=sample_id,
  125. docker=count_docker,
  126. cluster=count_cluster,
  127. ballgown=stringtie.ballgown,
  128. disk_size=disk_size,
  129. count_length=count_length
  130. }
  131. }