用于miRNA-seq二代测序数据分析
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

93 Zeilen
2.9KB

  1. import "./tasks/Fastqc.wdl" as Fastqc
  2. import "./tasks/TrimAdapt.wdl" as TrimAdapt
  3. import "./tasks/ReadFilter.wdl" as ReadFilter
  4. import "./tasks/Align.wdl" as Align
  5. import "./tasks/Quantification.wdl" as Quantification
  6. import "./tasks/ReadStats.wdl" as ReadStats
  7. workflow {{ project_name }} {
  8. String sample_id
  9. File raw_fastq
  10. String adapter_seq
  11. Int randomBase_in_adapter
  12. Int sequencing_length
  13. Int qualified_quality_phred
  14. Int unqualified_percent_limit
  15. Int n_base_limit
  16. Int length_required
  17. Int max_mismatch_allowed
  18. File dir_index_miRNA
  19. String prefix_index_miRNA
  20. File dir_index_hg38
  21. String prefix_index_hg38
  22. String docker_fastqc
  23. String docker_fastp
  24. String docker_bowtie
  25. String cluster_config
  26. String disk_size
  27. call Fastqc.Fastqc as Fastqc {
  28. input:
  29. in_fastq=raw_fastq,
  30. docker=docker_fastqc, cluster_config=cluster_config, disk_size=disk_size
  31. }
  32. call TrimAdapt.TrimAdapt as TrimAdapt {
  33. input:
  34. sample_id=sample_id,in_fastq=raw_fastq,
  35. adapter_seq=adapter_seq, randomBase_in_adapter=randomBase_in_adapter, sequencing_length=sequencing_length,
  36. docker=docker_fastp, cluster_config=cluster_config, disk_size=disk_size
  37. }
  38. call ReadFilter.ReadFilter as ReadFilter {
  39. input:
  40. sample_id=sample_id,
  41. in_fastq=TrimAdapt.out_fastq,
  42. qualified_quality_phred=qualified_quality_phred,unqualified_percent_limit=unqualified_percent_limit,
  43. n_base_limit=n_base_limit,
  44. length_required=length_required,
  45. docker=docker_fastp, cluster_config=cluster_config, disk_size=disk_size
  46. }
  47. call Align.AlignToSenseOnly as Align2miRNA {
  48. input:
  49. sample_id=sample_id,
  50. in_fastq=ReadFilter.out_fastq,
  51. refname="miRNA",dir_index=dir_index_miRNA,prefix_index=prefix_index_miRNA,
  52. max_mismatch_allowed=max_mismatch_allowed,
  53. docker=docker_bowtie, cluster_config=cluster_config, disk_size=disk_size
  54. }
  55. call Align.AlignToBothStrand as Align2Hg38 {
  56. input:
  57. sample_id=sample_id,
  58. in_fastq=ReadFilter.out_fastq,
  59. refname="Hg38",dir_index=dir_index_hg38,prefix_index=prefix_index_hg38,
  60. max_mismatch_allowed=max_mismatch_allowed,
  61. docker=docker_bowtie, cluster_config=cluster_config, disk_size=disk_size
  62. }
  63. call Quantification.Quantification as Quantification {
  64. input:
  65. sample_id=sample_id,
  66. in_sam=Align2miRNA.out_sam,
  67. cluster_config=cluster_config,disk_size=disk_size
  68. }
  69. call ReadStats.ReadStats as ReadStats {
  70. input:
  71. sample_id=sample_id,
  72. in_log_trimAdatper=TrimAdapt.out_log,in_log_readFilter=ReadFilter.out_log,
  73. in_log_align_miRNA=Align2miRNA.out_log,in_log_align_hg38=Align2Hg38.out_log,
  74. cluster_config=cluster_config,disk_size=disk_size
  75. }
  76. }