用于检测来自 Ribo-seq 数据的翻译 ORF 的 Python 包
项目描述
ribotricer:使用 Ribo-seq 数据准确检测短和长活性 ORF
安装
我们强烈建议您通过 conda 安装 ribotricer:
conda install -c bioconda ribotricer
要在本地安装,您可以从 release 下载源代码,也可以使用git clone
. 拿到源代码后,请切换到源代码所在目录,输入
python setup.py install
注意:以上将安装以下依赖项:
pyfaidx>=0.5.0
pysam>=0.11.2.2
numpy>=1.11.0
pandas>=0.20.3
scipy>=0.19.1
matplotlib>=2.1.0
click>=6.0
click-help-colors>=0.3
quicksect>=0.2.0
tqdm>=4.23.4
如果其中一些已经存在,它们可能会被指定的版本替换。因此,我们强烈建议在安装之前
创建一个单独的环境(使用venv
or ) :conda
ribotricer
conda create -n ribotricer -c bioconda ribotricer
ribotricer 的工作流程
为了运行 ribotricer,您需要准备以下三个文件,包括:
- GTF 格式的基因组注释文件,支持 GENCODE 和 Ensembl 注释
- FASTA 格式的参考基因组文件
- BAM 格式的比对文件
准备候选 ORF
ribotricer 的第一步是通过 GTF 文件和 FASTA 文件找到所有候选 ORF。为了生成所有候选 ORF,请运行
ribotricer prepare-orfs --gtf {GTF} --fasta {FASTA} --prefix {RIBOTRICER_INDEX_PREFIX}
默认情况下,上述命令仅包含长度超过 60 nts 的 ORF,并且仅使用“ATG”作为起始密码子。--min_orf_length
您可以通过包含选项和来更改设置--start_codons
。
输出:{PREFIX}_candidate_orfs.tsv。
检测翻译的 ORF
ribotricer 的第二步是利用生成的索引文件prepare-orfs
和 BAM 文件通过评估所有候选 ORF 的周期性来检测主动翻译的 ORF:
ribotricer detect-orfs \
--bam {BAM} \
--ribotricer_index {RIBOTRICER_INDEX_PREFIX}_candidate_ORFs.tsv \
--prefix {OUTPUT_PREFIX}
注意:默认情况下,上述命令使用 0.428 的相位分数截止值。我们针对特定物种推荐的截止值如下:
物种 | 隔断 |
---|---|
拟南芥 | 0.330 |
秀丽隐杆线虫 | 0.239 |
面包酵母 | 0.318 |
果蝇 | 0.181 |
人类 | 0.440 |
鼠 | 0.418 |
鼠 | 0.453 |
斑马鱼 | 0.249 |
为了分配non-translating
或translating
状态,ribotricer 默认使用截止阈值0.428
. 具有上述相位分数的 ORF0.428
被标记为翻译,只要它们具有至少五个非零读取计数的密码子。默认情况下,ribotricer 不考虑覆盖来预测 ORF 正在翻译或不翻译。但是,可以通过以下过滤器更改此行为:
--min_valid_codons
(默认值 = 5):用于确定活动翻译的具有非零读数的最小密码子数--min_valid_codons_ratio
(默认=0):具有非零读数的密码子与总密码子的最小比率,用于确定主动翻译--min_reads_per_codon
(默认值=0):每个密码子的最小读取数,用于确定主动翻译--min_read_density
(默认值 = 0.0):用于确定活动翻译的 ORF 总密码子上的最小读取密度(total_reads/length)
对于上述每个过滤器,未通过任何过滤器的 ORF都标记为non-translating
。
例如,为了确保每个 ORF 至少有 3/4 的密码子是非空的,我们可以指定--min_valid_codons_ratio
为 0.75:
ribotricer detect-orfs \
--bam {BAM} \
--ribotricer_index {RIBOTRICER_INDEX_PREFIX}_candidate_ORFs.tsv \
--prefix {OUTPUT_PREFIX}
--min_valid_codons_ratio 0.75
ORF 检测步骤由几个小步骤组成,包括:
- 推断实验协议(reads
的搁浅) 您可以使用 option 直接分配搁浅--stranded
,它可以是“是”、“否”或“反向”。如果未提供此选项,ribotricer 将通过将读取链与参考进行比较来自动推断实验协议。
输出:{OUTPUT_PREFIX}_protocol.txt
-
按链和读取长度拆分 bam 文件
在此步骤中,将过滤所有映射的读取以仅包含唯一映射的读取。相对于从上一步提供或推断的链度,读取将按链和读取长度拆分。如果您只想包含某些读取长度,可以使用 option 分配它们--read_lengths
。
输出:{OUTPUT_PREFIX}_bam_summary.txt -
绘制读取长度分布
在此步骤中,将绘制读取长度分布并用作质量控制
输出:{OUTPUT_PREFIX}_read_length_dist.pdf -
计算元基因谱
在此步骤中,通过与起始密码子或终止密码子对齐来计算每个读取长度的所有 CDS 转录本的元基因谱。
输出:{OUTPUT_PREFIX}_metagene_profiles_5p.tsv 是与起始密码子对齐的元基因图谱,{OUTPUT_PREFIX}_metagene_profiles_3p.tsv 是与终止密码子对齐的元基因图谱 -
绘制元基因图谱
在这一步中,将绘制元基因图作为质量控制。
输出:{OUTPUT_PREFIX}_metagene_plots.pdf -
Align metagene profiles
如果没有提供 P 位点偏移,这一步将使用互相关找出不同读长之间的相对偏移
输出:{OUTPUT_PREFIX}_psite_offsets.txt -
根据 P 位点偏移合并来自不同读取长度的读取
此步骤将通过移动 P 位点偏移来整合不同读取长度的读取 -
导出 wig 文件
在此步骤中导出一个 WIG 文件,用于在 Genome Browser
输出中进行可视化:{OUTPUT_PREFIX}_pos.wig 用于正链,{OUTPUT_PREFIX}_neg.wig 用于负链。 -
导出积极翻译的 ORF
评估所有 ORF 配置文件的周期性并输出翻译的 ORF。无论翻译状态如何,您都可以使用选项--report_all
输出输出所有 ORF:{OUTPUT_PREFIX}_translating_ORFs.tsv
ORF类型的定义
Ribotricer 报告八种不同的 ORF 类型,定义如下:
- annotated : 在提供的 GTF 文件中注释的 CDS
- super_uORF:注释CDS的上游ORF,不与同一基因的任何CDS重叠
- super_dORF:注释CDS的下游ORF,不与同一基因的任何CDS重叠
- uORF : 注释 CDS 的上游 ORF,不与主 CDS 重叠
- dORF : 注释 CDS 的下游 ORF,不与主 CDS 重叠
- overlay_uORF : 注释 CDS 的上游 ORF,与主 CDS 重叠
- overlay_dORF : 注释 CDS 的下游 ORF,与主 CDS 重叠
- 小说:非编码基因或编码基因的非编码转录本中的ORF
从数据中凭经验学习截止
Ribotricer 还可以从数据中凭经验学习截止值。给定至少一个 Ribo-seq 和一个 RNA-seq BAM 文件,
ribotricer
通过对提供的具有预先指定的截止值( ,默认值:0.428)的文件运行算法的一次迭代来学习截止值--phase_score_cutoff
,然后使用生成的输出找到中值差异仅候选 ORF 的 Ribo-seq 和 RNA-seq 相位分数之间transcript_type
设置为protein_coding
( --filter_by_tx_annotation
)。
ribotricer learn-cutoff --ribo_bams ribo_bam1.bam,ribo_bam2.bam \
--rna_bams rna_1.bam \
--prefix ribo_rna_prefix \
--ribotricer_index {RIBOTRICER_ANNOTATION}
联系人和错误报告
安德鲁·D·史密斯 andrewds@usc.edu
Saket Choudhary skchoudh@usc.edu
李文政 wenzhenl@usc.edu
我们致力于为 Ribo-seq 数据分析打造最好的 ORF 检测器。如果您在这个项目中发现了错误或错误,我们很想知道它。不过,在您向我们发送错误报告之前,请检查以下内容:
- 你用的是最新版本吗?您发现的错误可能已经修复。
- 检查您的输入格式是否正确,并且您选择了正确的选项。
- 请将您的输入减少到仍然产生错误的最小可能大小;我们将需要您的输入数据来重现问题,并且您可以做得越小,就越容易。
执照
Ribotricer 用于从 Ribo-seq 数据中检测主动翻译的 ORF 版权所有 (C) 2018 Andrew D Smith、Wenzheng Li、Saket Choudhary 和南加州大学
本程序是免费软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证条款重新分发和/或修改它,许可证的第 3 版或(由您选择)任何更高版本。
分发此程序的目的是希望它有用,但不提供任何保证;甚至没有对适销性或特定用途适用性的默示保证。有关详细信息,请参阅 GNU 通用公共许可证。
您应该已经收到了一份 GNU 通用公共许可证的副本以及该程序。如果没有,请参阅http://www.gnu.org/licenses/。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
ribotricer -1.3.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 41cbe299f4f0b60a3804175265ab5f7096b8f220c2d1d8ee698bc22572e19521 |
|
MD5 | c124fe6315ddc9a0d21280b7eb7a10cb |
|
布莱克2-256 | cbda3a8806891f2523869dbb984786c60151dd67d83165ecdea2d536c066ed32 |
ribotricer -1.3.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c0aa11b05c3946a479e45c41133e84582b2a231fade160e0f46473d50faf92aa |
|
MD5 | c0ee9a411701aebc1303904cb5ca6795 |
|
布莱克2-256 | bcf9d20c11fe59eee753b0cc87adbd9e1537a44253354580ff2ca8d3faf4144e |