1、整理數(shù)據(jù),第一列為基因列表,后面為不同時(shí)期表達(dá)量。
2、
#加載。
library(Mfuzz)
#設(shè)置工作路徑,初始化環(huán)境。
setwd('E:/R')
getwd()
rm(list=ls())
#把表達(dá)量文件另存為制表符分隔的txt文件,放入設(shè)置的工作路徑中,導(dǎo)入表達(dá)量數(shù)據(jù)。
gene<-read.table('FPKM.txt',header=T,row.names=1,sep='\t')
#構(gòu)建對(duì)象。
gene_fpkm<-data.matrix(gene)
eset<-new('ExpressionSet',exprs=gene_fpkm)
#去除超過(guò)25%數(shù)據(jù)缺失的基因。
gene.r<-filter.NA(eset, thres=0.25)
#用平均值填充缺失值。
gene.f<-fill.NA(gene.r,mode='mean')
#根據(jù)標(biāo)準(zhǔn)差去除樣本間差異太小的基因。
tmp<-filter.std(gene.f,min.std=0)
#標(biāo)準(zhǔn)化。
gene.s<-standardise(tmp)
#聚類個(gè)數(shù)c。比如輸入8。
c<-8
#計(jì)算最佳的m值。
m<-mestimate(gene.s)
#聚類。
cl<-mfuzz(gene.s, c=c, m=m)
#繪制折線圖。
mfuzz.plot(gene.s,cl,mfrow=c(2,4),new.window=FALSE)
3、圖片美化調(diào)整。
#調(diào)整圖片排列(三行四列布局)
mfrow=c(3,4)
#調(diào)整配色(詳見(jiàn)另一篇筆記——RColorBrewer使用方法)
library(RColorBrewer)#加載RColorBrewer調(diào)色板。
col<-c('#1E88E5','#43A047','#FDD835','#FB8C00','#E53935','#90A4AE')#輸入色值,并賦值給col。
mfuzz.plot(gene.s,cl,mfrow=c(3,4),col,new.window=FALSE)#重新繪圖,根據(jù)圖片調(diào)整色值順序。
4、輸出相關(guān)信息。
#查看每類基因數(shù)目。
cl$size
#查看每類基因ID。
cl$cluster[cl$cluster==1]
#輸出基因ID,路徑為當(dāng)時(shí)設(shè)置的工作路徑。
write.table(cl$cluster,'output.txt',quote=F,row.names=T,col.names=F,sep='\t')