edgeR的使用

edgeR的使用edgeR 包是进行 RNA seq 数据分析非常常用的一个 R 包 该包需要输入每个基因关于每个样本的 reads 数的数据 每行对应一个基因 每一列对应一个样本 建议使用 htseq count 进行统计 输出文件即可直接使用 如果需要算 RPKM 需要自己统计基因长度信息

y <- DGEList(counts=x) 
group <- c(1,1,2,2) y <- DGEList(counts=x, group=group) 

第二步:基因筛选
对于在大多数样本中表达数量都很少的基因,需要进行过滤,这一步可以根据自己定义的标准过滤,edgeR推荐使用该包的CPM( count-per-million )值进行过滤,命令:

keep <- rowSums(cpm(y)>1) >= 2#至少在两个样本里cpm大于1 y <- y[keep, , keep.lib.sizes=FALSE] 

第三步:标准化
edgeR的标准化思想主要针对的是不同样本在建库时效应。这一点与RPKM不同,因为edgeR认为不同的基因对于所有样本的影响是相同的,所以不必考虑。因此为了消除这种建库时的效应,edgeR会更推荐你使用他的calcNormFactors函数,算出来的值叫做trimmed mean of M-values (TMM) ,命令为:

y <- calcNormFactors(y) y$samples 

第四步:聚类与热图
在表达量分析中经常会遇到根据基因表达量来对基因进行聚类分析的过程,edgeR建议使用logcpm这个指标来进行聚类和画热图,命令是:

logcpm <- cpm(y, prior.count=2, log=TRUE) 

第五步:差异表达分析
edgeR的差异表达分析有两种方式,简单的一种是直接进行配对检验,命令是:

et <- exactTest(y, pair=c("A","B"))#检验A、B样本的差异表达基因 topTags(et) 

另一种算法比较复杂,其思想是:首先表达值需要服从某个分布,然后与这个分布不相符的基因才是差异表达基因。具体做法如下:

design <- model.matrix(~Subject+Treat)#设计一个实验设计矩阵 fit <- glmFit(y, design)#构建一个基因表达值得广义线性模型 lrt <- glmLRT(fit)#通过似然比检验得到最后的结果 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201679.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午8:51
下一篇 2026年3月20日 上午8:52


相关推荐

  • idea2021.5.1激活码【注册码】

    idea2021.5.1激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    53
  • phpstorm 2021激活码3月最新在线激活

    phpstorm 2021激活码3月最新在线激活,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    72
  • rc522命令表_linux驱动程序文件

    rc522命令表_linux驱动程序文件硬件平台:1主控:SMDKExynos4412POPS5M8767A2RFID模块:君盾集团提供的RC522模块3通信接口:SPI软件平台:AndroidICS&kernelversion3.0.15一,使能主控端SPI1硬件使能:从SMDK原理图上可以看到SPI0与I2C共用,SPI1已经连接到其它设备,SPI2未用,故这里选用SPI2。2软件使能:SMDKExyno…

    2025年11月27日
    3
  • [Python从零到壹] 十三.机器学习之聚类算法四万字总结全网首发(K-Means、BIRCH、树状聚类、MeanShift)

    [Python从零到壹] 十三.机器学习之聚类算法四万字总结全网首发(K-Means、BIRCH、树状聚类、MeanShift)欢迎大家来到 Python 从零到壹 在这里我将分享约 200 篇 Python 系列文章 带大家一起去学习和玩耍 看看 Python 这个有趣的世界 所有文章都将结合案例 代码和作者的经验讲解 真心想把自己近十年的编程经验分享给大家 希望对您有所帮助 文章中不足之处也请海涵 Python 系列整体框架包括基础语法 10 篇 网络爬虫 30 篇 可视化分析 10 篇 机器学习 20 篇 大数据分析 20 篇 图像识别 30 篇 人工智能 40 篇 Python 安全 20 篇 其他技巧 10 篇 您的关注 点赞和转发就是对秀璋最大的支持 知识无价人有情 希望

    2026年3月20日
    2
  • SPSS—回归—二元Logistic回归案例分析

    SPSS—回归—二元Logistic回归案例分析数据分析真不是一门省油的灯,搞的人晕头转向,而且涉及到很多复杂的计算,还是书读少了,小学毕业的我,真是死了不少脑细胞,学习二元Logistic回归有一段时间了,今天跟大家分享一下学习心得,希望多指教!二元Logistic,从字面上其实就可以理解大概是什么意思,Logistic中文意思为“逻辑”但是这里,并不是逻辑的意思,而是通过logit变换来命名的,二元一般指“两种可能性”…

    2025年7月1日
    5
  • 负数字符串转数字

    负数字符串转数字在用 inta Integer parseInt str 转数字时报错 无法识别没找到是否有此类函数直接转换查询后通过下列语句可以实现 Stringst s next Stringstr null for inti 0 i

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号