从RNA测序数据中推断差异RNA编辑位点的统计推断
从RNA测序数据中推断差异RNA编辑位点的统计推断
描述
本仓库包含两个R函数,用于运行REDITs(RNA编辑测试)来调用差异RNA编辑位点:
- 在病例-对照(或条件1 vs 条件2)队列之间显著不同的RNA编辑位点
- 由REDIT-LLR(RNA编辑测试 - 对数似然比)处理
- 显著与分类变量(例如性别、性别)和/或定量变量(例如ADAR表达、年龄)相关的RNA编辑位点
- 由REDIT-Regression(RNA编辑测试 - 回归)处理
这些测试考虑了编辑中的生物学变异和从计数数据(如RNA-seq)计算编辑时的固有不准确性。因此,它们在5%假阳性阈值及以下比常用的替代方法(如t检验、Wilcoxon秩和检验或合并Fisher精确检验)具有更大的功效和更低的假阳性。
相关出版物
这项工作来自:通过分层建模从RNA测序数据中推断差异RNA编辑位点的统计推断
目录
- 安装
- 使用方法
- REDIT-LLR
- REDIT-Regression
- 多重检验校正
- 并行化
- 致谢
- 许可证
安装
你只需要基础的 R
REDITs中的两个测试都使用了stats包中的optim函数,这是一个基础包,在R中自动包含并加载。
如果你想使用下面的示例代码进行并行化,那么你需要安装
- doParallel
- 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