专栏名称: 基迪奥生物
广州基迪奥生物官方公众平台,小圆每天分享各种生信软件使用技巧, 搜罗好玩的科研生活,定期还有掉节操的生物界八卦分享,让科研变得有意思咯~
目录
相关文章推荐
高分子科学前沿  ·  江雷院士、王京霞研究员团队:蓝相液晶的图案化 ... ·  15 小时前  
高分子科技  ·  西南大学李楠楠课题组 Nat. ... ·  3 天前  
51好读  ›  专栏  ›  基迪奥生物

如何进行基因表达趋势分析?

基迪奥生物  · 公众号  ·  · 2024-08-21 18:03

主要观点总结

文章介绍了基于转录组和蛋白质组数据的基因表达趋势分析的方法,主要使用Mfuzz进行趋势分析。文章提供了详细的使用步骤和其他分析方法。

关键观点总结

关键观点1: 文章背景

文章提及了多篇高分文献中涉及的基因表达趋势分析,包括Nature Communications、Nature Plants、Nature Biotechnology等。

关键观点2: Mfuzz的使用步骤

文章详细描述了使用Mfuzz进行趋势分析的步骤,包括数据读入、数据预处理、创建用于Mfuzz的对象、聚类绘图等。

关键观点3: 其他分析方法

文章提到了使用R语言的其他工具进行基因表达趋势分析的方法,如OmicShare动态趋势分析工具,并介绍了基迪奥生物公司的定制化组学测序与生物信息分析服务。

关键观点4: 参考文献

文章列出了四篇参考文献,包括关于卵巢癌细胞蛋白质组图谱、植物伤口愈合过程中的保守嫁接形成过程、人类植入前胚胎的转录组解析以及小鼠组织衰老过程中非编码RNA表达变化的研究。


正文

最近,在很多高分文献中看到基于转录组、蛋白质组数据的基因表达趋势分析(Series Test of Cluster),如下图。


Nature Communications , 2024)


Nature Plants , 2024)


Nature Communications , 2023)


Nature Biotechnology , 2024)


趋势分析,本质上是对表达趋势相同的基因进行聚类,接着就可以对这些表达模式相同的基因进行功能分析,比如GO富集分析、KEGG pathway富集分析等。下面就一起看看如何使用Mfuzz进行趋势分析吧!


1.读入数据


#安装 Mfuzz包;
#if (!requireNamespace("BiocManager", quietly = TRUE))
#install.packages("BiocManager")
BiocManager::install("Mfuzz")
#载入Mfuzz包;
library(Mfuzz)


输入数据一般为差异基因或蛋白的表达矩阵;推荐使用归一化(Normalisation)后的数值,比如FPKM值。



#读入测试数据;
df <- read.csv("testdata.csv",header = T)
#这里的范例数据每组有3个重复,计算组内均值;
T0 <- apply(df[,2:4], 1, mean)
T1 <- apply(df[,5:7], 1, mean)
T2 <- apply(df[,8:10], 1, mean)
T3 <- apply(df[,11:13], 1, mean)
#生成新的表达量矩阵;
df1 <- data.frame(T0,T1,T2,T3)
row.names(df1) <- df$gene
#转成矩阵;
mat <- as.matrix(df1)
#查看前10行;
head(mat,10)



#创建用于Mfuzz的对象;
dt <- new("ExpressionSet",exprs = mat)
#过滤缺失值超过25%的基因;
dt.r <- filter.NA(dt, thres=0.25)
#以均值的方式填充缺失值;
dt.f <- fill.NA(dt.r,mode="mean")
#过滤低表达或表达量变化不大的基因;
#由于是差异基因,这里不做过滤;
tmp <- filter.std(dt.f,min.std=0)
#对数据进行标准化,使不同的基因或蛋白质具有可比性;
dt.s <- standardise(tmp)
#查看标准化后的数据;
df.s <- dt.s@assayData$exprs
head(df.s,10)



2.聚类绘图


#使用mestimate函数估计m值;
m1 <- mestimate(dt.s)
#执行模糊聚类;
set.seed(007)
cl <- mfuzz(dt.s,c=9,m=m1)


重点:这里的参数c即centers,指定期望生成的cluster个数,参数m指fuzzifier m值,由mestimate函数估计得出。


#对聚类结果进行可视化;
mfuzz.plot(dt.s,cl,mfrow=c(3,3),
           new.window= FALSE,
           time.labels=colnames(dt.s))



#自定义配色;
library(RColorBrewer)
mycol <- c("cyan","yellow","red")
mycolor <- colorRampPalette(mycol)(100)
#使用自定义配色批量绘图;
mfuzz.plot(dt.s,cl,mfrow=c(3,3),
           new.window= FALSE,
           time.labels=colnames(dt.s),
           colo = mycolor)


详细教程:

《再分享一种分析基因表达趋势的方法》


3.其他方法


使用Mfuzz进行趋势分析,需要一定的R语言基础。如果不会R语言怎么办?推荐大家使用最简单的OmicShare动态趋势分析工具。



分析结果如下,我们也可对分析结果图形进行自定义调整,满意后下载图片即可。此外,在项目总览页面,我们也可以下载全部分析结果数据,包含单个Cluster对应基因集的表达量表格、折线图等。



最后,基迪奥生物是定制化组学测序与生物信息分析服务领域的领先者,公司组学服务涉及单细胞组学、空间组学、翻译组、基因组等40条业务线,欢迎留言咨询!

长按识别二维码填写意向








请到「今天看啥」查看全文