Mfuzz 工具采用模糊 c 均值聚类(Fuzzy C-Means Clustering,FCM)算法,根据具有时间序列特征的转录组、蛋白质组数据中基因或蛋白表达的时间趋势,对具有相同表达模式的基因或蛋白划分 cluster。
相较于传统的统计学显著的上下调基因分组,Mfuzz 可以实现更为多元的生物学实验设计的基因聚类,如时间梯度或者浓度梯度处理的实验。
迄今为止的聚类大多为硬聚类(K-means 等算法),即将每个基因或蛋白质都完全分配给一个聚类,但在实际情况中,基因/蛋白质簇经常会出现重叠,且硬聚类算法通常对噪声十分敏感。为了克服硬聚类的局限性,Mfuzz 采用了软聚类的方法,不仅具有了更强的抗噪性,且可以避免对基因进行先验的预过滤,防止了生物学上相关的基因/蛋白质的丢失。
官网:http://193.136.227.155/sysbiolab/mfuzz/
安装
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("Mfuzz")
使用
1. 输入数据
Mfuzz 默认提供的数据是归一化之后的表达量,表达量必须可以直接在样本间进行比较,对于 FPKM 和 TPM 可直接使用;对于 count 需要进行归一化之后使用,可以使用 edgeR 或者 DESeq 得到归一化后的数据
library(Mfuzz)
## Mfuzz 聚类要求为 ExpressionSet 类型对象
# 载入测试数据,酵母基因表达矩阵,行为基因,列为时间样本(按时间顺序)
# 后续分析皆在测试数据上完成,真实数据同理
data(yeast) # yeast 为 ExpressionSet 对象
exprs_data <- as.matrix(yeast@assayData$exprs) # 酵母基因表达矩阵
# 载入真实数据(示例)
exprs_data <- read.delim('mmc2.union_all_protein_exp.txt', row.names = 1, check.names = FALSE)
exprs_data <- as.matrix(exprs_data) # 将数据框转换为数值矩阵
mfuzz_data <- new('ExpressionSet',exprs

最低0.47元/天 解锁文章
3327

被折叠的 条评论
为什么被折叠?



