https://blog.csdn.net/qazplm12_3/article/details/117341589 https://zhuanlan.zhihu.com/p/493458069
https://www.jianshu.com/p/ba78fbd05f3f
使用手册
https://www.bioconductor.org/packages/release/bioc/vignettes/Mfuzz/inst/doc/Mfuzz.pdf
1. 分析代码
require("Mfuzz")
#------------------------------------------------------------------------------------------#
kk <- read.table("/home/zhiyong/Desktop/CCCCCCCC-Drosophila/Figure-1/D/comparasion_of_Dmel-Dsim-Dyak/Comparation-2/CV/Dmel_Dsim_Dyak/Genes_with_all_low_CV_removed/CV_of_Dmel_Dsim_Dyak_for_Heatmap_left.txt")
#------------------------------------------------------------------------------------------#
mfuzz_matrix <- as.matrix(kk)
# create mfuzz-form object
mfuzz_object <- new('ExpressionSet', exprs = mfuzz_matrix)
# process abnormal or missing values, choose one method from below
mfuzz_object <- filter.NA(mfuzz_object, thres = 0.25)
mfuzz_object <- fill.NA(mfuzz_object, mode = 'mean')
mfuzz_object <- filter.std(mfuzz_object, min.std = 0)
# standardization, this step should be ignored if not necessary
mfuzz_object <- standardise(mfuzz_object)
#------------------------------------------------------------------------------------------#
# clustering
set.seed(123) # set random seed
mfuzz_result <- mfuzz(mfuzz_object, c =6, m = mestimate(mfuzz_object)) # run mfuzz
#------------------------------------------------------------------------------------------#
# plot
mfuzz.plot2(mfuzz_object, cl = mfuzz_result, mfrow = c(2, 3), min.mem=0.1, colo="fancy",
time.labels = colnames(mfuzz_object), centre=T, centre.col="black", centre.lwd=4)
mfuzz.plot2(mfuzz_object, cl = mfuzz_result, mfrow = c(2, 3), min.mem=0.1,
time.labels = colnames(mfuzz_object), centre=T, centre.col="black", centre.lwd=4)
pdf("/home/zhiyong/Desktop/CCCCCCCC-Drosophila/Figure-1/D/comparasion_of_Dmel-Dsim-Dyak/Comparation-2/CV/Dmel_Dsim_Dyak/Genes_with_all_low_CV_removed/Mfuzz/cluster-6/plot.pdf", width = 21, height = 10)
mfuzz.plot2(mfuzz_object, cl = mfuzz_result, mfrow = c(1,1), min.mem=0.1,x11=T,
time.labels = colnames(mfuzz_object), centre=F, centre.col="black", centre.lwd=4, single=1)
dev.off()
kk <- mfuzz.plot2(mfuzz_object, cl = mfuzz_result, mfrow = c(1,1), min.mem=0.1, x11=F,
time.labels = colnames(mfuzz_object), centre=F, centre.col="black", centre.lwd=4, single=1)
2. 输出绘图
设置
x11=F
3. 计算对于特定数据的最优聚类数目: cselection()
cselection(eset=, m=, crange=, repeats=, visu=)
eset=
: mfuzz object
m=
: 模糊参数,用来控制模糊聚类的程度;此参数越大,模糊程度越高;此参数取值为1.1~2.0
比较合适
crange=
: 数值向量,规定尝试的聚类数目
repeats=
: 重复次数,5次或者10次比较妥当
visu=
: 是否绘制空聚类数据图;默认为True
4. 计算对于特定数据的最优聚类数目: Dmin()
https://rdrr.io/bioc/Mfuzz/man/Dmin.html
Dmin(mfuzz_object, m=, crange=, repeats=, visu=)
crange=
: 数量向量,用于检测的聚类数目
repeats=
: 正整数,每个聚类数目的重复聚类次数
visu=
: 是否进行结果展示
5. 聚类的可能性: mfuzz_result$membership
mfuzz_result$membership
: 矩阵; 行为基因,列为cluster; 数值为某个基因落在某个cluster中的几率 (probability)每行的加和为
1
6. overlap()
用来评估各个
cluster
之间的相似程度:
overlap_result <- overlap(mfuzz_result)
overlap.plot(mfuzz_result, over=overlap_result, thres=0.15)
Cluster
之间的连线越粗,说明Cluster
之间的相似性越高