实操 | FEM包代码示例
在介绍了FEM包的由来之后,小编今天要带大家跑一跑FEM包,我们开始吧~
第一步:安装FEM包 并加载
因为FEM包是bioconductor平台的包,所以先要安装R语言和Bioconductor。同时,FEM包中引用了其他包的功能(例如limma包),因此R的版本要尽可能的高。
另外,因为FEM包引用了其他很多包,所以安装时间可能会比较长,要耐心等待哦!代码如下:
source(“http://bioconductor.org/biocLite.R”)
biocLite(“FEM”)
library(FEM)
第二步:数据处理
读入甲基化数据和表达数据,并进行表型关联处理。值得注意的是,表达数据需要用Entrez ID表示基因名。
methydata<-read.csv(“methy.csv”,header=T)
expdata<-read.csv(“exp.csv”,header=T)
statM<-GenStatM(methydata,pheno.v)
#pheno.v即表型向量,是与表型相关的参数
starR<-GemStatR(expdata,phenol.v)
下图分别展示了计算完的statM和statR:
第三步:进行FEM计算
终于到了关键的计算步骤了,我们首先将上步得到的结果进行准备:
intFEM<-list(statM=statM,statR=statR,adj=adj)
#adj即蛋白相互作用网络的邻接矩阵
fembi<- DoFEMbi(intFEM,nseeds=100,gamma=0.5,nMC=1000,sizeR.v=c(1,100),minsizeOUT=10,writeOUT=TRUE,nameSTUDY="test",ew.v=NULL)
##这里计算同样需要一点时间,请耐心等待哦!
第四步:画图和查看结果
fembi$fem可以查看计算得到的模块的细节
fembi$topmod$HAND2可以查看HAND2基因的计算结果
下面两个命令可以画出指定基因的热图:
HAND2.mod<- fembi$topmod$HAND2
HAND2.graphNEL.o=FemModShow(fembi$topmod$HAND2,name="HAND2", fembi)
当然你可以选择把所有的模块图一次性画出来:
for(x in 1:length(names(fembi$topmod))){
FemModShow(fembi$topmod[[x]],
name=names(fembi$topmod)[x],fembi)}
以上就是FEM包的主要代码啦~
作者:冯生
封面图片:来源于网络
文章图片:冯生提供
编辑排版:夏梦馨