R语言 | GEO数据库下载GSE基因芯片 以及表达矩阵和临床信息的提取

5 篇文章 3 订阅

目录

1.载入R包

2.利用AnnoProbe下载GEO数据库中的数据

3.提取表达矩阵和临床信息

4.输出文件


1.获得GEO数据库中的数据

下面以GSE14520数据系为例:

获得GEO数据库中的数据总体上分为两种办法:1.从GEO数据库中下载;2.用R包下载

(1)从GEO数据库中下载

进入GEO网站,找到对应的Series Matrix File(s)即表达矩阵进行下载,保存到本地进行加载。

 在R中打开,由于read.table之后的表达矩阵与getGEO之后的有一定出入,需要处理一下。

a1<-read.table("GSE76275_series_matrix.txt.gz",sep="\t",quote = "",
               fill=T,comment.char = "!",header=T)
rownames(a1)<-a1[,1] #把第一列的值变为行名
a1<-a1[,-1] 

(2)用R包下载

用R包下载GSE芯片数据有两种方法:使用AnnoProbe包或者GEOquery包

方法一:利用AnnoProbe包

gset=AnnoProbe::geoChina('GSE14520')

tips:AnnoProbe包只能用于下载GEO中的arry数据,无法下载RNAseq类型的GSE。如果下载的GSE是RNAseq类型,AnnoProbe会报错。

 方法二:利用GEOquery包中的getGEO函数

gset <- getGEO("GSE14520",
               GSEMatrix =TRUE
               AnnotGPL=TRUE ,)

AnnotGPL:关于是否使用注释GPL信息默认为False的布尔值。这些文件很好用,因为它们包含定期从Entrez Gene重新映射的最新信息。但是,它们并不适用于所有GPLS;通常,它们仅适用于GDS引用的GPLs。所以有时候我们需要单独下载处理,其实就是用于探针注释。

GSEMatrix:告知GEO查询是否使用GEO中的GSE系列矩阵文件的布尔值。

2.提取表达矩阵和临床信息

exprSet <- data.frame(exprs(gset[[1]]))  #exprs用于提取表达矩阵信息
pdata<-pData(exp)  #pData用于提取临床信息

gset[[1]] 的意思是,从gset这个对象中提取第一列数据。也就是提取了下图中$GSE16956_series_matrix.txt.... 这一列的数据

[[ ]]这个语法有点类似于$,都是用来提取串列的。只不过[[]]可以提取list,而$只能提取dataframe

注意: 

如果你的GSE只有一个GPL,那么从gset中就仅含有一列数据,也就是说gset[[1]]就能把这个GSE所有的数据提取出来。

但如果你的GSE只有两个GPL,那么从gset中就有两列数据,gset[[1]]只能提取该GSE中一个GPL,不注意这点就会遗漏掉另一个GPL的数据。所以,这种情况要使用两行代码分别提取两个GLP的数据。

expMatrix1 <- exprs(gset[[1]])#提取第一个平台的表达矩阵
expMatrix2 <- exprs(gset[[2]])#提取第二个平台的表达矩阵
expMatrix <- cbind(expMatrix1, expMatrix2)#两个表达矩阵合并为一个总矩阵
pdata1 <- pData(gset[[2]])#提取第一个平台的临床数据
pdata2 <- pData(gset[[1]])#提取第二个平台的临床数据

那么如何判断你下载的这个GSE是有几个GPL呢?很简单,如果包含了两个或者多个GPL,你可以在RStudio右上角的环境变量中的”gset“后面的括号里看到”2 elements“的字样

2个GLP
含有2个GPL的gset

如果只含有一个GPL,则不会显示括号,仅显示”Large ExpressionSet“的字样

含有2个GPL的gset

或者你也可以通过View(gset)语法来查看:

含有1个GPL的GSE

含有2个GPL的GSE

3.输出文件

最后将数据框输出为csv文件,这个时候如果直接用write.table()函数的话,会造成列名左移的情况,解决办法参见我之前的文章(9条消息) R语言 | 导出数据框,会出现第一行左移一位的问题,解决办法如下_tianyuu1的博客-CSDN博客https://blog.csdn.net/tianyuu1/article/details/128105158


更多教学请关注:

👉🏻公众号:LN生物笔记👈🏻

👉🏻知乎:小宇👈🏻

  • 9
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 下载GSE数据的代码示例: ```R # 安装和加载GEOquery包 install.packages("GEOquery") library(GEOquery) # 下载 GSE 数据 gse <- getGEO("GSEXXXXX") # 将 XXXXX 替换成GSE号 # 获取表达矩阵 exprs <- exprs(gse[[1]]) # 获取样品信息 pData <- pData(gse[[1]]) ``` 其中,getGEO() 函数用于下载 GSE 数据,exprs() 函数用于获取表达矩阵,pData() 函数用于获取样品信息。 ### 回答2: GEOquery是一个用于在R语言环境中下载和分析GEO数据库的工具包。要使用GEOquery下载GSE数据,您需要按照以下步骤操作: 1. 首先,确保您已经安装了R和GEOquery包。可以使用以下代码在R中安装GEOquery包: install.packages("GEOquery") 2. 在加载GEOquery包之前,您需要先加载它所依赖的包。可以使用以下代码加载所需的包: library(Biobase) library(GEOquery) 3. 要下载特定的GSE数据集,您需要先获取该数据集的GEO accession号。可以在GEO数据库的网站上搜索您感兴趣的数据集,并找到对应的GSE号。 4. 使用以下代码将GSE数据集下载到R中: gse <- getGEO("GSE号") data <- exprs(gse[[1]]) 在上述代码中,将"GSE号"替换为您要下载GSE数据集的实际GEO accession号。getGEO函数将按照指定的GSE下载数据集,并将其存储在gse对象中。然后,使用exprs函数从gse对象中提取表达矩阵数据,并将其存储在data对象中。 5. 下载完成后,您可以使用R中的其他函数和工具对下载的数据进行进一步的处理和分析。根据您的需求,可以使用不同的统计分析方法、可视化工具等来分析和解释数据。 以上是使用GEOquery包下载GSE数据的基本过程。根据具体的研究问题和需求,您可能需要进一步了解和运用其他GEOquery的功能和函数来完善数据分析过程。 ### 回答3: GEOquery是一个用于从Gene Expression Omnibus(GEO)数据库下载和分析基因表达数据的R软件包。以下是用于下载GSE数据的代码示例: 首先,确保已经安装了GEOquery包。在R控制台中运行以下命令进行安装: install.packages("GEOquery") 接下来,加载GEOquery包: library(GEOquery) 然后,使用getGEO函数进行GSE数据的下载。例如,假设我们要下载GSE数据集GSE12345,可运行以下代码: gse <- getGEO("GSE12345") 这将下载GSE12345数据集,并将其存储在名为gse的对象中。你可以将gse替换为你感兴趣的其他GSE号。 如果你只想获取数据表达矩阵,可以使用exprs函数从gse对象中提取数据矩阵: expression_matrix <- exprs(gse[[1]]) 以上代码将把GSE数据集的表达矩阵存储在expression_matrix变量中。 此外,你也可以使用pData函数提取与样本相关的数据,例如样本的性别、年龄等信息: sample_metadata <- pData(gse[[1]]) 最后,你可以根据需要对下载GSE数据进行进一步的分析和处理。 这就是使用GEOquery包下载GSE数据的基本代码示例。希望能对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值