Skip to main content

用于检测来自 Ribo-seq 数据的翻译 ORF 的 Python 包

项目描述

替代文字

ribotricer:使用 Ribo-seq 数据准确检测短和长活性 ORF

构建状态 用 pip 安装 安装 bioconda 蟒蛇版本 pypi 下载 执照

高级访问论文

补充文件

安装

我们强烈建议您通过 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

如果其中一些已经存在,它们可能会被指定的版本替换。因此,我们强烈建议在安装之前 创建一个单独的环境(使用venvor ) :condaribotricer

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-translatingtranslating状态,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 检测步骤由几个小步骤组成,包括:

  1. 推断实验协议(reads
    的搁浅) 您可以使用 option 直接分配搁浅--stranded,它可以是“是”、“否”或“反向”。如果未提供此选项,ribotricer 将通过将读取链与参考进行比较来自动推断实验协议。

输出:{OUTPUT_PREFIX}_protocol.txt

  1. 按链和读取长度拆分 bam 文件
    在此步骤中,将过滤所有映射的读取以仅包含唯一映射的读取。相对于从上一步提供或推断的链度,读取将按链和读取长度拆分。如果您只想包含某些读取长度,可以使用 option 分配它们--read_lengths
    输出:{OUTPUT_PREFIX}_bam_summary.txt

  2. 绘制读取长度分布
    在此步骤中,将绘制读取长度分布并用作质量控制
    输出:{OUTPUT_PREFIX}_read_length_dist.pdf

  3. 计算元基因谱
    在此步骤中,通过与起始密码子或终止密码子对齐来计算每个读取长度的所有 CDS 转录本的元基因谱。
    输出:{OUTPUT_PREFIX}_metagene_profiles_5p.tsv 是与起始密码子对齐的元基因图谱,{OUTPUT_PREFIX}_metagene_profiles_3p.tsv 是与终止密码子对齐的元基因图谱

  4. 绘制元基因图谱
    在这一步中,将绘制元基因图作为质量控制。
    输出:{OUTPUT_PREFIX}_metagene_plots.pdf

  5. Align metagene profiles
    如果没有提供 P 位点偏移,这一步将使用互相关找出不同读长之间的相对偏移
    输出:{OUTPUT_PREFIX}_psite_offsets.txt

  6. 根据 P 位点偏移合并来自不同读取长度的读取
    此步骤将通过移动 P 位点偏移来整合不同读取长度的读取

  7. 导出 wig 文件
    在此步骤中导出一个 WIG 文件,用于在 Genome Browser
    输出中进行可视化:{OUTPUT_PREFIX}_pos.wig 用于正链,{OUTPUT_PREFIX}_neg.wig 用于负链。

  8. 导出积极翻译的 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 检测器。如果您在这个项目中发现了错误或错误,我们很想知道它。不过,在您向我们发送错误报告之前,请检查以下内容:

  1. 你用的是最新版本吗?您发现的错误可能已经修复。
  2. 检查您的输入格式是否正确,并且您选择了正确的选项。
  3. 请将您的输入减少到仍然产生错误的最小可能大小;我们将需要您的输入数据来重现问题,并且您可以做得越小,就越容易。

执照

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 (48.8 kB 查看哈希

已上传 source

内置分布

ribotricer-1.3.2-py3-none-any.whl (57.8 kB 查看哈希

已上传 py3