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.

95 lines
1.8KB

  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/multiqc.wdl" as multiqc
  9. workflow {{ project_name }} {
  10. File inputSamplesFile
  11. Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
  12. File screen_ref_dir
  13. File fastq_screen_conf
  14. File read1
  15. File read2
  16. File idx
  17. File gtf
  18. String fasta
  19. String sample_id
  20. String adapter_sequence
  21. String adapter_sequence_r2
  22. String idx_prefix
  23. File gtf
  24. scatter (quartet in inputSamples){
  25. call fastp.fastp as fastp {
  26. input:
  27. sample_id=quartet[2],
  28. read1=quartet[0],
  29. read2=quartet[1],
  30. adapter_sequence=quartet[3],
  31. adapter_sequence_r2=quartet[4]
  32. }
  33. call fastqc.fastqc as fastqc {
  34. input:
  35. read1=fastp.Trim_R1,
  36. read2=fastp.Trim_R2
  37. }
  38. call fastqscreen.fastqscreen as fastqscreen {
  39. input:
  40. read1=fastp.Trim_R1,
  41. read2=fastp.Trim_R2,
  42. screen_ref_dir=screen_ref_dir,
  43. fastq_screen_conf=fastq_screen_conf
  44. }
  45. call hisat2.hisat2 as hisat2 {
  46. input:
  47. sample_id=quartet[2],
  48. idx=idx,
  49. idx_prefix=idx_prefix,
  50. Trim_R1=fastp.Trim_R1,
  51. Trim_R2=fastp.Trim_R2
  52. }
  53. call samtools.samtools as samtools {
  54. input:
  55. sample_id=quartet[2],
  56. sam = hisat2.sam
  57. }
  58. call qualimapBAMqc.qualimapBAMqc as qualimapBAMqc {
  59. input:
  60. bam= samtools.out_bam
  61. }
  62. call stringtie.stringtie as stringtie {
  63. input:
  64. sample_id=quartet[2],
  65. gtf = gtf,
  66. bam = samtools.out_bam
  67. }
  68. }
  69. call multiqc.multiqc as multiqc {
  70. input:
  71. read1_zip=fastqc.read1_zip,
  72. read2_zip=fastqc.read2_zip,
  73. txt1=fastqscreen.txt1,
  74. txt2=fastqscreen.txt2,
  75. rnaseq_zip=qualimapRNAseq.rnaseq_zip
  76. }
  77. }