You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
2.5KB

  1. import "./tasks/fastqc.wdl" as fastqc
  2. import "./tasks/fastqscreen.wdl" as fastqscreen
  3. import "./tasks/qualimap.wdl" as qualimap
  4. import "./tasks/hisat2.wdl" as hisat2
  5. import "./tasks/samtools.wdl" as samtools
  6. import "./tasks/stringtie.wdl" as stringtie
  7. import "./tasks/ballgown.wdl" as ballgown
  8. import "./tasks/count.wdl" as count
  9. workflow {{ project_name }} {
  10. File read1
  11. File read2
  12. File idx
  13. File screen_ref_dir
  14. File fastq_screen_conf
  15. String idx_prefix
  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 hisat2_docker
  23. String hisat2_cluster
  24. String stringtie_docker
  25. String stringtie_cluster
  26. String samtools_docker
  27. String samtools_cluster
  28. String qualimap_docker
  29. String qualimap_cluster
  30. String ballgown_docker
  31. String ballgown_cluster
  32. String count_docker
  33. String count_cluster
  34. String count_length
  35. Boolean pre_alignment_qc
  36. if (pre_alignment_qc) {
  37. call fastqc.fastqc as fastqc {
  38. input:
  39. read1=read1,
  40. read2=read2,
  41. docker = fastqc_docker,
  42. cluster = fastqc_cluster,
  43. disk_size = disk_size
  44. }
  45. call fastqscreen.fastqscreen as fastqscreen {
  46. input:
  47. read1 = read1,
  48. read2 = read2,
  49. docker = fastqscreen_docker,
  50. cluster = fastqscreen_cluster,
  51. screen_ref_dir = screen_ref_dir,
  52. fastq_screen_conf = fastq_screen_conf,
  53. disk_size = disk_size
  54. }
  55. }
  56. call hisat2.hisat2 as hisat2 {
  57. input:
  58. docker = hisat2_docker,
  59. cluster = hisat2_cluster,
  60. idx=idx,
  61. idx_prefix=idx_prefix,
  62. read_1P=read1,
  63. read_2P=read2,
  64. disk_size= disk_size
  65. }
  66. call samtools.samtools as samtools {
  67. input:
  68. docker = samtools_docker,
  69. cluster = samtools_cluster,
  70. sam = hisat2.sam,
  71. disk_size= disk_size
  72. }
  73. call qualimap.qualimap as qualimap {
  74. input:
  75. bam = samtools.out_bam,
  76. bai = samtools.out_bam_index,
  77. gtf = gtf,
  78. docker = qualimap_docker,
  79. cluster = qualimap_cluster,
  80. disk_size = disk_size
  81. }
  82. call stringtie.stringtie as stringtie {
  83. input:
  84. docker = stringtie_docker,
  85. cluster = stringtie_cluster,
  86. gtf = gtf,
  87. bam = samtools.out_bam,
  88. disk_size = disk_size
  89. }
  90. call ballgown.ballgown as ballgown {
  91. input:
  92. docker = ballgown_docker,
  93. cluster = ballgown_cluster,
  94. ballgown = stringtie.ballgown,
  95. gene_abundance = stringtie.gene_abundance,
  96. disk_size = disk_size
  97. }
  98. call count.count as count {
  99. input:
  100. sample_id = sample_id,
  101. docker = count_docker,
  102. cluster = count_cluster,
  103. ballgown = stringtie.ballgown,
  104. disk_size = disk_size,
  105. count_length = count_length
  106. }
  107. }