missMethyl R包在DNA甲基化的富集分析当中的应用

前言

        DNA甲基化的富集分析不同于GWAS,因为CpG位点在每个基因或基因启动子之间的分布是不均衡的,不同基因对应的探针数也有很大的差异,所以不能直接用“cluster Profiler”来做GO分析和KEGG分析。

        那DNA甲基化的富集分析用什么工具呢?Bingo~答案就是文章标题中的“missMethyl”R包了。它可以通过加权重抽样和Wallenius非中心超几何近似法矫正“多基因偏差”和“多探针偏差”。下面是相关的代码。

missMethyl R包进行甲基化数据的富集分析

1.missMethyl 的安装

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

BiocManager::install("missMethyl")
library(missMethyl)

        R的版本要在4.3以上。这一步会比较慢,需要耐心等待。

2.数据准备

        missMethyl不需要输入基因的Entrez ID,直接输入差异甲基化的探针名称(sig.cpg)和所有的探针名称(all.cpg)即可。

#差异甲基化探针的名称存到sig.cpg当中
sig.cpg<-as.vector(sig$DNAm)
#所有探针的名称存到all.cpg当中
all.cpg<-rownames(methy_map)

3.调用gometh()函数进行富集分析

#GO分析
gst <- gometh(sig.cpg = sig.cpg,all.cpg=all.cpg,collection = "GO", 
              plot.bias = TRUE,prior.prob = TRUE,array.type = "EPIC")
table(gst$FDR<0.05)
GO.sig<-topGSA(gst)
write.csv(GO.sig,'GO.sig.csv')
#KEGG分析
kegg <- gometh(sig.cpg = sigcpg,all.cpg=allcpg,collection = "KEGG", 
              plot.bias = TRUE,prior.prob = TRUE,array.type = "EPIC")
table(kegg$FDR<0.05)
KEGG.sig<-topGSA(kegg)
write.csv(KEGG.sig,'KEGG.sig.csv')

        collection='GO'表明进行GO分析,collection='KEGG'表明进行KEGG分析,plot.bias=TRUE则会显示每个基因中探针的数量和差异甲基化的概率之间的关系,prior.prob如果为真,将考虑由于每个基因的探针数量而导致显着差异甲基化的概率。如果为 false,则执行超几何检验,忽略数据中的任何偏差。array.type=c("450K","EPIC"),默认值为450K,代码中的是“EPIC”芯片。

        接着,使用table( )函数查看FDR值<0.05的结果,最后将显著的结果保存成.csv文件。

4.结果展示

       左图是每个基因中探针的数量和差异甲基化的概率之间的关系图,右图是GO分析的结果,N表示number of genes in the GO or KEGG term,DE表示number of genes that are differentially methylated。

       以上就是这篇文章的全部内容了~由于作者本人也是个初学者,难免水平不足,如果文章内容有错误或表述不准确的地方,欢迎大家在评论区批评指正。另外,希望了解更多有关missMethyl R包的友友们,可以查看官方的文档(missMethyl: Analysing Illumina HumanMethylation BeadChip Data (bioconductor.org))。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值