用于miRNA-seq二代测序数据分析
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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. ### 安装指南
  2. ```bash
  3. # 激活choppy环境
  4. source activate choppy
  5. # 安装app
  6. choppy install chenziyin/miRNAseq
  7. ```
  8. ### 快速使用
  9. 1. 新建项目文件夹
  10. 2. 准备样本描述文件:samples.csv
  11. - 文件需为csv格式(以逗号分隔的文本)
  12. - 文件中必须包含的列为:
  13. - sample_id:样本名称,该名称将自动作为生成结果文件的前缀名
  14. - raw_fastq:原始FASTQ测试数据所在OSS路径(仅R1)
  15. - adapter_seq:建库时所使用3’ 接头序列(详见附录A. 常用建库方法接头序列)
  16. - randomBase_in_adapter:接头末端的随机碱基个数(详见附录A. 常用建库方法接头序列)
  17. - sequencing_length: 测序长度,如使用PE150测序时填写150
  18. > 注意:
  19. >
  20. > 使用excel制作csv文件时,请不要将保存的csv文件直接作为输入,易导致异常错误。
  21. >
  22. > 推荐使用文本编辑器(如记事本,notepad++等)打开csv文件,确认:
  23. >
  24. > (1)每2个值之间使用逗号分隔,行末没有逗号
  25. >
  26. > (2)逗号前后没有多余的空格(非常重要!!!)
  27. >
  28. > (3)每行前后没有多余的逗号,且没有多余的仅由逗号组成的行
  29. >
  30. > 如果在服务器上运行choppy,推荐使用 ``` vim samples.csv``` 命令新建samples.csv文件,并将表格以逗号分隔的纯文本形式粘贴至其中,并按```esc```+```ZZ``` 退出
  31. 3. 批量提交任务
  32. ```bash
  33. choppy batch miRNAseq-latest <File::samples.csv> --project-name <String::project_name>
  34. ```
  35. 参数说明:
  36. - ```<File::samples.csv>```:此处填写在上一步之做的***samples.csv***所在路径
  37. - ```<String::project_name>```:自定义项目名称,app的运行结果将自动存储在以该名称命名的文件夹下
  38. > 注意:
  39. >
  40. > 1) 左右尖角括号(<>)代表此处的值需要由用户根据实际情况键入相应的值。替换入具体值后左右不需要保留尖叫括号
  41. >
  42. > 2)```--project-name```为必须参数,是用户自定义的项目名称。但需注意:
  43. > a. project_name中不得包含空格,短横线,否则会导致运行异常
  44. > b. project_name中可以包含阿拉伯数字,但不得以数字开头,否则会导致运行异常
  45. > c. 项目名称不得与已有的项目名称(包含 oss://choppy-cromwell-result/test-choppy/ 目录下的文件夹名称和test-choppy服务器目录下的文件夹名称)相同
  46. > d. 推荐的[项目命名格式]<http://choppy.3steps.cn/go-choppy/choppy-docs/issues/1>为:Project_computecontent_data_people,如:```ANY180412MAQC_rnaseq_190609_lizhihui```
  47. ### app测试
  48. 用于app测试的文件位于 ***oss://choppy-app-example-data/miRNAseq/*** 目录下
  49. - **Test_10k_NEXTflex.fastq.gz** 中包含了NEXTflex small RNA kit v3所建文库的测序结果中的前10000条read
  50. - **test_10k_QIAseq.fastq.gz** 中包含了QIAseq miRNA kit所建文库的测序结果中的前10000条read
  51. - **samples.csv**是app测试时所需提交的samples.csv文件
  52. ### 输出文件说明
  53. 运行APP后,
  54. 每个sample对应一个文件夹,内部结构如下:
  55. - call-Fastqc
  56. - \*._fasqtc.html
  57. - \*._fastqc.zip
  58. - call-TrimAdapt
  59. - <sample_id>.trimAdapt.fastq.gz
  60. - <sample_id>.trimAdapt.log
  61. - <sample_id>.trimAdapt.lengthDistribute
  62. — call-ReadFilter
  63. — <sample_id>.trimAdapt.filter.fastq.gz
  64. — <sample_id>.filter.log
  65. — call-Align2miRNA
  66. — <sample_id>.align2miRNA.log
  67. — <sample_id>.align2miRNA.sam
  68. — <sample_id>.miRNAUnaligned.fastq.gz
  69. — call-Align2PreMiRNA
  70. — <sample_id>.align2PreMiRNA.log
  71. — <sample_id>.align2PreMiRNA.sam
  72. — <sample_id>.PreMiRNAUnaligned.fastq.gz
  73. - call-Align2piRNA
  74. - <sample_id>.align2piRNA.log
  75. - <sample_id>.align2piRNA.sam
  76. - <sample_id>.piRNAUnaligned.fastq.gz
  77. - call-Align2tRNA
  78. - <sample_id>.align2tRNA.log
  79. - <sample_id>.align2tRNA.sam
  80. - <sample_id>.tRNAUnaligned.fastq.gz
  81. - call-Align2RNA
  82. - <sample_id>.align2RNA.log
  83. - <sample_id>.align2RNA.sam
  84. - <sample_id>.RNAUnaligned.fastq.gz
  85. - call-Align2Hg38
  86. - <sample_id>.align2Hg38.log
  87. - <sample_id>.align2Hg38.sam
  88. - <sample_id>.Hg38Unaligned.fastq.gz
  89. - call-Quantification
  90. - <sample_id>.matureMiR.readCount
  91. - call-ReadStats
  92. - <sample_id>.readStats
  93. - <sample_id>.trimAdapt.filter.align2RNA.grouped.readCount
  94. #### 主要结果说明
  95. ##### 定量结果
  96. 1. miRNA定量表达谱: ```/call-Quantification/<sample_ID>.matureMiR.readCount```
  97. - 包含两列:
  98. - ID.miRNA
  99. - ReadCount:定位到相应miRNA的read数(即Raw Count)
  100. ##### 质控结果
  101. 1. 测序质量检测:```call-Fastqc/*._fasqtc.html```
  102. - 网页格式,下载后使用浏览器打开
  103. - 重点关注以下内容:
  104. - 单碱基测序质量(Per base sequence quality):横轴长度在75bp前的部分,单碱基质量值应不低于28(绿色部分)
  105. - N碱基个数(Per base N count):红线应紧贴X轴
  106. - 测序片段长度(Sequence Length Distribution):曲线呈单峰分布(三角形),且峰值与预期测序长度相一致
  107. 2. 片段类型统计:```/call-ReadStats/<sample_id>.readStats```
  108. - 可能的片段类型包括:
  109. - adapter not found:因无法识别接头而被丢弃的片段数
  110. > 原因:片段3'接头部分存在插入缺失突变(多数),片段中无3'接头序列(少数)
  111. - adapter dimer:引物二聚体片段数
  112. - too short:因插入片段长度过短而被丢弃的片段数
  113. - low sequencing quality: 由于质量不满足要求丢弃的read数(包括单碱基质量过低,或N碱基数目过多)
  114. - mature miRNA:比对到miRNA成熟体参考序列的片段数
  115. - hairpin miRNA: 比对到miRNA剪切前体参考序列(pre-miRNA)的片段数
  116. - piRNA: 比对到piRNA参考序列的片段数
  117. - tRNA: 比对到tRNA参考序列的片段数
  118. - mRNA: 比对到mRNA参考序列的片段数
  119. - lncRNA: 比对到lncRNA参考序列的片段数
  120. - rRNA: 比对到rRNA参考序列的片段数
  121. - YRNA: 比对到YRNA参考序列的片段数
  122. - other small RNA: 比对到 misc_RNA, guide_RNA, vault_RNA, small nuclear RNA, small cytoplasmic RNA 或 small nucleolar RNA 参考序列的片段数
  123. - other from transcriptome: 比对到人转录组,但比对结果不属于以上mature miRNA等9个类别的片段数
  124. - other from human genome: 能比对到人类参考基因组,但不能比对到转录组上的片段数
  125. - not from human genome:不能比对到人类曹考基因组的片段数
  126. 3. 文库中插入片段长度分布: ```call-TrimAdapt/trimAdapt.lengthDistribute```
  127. - 包含两列,记录不同长度(第一列)的插入片段数目(第二列)
  128. ### APP概述
  129. miRNAseq analysis pipeline 是一个全自动app,用于对miRNA-seq二代测序FASTQ结果中的human miRNA片段定量。
  130. #### 适用范围:
  131. 1. 本APP适用于ILLUMINA系列测序仪(HiSeq, NextSeq, NovaSeq等)产生的SE50/SE75二代测序数据。对于PE数据,仅使用R1作为数据源
  132. 2. 本APP仅用于Human miRNA-seq文库数据分析。
  133. 3. 目前尚不支持UMI分析
  134. ### 流程与参数
  135. #### 使用的软件及版本
  136. - fastqc: 0.11.5
  137. - fastp:0.19.6
  138. - bowtie: 1.2.2
  139. ### 流程示意
  140. #### 参考基因组
  141. ##### mature miRNA
  142. 下载自 *miRBase v22.1* ( [http://www.mirbase.org](http://www.mirbase.org/) )mature.fa 并进行以下编辑:
  143. (1)仅提取出其中人miRNA序列
  144. (2)将U碱基转化为T碱基
  145. (3)根据成熟体所对应的剪切前体(pre-miRNA),将成熟体序列两端各延伸5bp
  146. ##### pre-miRNA
  147. 下载自 *miRBase v22.1* ( [http://www.mirbase.org](http://www.mirbase.org/) )hairpin.fa 并进行以下编辑
  148. (1)仅提取出其中人miRNA序列
  149. (2)将U碱基转化为T碱基
  150. ##### piRNA
  151. 下载自 piRBase ([http://www.regulatoryrna.org/database/piRNA/download.html]) Human piRNA sequence v2.0
  152. ##### tRNA
  153. 下载自 UCSC Table Browser([http://genome.ucsc.edu/cgi-bin/hgTables] )
  154. - Genome: Human, Assembly: Dec.2013(GRCh38/hg38)
  155. - group: all tracks, track: tRNA Genes, table: tRNA
  156. - region: genome,
  157. - output format: sequence
  158. ##### 转录组
  159. 全人转录组参考序列下载自 NCBI: ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/405/GCF_000001405.38_GRCh38.p12/GCF_000001405.38_GRCh38.p12_rna.fna.gz
  160. 并根据序列ID中的最后一栏对序列进行分类
  161. ##### 全参考基因组
  162. 全人参考基因组序列下载自NCBI:[ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/405/GCF_000001405.38_GRCh38.p12/
  163. GCF_000001405.38_GRCh38.p12_genomic.fna.gz]
  164. #### 详细参数
  165. 1. 切除接头:根据```adapter_sequence``` 序列进行切除,切除时使用fastp默认参数
  166. 2. 质量过滤:
  167. 1)一条read中,质量不满足```qualified_quality_phred(default:20)``` 的碱基在read占比超过```unqualified_percent_limit(default:20)```%时,该read将被过滤
  168. 2) read中,N碱基数目超过```n_base_limit (default: 2)```的read将被过滤
  169. 3. 长度过滤:去接头后长度小于```length_required(default:16)```的read将被过滤
  170. 4. miRNA识别
  171. - 使用bowtie(end-to-end模式)进行匹配
  172. - 匹配时最多允许```max_mismatch_allowed (default: 1)```个错配
  173. ## 附录
  174. ### A.常用建库方法及接头序列
  175. | 建库试剂盒 | adapter_seq | randomBase_in_adapter | 参考资料 |
  176. | ------------------------------------------------------------ | ---------------------- | --------------------- | -------- |
  177. | Truseq smallRNA library prep kit (Illumina) | TGGAATTCTCGGGTGCCAAGG | 0 | [1] |
  178. | QIAseq miRNA Library Kit (QIAGEN) | AACTGTAGGCACCATCAAT | 0 | [2 |
  179. | NEBNext Multiplex Small RNA Library Prep Set for Illumina (NEB) | AAGATCGGAAGAGCACACGTCT | 0 | [3] |
  180. | NEXTflex small RNA Kit | TGGAATTCTCGGGTGCCAAGG | 4 | [4] |
  181. [1] Illumina Adapter Sequences ([1000000002](http://choppy.3steps.cn/chenziyin/miRNAseq/src/branch/master/commit/1000000002694) v07) From <http://support.illumina.com.cn/downloads/illumina-customer-sequence-letter.html>
  182. [2] <https://www.qiagen.com/us/resources/faq?id=>[f12b85b4](http://choppy.3steps.cn/chenziyin/miRNAseq/src/branch/master/commit/f12b85b4)-df4f-43b5-9e82-[a4fd0ddbdc](http://choppy.3steps.cn/chenziyin/miRNAseq/src/branch/master/commit/a4fd0ddbdcc0)&lang=en
  183. [3] NEBNext Multiplex Small RNA Library Prep Set for Illumina manual
  184. [4] NEXTflex® Small RNA-Seq Kit v3 Automation Guide
  185. ### B. FAQ
  186. **Q1 结果中没有检测到miRNA / miRNA检出率过低 **
  187. **A1.**
  188. 首先需要确认是否切接头成功。方法为打开~/Call-TrimAdapt/trimAdapt.log日志文件,查看Filtering result*项目下的:
  189. ***reads with adpater trimmed***:该项为接头切除成功的read数,数值过低说明接头识别失败,需要检查提供的接头序列(```adapter_seq```)是否正确。
  190. 之后打开~/call-ReadStats/<sample_ID>.readStats文件查看文库中片段组成:
  191. (1)***Adapter dimer***较高提示建库过程中连接效率低,文库产物被大量的引物二聚体所占据
  192. (2)***Low quality***较高提示此次测序质量较差,可以用于比对的片段占比较低
  193. (3)***Too short***:较高提示抽提/建库过程存在问题或者样本质量较差,导致文库中插入大量的短(16bp一下)片段
  194. (4)若***For align***: 项数值正常,而检测到的miRNA数量低,考虑
  195. ​ a. 如果建库时使用了4N引物,
  196. ​ 查看samples.csv中,```randomBase_in_adapter```是否设置正确。
  197. ​ 查看~/call-TrimAdapt/**<sample_ID>.trimAdapt.log**日志文件,若其中没有trim 4 random base相关记录,则可能是```randomBase_in_adapter```设置不正确
  198. ​ 打开~ /call-LengthStats/**<sample_ID>.trimAdapt.lengthDistribute**,若片段主要分布在32bp附近,则很可能是4N碱基未切除成功
  199. ​ b. 如果建库时未使用4N引物
  200. ​ 打开~ /call-LengthStats/**<sample_ID>.trimAdapt.lengthDistribute**,查看片段长度分布