转录组不求人系列(八):edgeR分析转录组测序数据及差异基因筛选

转录组差异基因分析有很多包,常见的或者公认的却只有这么几种,edgeR包介绍完之后,我想所有人应该能够轻松应对普通转录组的差异分析了。

还是利用上节的数据:

setwd("F:/生物信息学")
A <- read.csv("GSE169758_markdup.featco.2.counts.csv",header = T,row.names = 1)

安装并加载R包:


BiocManager::install('edgeR')
library(edgeR)

edgeR包的应用很广,可应用于基因、外显子、转录本的差异表达。edgeR包还有个功能是可以分析没有生物学重复的样本,从帮助文档查看获取合适的方法,当样本没有重复,但是想看差异的时候可以试试。但是还是建议所有的生物学实验都设置重复!!!

edgeR需要传入的数据也是row counts。指定分组:

group <- rep(c('Mcc', 'Pan'), each = 6)

构建 DGEList 对象:

dgelist <- DGEList(counts = A, group = group)

过滤低质量count 数据,并对数据进行标准化:


keep <- rowSums(cpm(dgelist) > 1 ) >= 2 #方法的选择依据具体情况
dgelist <- dgelist[keep, , keep.lib.sizes = FALSE]
norm <- calcNormFactors(dgelist, method = 'TMM')#方法的选择依据具体情况

差异表达分析,首先根据分组信息构建分析矩阵,分组这里要注意,一定是Control在前,处理组在后。

design <- model.matrix(~group)

估算表达离散值并进行拟合,拟合方法有很多选择:


dge <- estimateDisp(norm, design, robust = TRUE)
fit <- glmFit(dge, design, robust = TRUE)
df <- topTags(glmLRT(fit), n = nrow(dgelist$counts))
df <- as.data.frame(df)

最后得到差异基因列表:

图片

将结果保存,可以手动筛选或者和上节一样代码筛选:

write.csv(df, file='df.csv')

至此,普通转录组差异分析三大R包全部介绍完毕,接下来会说一些细节的问题,包括基因注释等等。当然还有大家最关心的数据可视化,力求用最好的方法和图形呈现转录组数据结果,让你的paper大放异彩!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容