FEM:整合RANSEQ和DNA甲基化数据分析的R包

FEM是一个整合RANSEQ和DNA甲基化数据的R包,由Andrew E. Teschendorff 和 Zhen Yang 开发、维护。

不多说,下面介绍如何使用FEM整合RANSEQ和DNA甲基化数据分析。

1、安装、下载FEM

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("FEM")
library(FEM)

2、下载数据adj.m

adj.m数据存储在网址https://sourceforge.net/projects/signalentropy/files/?source=navbar)的“hprdAsigH-13Jun12.Rd”上,下载“hprdAsigH-13Jun12.Rd”即可。

“hprdAsigH-13Jun12.Rd”文件包含三个数据:"hprdAsigH.m"、"sigHclassA.v"、"sigHclassA2.v"

"hprdAsigH.m"为我们后续分析需要的数据。

“hprdAsigH-13Jun12.Rd”数据也可以通过公众号bio生物信息后台发生关键字“FEM”获得。

3、准备DNA甲基化数据

DNA甲基化数据取得是beta值,这里我们命名为“beta”,示例图如下所示:

行名为每个CpG位点的ID,列名为每个样本的ID。

4、准备DNA甲基化数据对应的表型文件

DNA甲基化数据对于的表型文件,我们命名为group,其示例图如下所示:

表示为第一个样本sample1是control,第二个样本sample2是control,第三个样本sample3是case,以此类推。beta文件的sample和group是一一对应的。

5、准备RANSEQ基因表达数据

RANSEQ基因表达数据,我们命名为need,其示例如下所示:

行名是每一个基因的entrez gene IDs,列名是每一个样本名。

6、准备RANSEQ基因表达数据对应的表型文件

RANSEQ基因表达数据对应的表型文件,我们命名为gg, 示例图如下所示:

表示的是每一个样本对应的是case还是control。与DNA甲基化的情况一样,need文件的sample和group是一一对应的。

7、生成DNA差异甲基化统计量

如果是850k,则用以下命令:

statM.o=GenStatM(beta,group,"EPIC")

如果是450K,则用以下命令:

statM.o=GenStatM(beta,group,"450K")

生成的statM.o结果包含三个数据:"top"、 "cont"、"avbeta"

"top"是差异甲基化的统计结果,top是一个list,差异甲基化结果一般存储在top的第一个元素(item)中;

"cont"是差异甲基化分析时构建的case-control;

"avbeta"是DNA甲基化数据;

8、生成差异表达的统计量

使用命令:

statR.o=GenStatR(need,gg)

生成的statR.o结果包含三个数据: "top"、"cont"、"avexp"

与差异甲基化的结果类似, "top"是差异表达的统计结果;

"cont"是差异表达分析时构建的case-control;

"avbeta"是表达数据;

9、整合差异表达和差异甲基化数据

load("/data/chenwenyan/hprdAsigH-13Jun12.Rd")
re=DoIntFEM450k(statM.o,statR.o,hprdAsigH.m,1,1,"avbeta")

解释一下,statM.o和statR.o分别是步骤7和8产生的结果文件,hprdAsigH.m是步骤2下载的“hprdAsigH-13Jun12.Rd”文件包含的数据,这里我存储在/data/chenwenyan/路径下,请读者们根据各自存储的路径自行修改,不要完成照抄我的路径。

两个1分别指的是statM.o和statR.o的top数据的第一个文件,即步骤7和8生成的差异甲基化和差异表达结果。

这里需要注意的是,如果你感兴趣的分组结果存储在top数据的第二个元素,则代码需要改成re=DoIntFEM450k(statM.o,statR.o,hprdAsigH.m,2,2,"avbeta")

10、鉴定甲基化与表达之间存在负相关的基因

DoFEMbi=DoFEMbi(re, nseeds = 100, gamma = 0.5, nMC = 1000, sizeR.v = c(1,100), minsizeOUT = 10, writeOUT = TRUE, nameSTUDY = "TEST", ew.v = NULL)

这里所有参数均可以使用默认值。

输出的DoFEMbi结果包含以下文件:

这里我们主要关注fem和topmod这两个元素,分别指的是模块以及模块对应的统计数据,如下所示:

11、可视化结果

可视化SGMS2模块信息:

SGMS2=FemModShow(DoFEMbi$topmod$SGMS2,name="SGMS2", DoFEMbi)

画出来的图如下所示,可以看到,这个模块的基因主要是高甲基化低表达:

posted @ 2020-09-12 21:17  橙子牛奶糖  阅读(765)  评论(0编辑  收藏  举报