Bootstrap

从RNA测序数据中推断差异RNA编辑位点的统计推断

从RNA测序数据中推断差异RNA编辑位点的统计推断

描述

本仓库包含两个R函数,用于运行REDITs(RNA编辑测试)来调用差异RNA编辑位点:

  1. 在病例-对照(或条件1 vs 条件2)队列之间显著不同的RNA编辑位点
    • 由REDIT-LLR(RNA编辑测试 - 对数似然比)处理
  2. 显著与分类变量(例如性别、性别)和/或定量变量(例如ADAR表达、年龄)相关的RNA编辑位点
    • 由REDIT-Regression(RNA编辑测试 - 回归)处理

这些测试考虑了编辑中的生物学变异和从计数数据(如RNA-seq)计算编辑时的固有不准确性。因此,它们在5%假阳性阈值及以下比常用的替代方法(如t检验、Wilcoxon秩和检验或合并Fisher精确检验)具有更大的功效和更低的假阳性。

相关出版物

这项工作来自:通过分层建模从RNA测序数据中推断差异RNA编辑位点的统计推断

目录

  1. 安装
  2. 使用方法
  3. 致谢
  4. 许可证

安装

你只需要基础的 R

REDITs中的两个测试都使用了stats包中的optim函数,这是一个基础包,在R中自动包含并加载。

如果你想使用下面的示例代码进行并行化,那么你需要安装

  1. doParallel
  2. foreach

但是REDITs中的实际测试(单独运行速度非常快)并不使用这些包。除非你计划在一个包含数百万编辑位点的数据集上运行,否则它们也不需要并行化。

使用方法

REDIT-LLR

source("REDIT_LLR.R")

函数文档

REDIT_LLR(data, groups)

data: 一个2xn的数值矩阵。第一行包含支持编辑的计数(例如RNA-seq读数)。第二行包含支持非编辑的计数。每一列对应一个样本的数据。

groups: 一个字符向量,对应于2xn数据矩阵中每一列的条件/队列/疾病-对照成员。它必须恰好有两个唯一的字符串。length(unique(groups)) == 2

返回值: 一个列表

  • data and groups: 原始数据和groups参数
  • mle.for.group.disease, mle.for.group.control, and mle.for.null.model: 疾病和对照组以及零模型的beta分布的最大似然估计。你可以通过将各自的alpha / (alpha+beta)来获得每个条件的平均编辑水平。然而,请注意,这些估计值不足以获得编辑水平的最大似然方差。
  • log.likelihood.for.group.disease, log.likelihood.for.group.control, and log.likelihood.for.null: 对应最大似然估计的对数似然值
  • p.value: 测试该编辑位点在疾病-对照组之间是否具有统计显著性的p值。

列表元素的实际名称将根据groups参数中的两个唯一字符串而变化。

代码示例

>source("REDIT_LLR.R")
>the_data = matrix( c(1,9, 2,9, 8,1,10,0),nrow=2)
>the_groups = c('disease','disease','control','control');
>REDIT_LLR(data=the_data, groups=the_groups)
>> 
$data
     [,1] [,2] [,3] [,4]
[1
;