From fastq to lncRNA profile.
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.

114 lines
2.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/featureCounts.wdl" as featureCounts
  5. workflow {{ project_name }} {
  6. String sample_id
  7. File read1
  8. File read2
  9. String adapter_sequence
  10. String adapter_sequence_r2
  11. String fastp_docker
  12. String fastp_cluster
  13. String umi_loc
  14. Int trim_front1
  15. Int trim_tail1
  16. Int max_len1
  17. Int trim_front2
  18. Int trim_tail2
  19. Int max_len2
  20. Int disable_adapter_trimming
  21. Int length_required
  22. Int umi_len
  23. Int UMI
  24. Int qualified_quality_phred
  25. Int length_required1
  26. Int disable_quality_filtering
  27. File idx
  28. String idx_prefix
  29. String pen_intronlen
  30. String hisat2_docker
  31. String hisat2_cluster
  32. Int pen_cansplice
  33. Int pen_noncansplice
  34. Int min_intronlen
  35. Int max_intronlen
  36. Int maxins
  37. Int minins
  38. String ins_size = sample_id + ".ins_size"
  39. String samtools_docker
  40. String samtools_cluster
  41. Int insert_size
  42. File lnc_gtf_file = "lncRNAKB_hg38_v7.gtf"
  43. String gtf_dir = "oss://pgx-reference-data/reference/subread/"
  44. String subread_docker
  45. String subread_cluster
  46. Int cpu_num = 4
  47. Int strand_information = 0
  48. call fastp.fastp as fastp {
  49. input:
  50. sample_id = sample_id,
  51. read1 = read1,
  52. read2 = read2,
  53. docker = fastp_docker,
  54. cluster = fastp_cluster,
  55. adapter_sequence = adapter_sequence,
  56. adapter_sequence_r2 = adapter_sequence_r2,
  57. umi_loc = umi_loc,
  58. trim_front1 = trim_front1,
  59. trim_tail1 = trim_tail1,
  60. max_len1 = max_len1,
  61. trim_front2 = trim_front2,
  62. trim_tail2 = trim_tail2,
  63. max_len2 = max_len2,
  64. disable_adapter_trimming = disable_adapter_trimming,
  65. length_required = length_required,
  66. umi_len = umi_len,
  67. UMI = UMI,
  68. qualified_quality_phred = qualified_quality_phred,
  69. length_required1 = length_required1,
  70. disable_quality_filtering = disable_quality_filtering
  71. }
  72. call hisat2.hisat2 as hisat2 {
  73. input:
  74. sample_id = sample_id,
  75. idx = idx,
  76. idx_prefix = idx_prefix,
  77. Trim_R1 = fastp.Trim_R1,
  78. Trim_R2 = fastp.Trim_R2,
  79. docker = hisat2_docker,
  80. cluster = hisat2_cluster,
  81. pen_intronlen = pen_intronlen,
  82. pen_cansplice = pen_cansplice,
  83. pen_noncansplice = pen_noncansplice,
  84. min_intronlen = min_intronlen,
  85. max_intronlen = max_intronlen,
  86. maxins = maxins,
  87. minins = minins
  88. }
  89. call samtools.samtools as samtools {
  90. input:
  91. sample_id = sample_id,
  92. sam = hisat2.sam,
  93. docker = samtools_docker,
  94. cluster = samtools_cluster,
  95. insert_size = insert_size
  96. }
  97. call featureCounts.featureCounts as featureCounts {
  98. input:
  99. sample_id = sample_id,
  100. bam_file = samtools.out_bam,
  101. lnc_gtf_file = lnc_gtf_file,
  102. gtf_dir = gtf_dir,
  103. docker = subread_docker,
  104. cluster = subread_cluster,
  105. cpu_num = cpu_num,
  106. strand_information = strand_information
  107. }
  108. }