GEO基因芯片数据处理精华(一):GEOquery包

合作研究请联系QQ 2279055353

GEO(Gene Expression Omnibus)是NCBI(美国国家生物信息中心)下的基因表达数据库,包括各种各样的基因芯片检测技术得到的试验记录与平台信息。GEO是最具知名度的基因表达数据存储数据库,这些数据包括单通道和双通道的微阵列实验,测量对象包括mRNA, 基因组cDNA, 蛋白质冗余物,以及各种非阵列技术,例如,高通量测序技术。现在,我们介绍GEO数据库的检索、下载,以及数据的预处理方法。首先,我们介绍GEO数据集查询R语言包——GEOquery.

GEOquery包的下载与安装

GEOquery包位于生物信息开源软件库Bioconductor, 在Bioconductor主页的搜索栏输入GEOquery回车后,出现了下载项。
在这里插入图片描述

  • 4
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
差异表达分析是一种常用的方法,用于比较不同条件下基因表达水平的变化。GEOquery和limma是R语言中广泛使用的两个,可用于处理和分析芯片数据的差异表达。下面是使用GEOquery和limma进行差异表达分析的步骤: 1. 下载和导入芯片数据 使用GEOquery中的getGEO函数下载芯片数据并导入到R中。例如,如果您要下载GSE12345数据集,可以使用以下代码: ``` library(GEOquery) gset <- getGEO("GSE12345") ``` 2. 数据质量控制 在进行差异表达分析之前,需要对数据进行质量控制。使用GEOquery中的summary函数和plotPCA函数可以对芯片数据进行基本的质量控制。例如,可以使用以下代码绘制PCA图: ``` library(limma) library(GEOquery) gset <- getGEO("GSE12345") edata <- exprs(gset[[1]]) edata <- t(edata) edata <- na.omit(edata) fit <- prcomp(edata) plotPCA(fit) ``` 3. 数据预处理 对芯片数据进行归一化和标准化处理,以消除不同芯片之间的差异,并确保数据符合正态分布。常用的预处理方法括RMA、GCRMA、MAS5等。使用limma中的normalizeBetweenArrays函数可以对芯片数据进行预处理。例如,可以使用以下代码对芯片数据进行RMA预处理: ``` library(limma) library(GEOquery) gset <- getGEO("GSE12345") edata <- exprs(gset[[1]]) edata <- t(edata) edata <- na.omit(edata) edata <- backgroundCorrect.RMA(edata) edata <- normalize.quantiles.RMA(edata) edata <- log2(edata) ``` 4. 差异表达分析 使用limma中的lmFit函数和eBayes函数可以进行差异表达分析。lmFit函数用于拟合线性模型,eBayes函数用于对差异表达结果进行统计显著性检验。例如,可以使用以下代码进行差异表达分析: ``` library(limma) library(GEOquery) gset <- getGEO("GSE12345") edata <- exprs(gset[[1]]) edata <- t(edata) edata <- na.omit(edata) edata <- backgroundCorrect.RMA(edata) edata <- normalize.quantiles.RMA(edata) edata <- log2(edata) factors <- c(0,0,0,1,1,1) design <- model.matrix(~factors) fit <- lmFit(edata, design) fit <- eBayes(fit) results <- topTable(fit, adjust="BH", sort.by="P", n=1000) ``` 上述代码中,factors表示芯片数据中不同样本的分组信息,design表示设计矩阵,fit表示拟合的线性模型,results表示差异表达结果。 5. 结果分析 根据差异表达结果,可以进行进一步的功能分析、通路分析等。常用的工具括ClusterProfiler、GOstats、KEGGprofile等。例如,可以使用以下代码进行GO分析: ``` library(ClusterProfiler) gset <- getGEO("GSE12345") edata <- exprs(gset[[1]]) edata <- t(edata) edata <- na.omit(edata) edata <- backgroundCorrect.RMA(edata) edata <- normalize.quantiles.RMA(edata) edata <- log2(edata) factors <- c(0,0,0,1,1,1) design <- model.matrix(~factors) fit <- lmFit(edata, design) fit <- eBayes(fit) results <- topTable(fit, adjust="BH", sort.by="P", n=1000) genes <- rownames(results) geneList <- names(genes) geneList <- names(genes)[abs(results$logFC) > 1 & results$adj.P.Val < 0.05] ego <- enrichGO(geneList, OrgDb="org.Hs.eg.db", ont="BP") barplot(ego) ``` 上述代码中,geneList表示差异表达基因列表,ego表示进行GO分析所得到的富集结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值