前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言实现GEO多数据集的分析

R语言实现GEO多数据集的分析

作者头像
一粒沙
修改2020-05-15 14:32:32
2.2K0
修改2020-05-15 14:32:32
举报
文章被收录于专栏:R语言交流中心R语言交流中心

大家对GEO的数据应该都很熟悉,那么如何把GEO中多个研究进行合并分析成为一个比较棘手的问题,今天给大家介绍这么一个包可以实现多研究的合并分析。首先我们看下前期需要的准备工作:

install.packages("survival","samr","combinat")
install.packages("BiocManager ")
BiocManager::install("DESeq2")
BiocManager::install("impute")
BiocManager::install("limma")
BiocManager::install("edgeR")
BiocManager::install("Biobase")
devtools::install_github("metaOmics/MetaDE")

接下来,我们看下其主函数MetaDE:

其中主要的参数:

Data 构成为K个G*M的表达矩阵。K为研究数量,G行基因,M列样本。

Clin.data 构成为K个M*P的矩阵,K为研究数量,M行样本,P列属性。

Data.type 为数据的类型"continuous"or "discrete".,RPKM/FPKM/TPM是连续的"continuous";read counts 为"discrete"。

Resp.type 指出response的数据类型,包括:"twoclass", "multiclass", "continuous"and "survival"。在此处"survival"需要注意,此类型需要response引入两列变量,第一列生存时间;第二列状态。

Covariate 此参数可以设置临床数据作为DE的协变量

Ind.method 指的是response和表达矩阵之间的关系的分析方法。"twoclass" or "multiclass" response, must be oneof "limma", "sam" for "continuous" data type;"edgeR", "DESeq2" or "limmaVoom" for"discrete" data type. "continuous" response, use"pearsonr" or "spearmanr". "survival", use"logrank".

Meta.method 主要用到的合并研究的一些方法,具体的选用哪个方法要看研究的数据了。其中包括:"maxP","maxP.OC","minP","minP.OC", "Fisher","Fisher.OC","AW",roP","roP.OC","Stouffer","Stouffer.OC","SR","PR","minMCC","FEM","REM","rankProd"。

其输出包括下列几个值:

接下来我们直接看下实例:


data('Leukemia')
data('LeukemiaLabel')
data <- Leukemia
K <- length(data)
clin.data <- lapply(label, function(x){data.frame(x)} )
for (k in 1:length(clin.data)){
 colnames(clin.data[[k]]) <-"label"
}
select.group <- c('inv(16)','t(15;17)')
ref.level <- "inv(16)"
data.type <- "continuous"
ind.method <- c('limma','limma','sam')
resp.type <- "twoclass"
paired <- rep(FALSE,length(data))
meta.method <- "Fisher"
meta.res <- MetaDE(data=data,clin.data =clin.data,
                   data.type=data.type,resp.type = resp.type,
                    response='label',
                    ind.method=ind.method,meta.method=meta.method,
                    select.group =select.group, ref.level=ref.level,
                   paired=paired,tail='abs',parametric=TRUE)

summary.result <-summary.meta(result=meta.res,

                              meta.method =meta.method,
                              resp.type =resp.type)
summary.result

从上面的结果我们可以看出每个基因在不同研究中的分析结果和meta分析的结果。

我们也可以对结果进行可视化展示:

fdr.cut <- 1e-7
heatmap.sig.genes(meta.res,meta.method=meta.method,
                   fdr.cut=fdr.cut,color="GR")

另外还可以进行通路富集分析,我们就直接看实例:

meta.p <- meta.res$meta.analysis$pval
ks.result <- PathAnalysis(meta.p = meta.p,enrichment = "KS")
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言交流中心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档