Ribo-seq 翻译 ORF 预测工具全攻略
Ribo-seq 翻译 ORF 预测工具全攻略
背景
核糖体 profiling(Ribo-seq)通过捕获正在翻译的核糖体所保护的 mRNA 片段,可以在全基因组范围内揭示翻译事件。除了已知的蛋白编码基因,Ribo-seq 还能发现上游开放阅读框(uORF)、下游开放阅读框(dORF)、长链非编码 RNA 中的翻译事件以及非经典起始密码子介导的翻译。然而,从 Ribo-seq 数据中准确预测活跃翻译的 ORF 并非易事,需要借助专门的生物信息学工具。
本文汇总了主流的 Ribo-seq ORF 预测工具,涵盖它们的原理简介、使用方法及 Snakemake 流程集成代码。
Note:本文所有代码块中的
${}均为 Snakemake 模板变量(如{input.bam}、{wildcards.group}、{config[threads]}),直接嵌入 Snakemake rule 即可运行。Shell 变量转义已使用${{var}}格式。
工具对比总览
| 工具 | 语言 | 输入 BAM 类型 | 速度 | 特点 |
|---|---|---|---|---|
| Ribotaper | Shell + R | Genome | 慢 | 基于三框读取框分布的多重检验,经典方法 |
| RibORF | Perl | Genome | 慢 | 基于读取框一致性和读取密度双检验,严格但计算量大 |
| RiboCode | Python | Transcriptome | 中等 | 基于转录本坐标的三框周期性检验,需要转录本映射的 BAM |
| RiboTish | Python | Genome | 快 | 使用负二项分布模型检测翻译,支持差异翻译分析 |
| Price | Java (GeLi) | Genome | 中等 | 基于图模型的翻译推断,可检测非经典起始密码子 |
| Ribotricer | Python | Genome | 快 | 三帧周期性与读长一致性的严格筛选,输出格式清晰 |
| Ribowave | Shell + R | Genome | 慢 | 利用小波分析去噪,支持移码检测和多 ORF 鉴定 |
各工具详细用法
Ribotaper
Ribotaper 通过计算每个 ORF 三种读取框中 Ribo-seq reads 的分布,利用统计检验判断是否存在显著的周期性三框信号,从而判定该 ORF 是否被翻译。该方法由 Calviello 等人于 2016 年发表,是经典的 ORF 预测方法之一。
- 语言:Shell + R
- 输入:Genome mapped BAM(需要同时提供 Ribo-seq 和 RNA-seq BAM)
- 速度:较慢
| |
提示:Ribotaper 需要预先通过
create_annotations_files.bash生成注释索引文件。read length 和 p-value cutoff 可从 RiboCode 的 metaplot 结果中自动获取。
RibORF
RibORF 通过两个统计检验来鉴定翻译的 ORF:(1) 三框周期性检验(Ribo-seq reads 是否集中在同一阅读框);(2) read coverage 的均匀性检验(Ribo-seq reads 是否均匀覆盖整个 ORF 而非集中在一个区域)。两个条件同时满足才判定为翻译。
- 语言:Perl
- 输入:Genome mapped BAM
- 速度:很慢
| |
RiboCode
RiboCode 首先通过 metaplot 分析确定 Ribo-seq 的 read length 和 P-site offset,然后基于转录本坐标对每个 ORF 的三框周期性进行统计检验。与其他工具不同,RiboCode 要求输入比对到转录本(transcriptome)的 BAM 文件。
- 语言:Python
- 输入:Transcriptome mapped BAM
- 速度:中等
| |
关键参数说明:
-m 20 -M 40:指定 read length 范围为 20-40 nt-f0_percent 0.5:frame 0 reads 占比阈值-A GTG,TTG,CTG,ACG:指定非经典起始密码子- 需要先准备两套索引:
allGene(用于预测)和pcGene(用于 metaplot 参数估计)
RiboTish
RiboTish(Ribo-seq Translation Inference by Smoothing)使用负二项分布模型对 Ribo-seq reads 的三框周期性和覆盖均匀性建模,通过似然比检验判断 ORF 是否翻译。同时支持差异翻译分析(differential translation)。
- 语言:Python
- 输入:Genome mapped BAM
- 速度:快
| |
关键参数说明:
--alt:检测非注释的替代 ORF(如 uORF、dORF)--altcodons:指定替代起始密码子--framebest:使用最优框模式- 建议先运行
ribotish quality检查数据质量
Price
Price(Protein-seq Ribo-seq Inference by Computational Enrichment)基于图模型(graph model)来推断翻译事件,能够有效区分真实翻译信号与背景噪音。Price 是 Gedi 软件套件的一部分。
- 语言:Java(GeLi 平台)
- 输入:Genome mapped BAM
- 速度:中等
| |
提示:Price 需要 GeLi/GeDi 平台支持,BAM 文件需先转换为 CIT 格式。
Ribotricer
Ribotricer 通过严格筛选三帧周期性和 read length 一致性来鉴定活跃翻译的 ORF。
- 语言:Python
- 输入:Genome mapped BAM
- 速度:快
| |
关键参数说明:
--min_orf_length 60:最小 ORF 长度为 60 nt(即 20 个氨基酸)--start_codons:支持的起始密码子列表learn-cutoff步骤需要同时有 Ribo-seq 和 RNA-seq 数据
Ribowave
Ribowave 利用小波分析(wavelet analysis)对 Ribo-seq P-site 信号进行去噪处理,然后基于去噪后的信号鉴定翻译的 ORF。其独特优势在于可以检测翻译过程中的核糖体移帧(ribosomal frameshift)事件,这是其他工具较少涉及的功能。
- 语言:Shell + R
- 输入:Genome mapped BAM
- 速度:中等
| |
关键步骤说明:
- 步骤 1-2 是 P-site 校准,必须先完成
- 步骤 3 是核心 ORF 预测
- 步骤 4 可选,专门用于检测已知注释 ORF 的移帧潜力
实用建议
1. 数据预处理
- P-site 校准是 Ribo-seq 分析的关键步骤,大部分工具都会自动或半自动完成这一步,建议在运行前检查 metaplot 结果确认 P-site offset 是否合理。
- Read length 过滤:通常选择 25-35 nt 范围的 reads,具体范围应根据实验实际情况通过 metaplot 确定。
2. 起始密码子设置
- 大多数工具默认仅检测以 ATG 起始的 ORF。如果需要检测非经典起始密码子(如 GTG、TTG、CTG 等),需要通过参数显式指定。
- 建议至少包含
GTG, TTG, CTG作为非经典起始密码子。
3. 多工具联合分析
- 不同工具的算法原理和灵敏度存在差异,建议使用 2-3 种工具取交集,以提高预测结果的可靠性。
- 常见的组合策略:RiboTish + Ribotricer(快速筛选) + RiboCode(转录本级别验证)。
4. 结果验证
- 预测到的新 ORF 建议结合蛋白质组学数据(Mass Spec)进行验证。
- 对于 uORF 的功能研究,可以结合报告基因实验(reporter assay)进行验证。
- 利用保守性分析(如 PhyloCSF)提供额外的翻译证据。
5. Snakemake 集成
- 本文代码中的路径结构(如
0.index/、3.align/、5.ORF_analysis/)是一种推荐的目录组织方式,可根据实际项目调整。 - 所有代码可直接嵌入 Snakemake rule 的
shell:指令中,{}变量会自动被 Snakemake 解析。