GEO数据下载

GEO是生信分析经常用到的数据库。经常需要从中获取表达矩阵,平台信息,meta信息等,本博文总结了几种下载GEO数据的方法,各有优劣,实际应用过程中自行选择适合自己的。

方法一:直接从浏览器中下载,手动

以数据集GSE1001为例,

可以直接点击“Series Matrix Files”获取该样本txt格式的表达谱数据,一般我们认为这种处理过的表达谱数据是没有问题的,当然,具体情况具体分析。
打开下载的文件可以看到许多“#”开头的行,这些是注释信息,一般关注这些注释信息中的“data processing”,这行中可以看到数据是如何归一化和标准化的,以及是否已经经过log转化等。
之后我们需要下载平台数据以注释表达谱中的探针,点击“GPL85”,点击下图中的红框,

之后可以用R进行表达谱和平台数据的合并。

注意!到这里我们获得的只是初步的表达数据,还没有经过预处理,需要用R处理多个探针对应一个表达值,无对应symbol,以及合并多个探针对应一个symbol的情况后才可进行后续分析。

优缺点:

优点:该方法的优点是下载较快,数据也比较完整。
缺点:无法直接得到metadata,需要手动通过GEO2R获取,或在表达谱的注释信息中寻找。

方法二:代码下载,自动化

常用的R包有GEOquery,直接copy了“生信技能树”的代码,以下代码直接将表达谱封装成expression set对象,这有一个非常显著的优点即可以直接导入limma进行差异分析。

downGSE <- function(studyID = "GSE1009", destdir = ".") {library(GEOquery)eSet <- getGEO(studyID, destdir = destdir, getGPL = F)exprSet = exprs(eSet[[1]])pdata = pData(eSet[[1]])#表型信息,里面包含了需要的分组信息write.csv(exprSet, paste0(studyID, "_exprSet.csv"))write.csv(pdata, paste0(studyID, "_metadata.csv"))return(eSet)}#导入limma包进行分析
library(limma)
design=model.matrix(~factor(sCLLex$Disease))
fit=lmFit(eSet,design)
fit=eBayes(fit)
options(digits = 4)
topTable(fit,coef=2,adjust='BH')

关于原始芯片数据的处理可参考以下文章link of original microarray

如果自己手头上已经有了表达谱数据和分组信息,也可以手动构造expression set对象:

metadata <- data.frame(labelDescription=c('SampleID', 'Disease'),row.names=c('SampleID', 'Disease'))phenoData <- new("AnnotatedDataFrame",data=meta,varMetadata=metadata)myExpressionSet <- ExpressionSet(assayData=exprMatrix,phenoData=phenoData,annotation="hgu95av2")> myExpressionSetExpressionSet (storageMode: lockedEnvironment)assayData: 12625 features, 22 samples element names: exprs protocolData: nonephenoDatasampleNames: CLL11.CEL CLL12.CEL ... CLL9.CEL (22 total)varLabels: SampleID DiseasevarMetadata: labelDescriptionfeatureData: none`在这里插入代码片`experimentData: use 'experimentData(object)'Annotation: hgu95av2 >

如果只是想获得某一GSE的metadata,可以通过GEOmetadb包获取:

library(GEOmetadb)
if(!file.exists('GEOmetadb.sqlite')) getSQLiteFile()
## 取决于网速哦
file.info('/path/GEOmetadb.sqlite')
con <- dbConnect(SQLite(),'/path/GEOmetadb.sqlite'))
#dbListTables(con2)
#dbListFields(con2,'gse')
GeoList = read.table("diabetes.GEO.list")
query = paste("select + from gsm where series_id in(  ' ", gsub(", ", " ', ' ", paste(Geolist[,1], collapse=",")," ')", seq=" ")
query
tmp = dbGetQuery(con2, query)
write.csv(tmp, "diabetes.GEO.meta.csv")

优缺点:

优点:自动化
缺点:取决于网速,下载慢

GEO数据库数据下载方法总结相关推荐

  1. GEO数据库数据下载

    GEO(Gene Expression Ommius datasets): 该数据库搜集了大量表达谱,甲基化,lncRNA,miRNA,CNV等芯片数据 该数据信息包括了: GPL:GEO Platf ...

  2. GEO芯片数据下载和探针ID转换(保姆级教程)

    GEO芯片数据下载和探针ID转换(保姆级教程) 一.问题描述 探针ID转换 数据是否预处理过 二.Rstudio的安装(建议阅读,避免后续转换时出错) 安装包的下载 安装步骤 三.(正文)芯片数据下载 ...

  3. ACCESS数据库防下载方法 1

    ACCESS数据库防下载方法 作者:luotoal  来源:网络  点击数: 21131  更新时间:2006年05月21日  ACCESS数据库防下载方法   下面的方法分别适用有IIS控制权和   ...

  4. python如何导出数据库数据库_python导出数据库数据的方法

    python导出数据库数据的方法 发布时间:2020-06-26 14:09:43 来源:亿速云 阅读:138 这篇文章运用简单易懂的例子给大家介绍python导出数据库数据的方法,代码非常详细,感兴 ...

  5. MODIS数据下载方法

    MODIS数据下载方法 1.安装火狐浏览器,并添加以下组件 2.在组件DownThemAll!中打开"选项",点击"新建",按照下图输入下载格式,并点击&quo ...

  6. NHANES数据库数据下载

    今天跟大家分享一下如何用R包nhanesA下载NHANES数据 以一个简单的研究目的为例:使用NHANES数据库中的数据构建一个舒张压的预测模型. 根据该研究目的,整理纳入分析的周期和变量: ①研究周 ...

  7. SRA数据下载方法总结

    SRA数据常用的下载方法 研究生了,对以往的知识进行一个复习和总结吧. SRA数据库存储了现在主要高通量测序平台的原始测序数据和和比对信息,包括了SRA.EBI.DDBJ.JGI等数据库的信息.(这里 ...

  8. Sentinel2 哨兵2数据下载方法

    Sentinel2 哨兵数据是免费的卫星数据,网上可以下载的地方也比较多,但是不是所有下载方式都好用,这里列举了三个比较好下载的地方. 一. USGS下载 这个是下载比较方便的,能够同时在线下载多景数 ...

  9. oracle各个版本数据库软件下载方法

    最近有同学发现oracle官方都是最新的版本,想下载 11.2.0.4都下不到,更别说其他的版本.下面我总结了几个方法:  下载各个版本的数据库软件: 方法1:mos搜如下 Assistant: Do ...

最新文章

  1. 三态模型-引起进程状态转换的具体原因
  2. 摩卡业务服务管理 全面彰显强大产业推动优势——神华集团神东煤炭分公司
  3. 聊聊数据库和缓存同步机制
  4. ConvertUtils.register的作用
  5. MySQL + Atlas 部署读写分离
  6. 从零开始实现ASP.NET Core MVC的插件式开发(四) - 插件安装
  7. Github的简单使用
  8. 数据大牛都在啃的10本书
  9. vector中删除元素后,如何有效的释放无效元素的内存
  10. Ubuntu 14.04 安装 WPS
  11. Uboot系统初始化为何要初始化堆栈?为何C语言的函数调用要用到堆栈,而汇编却不需要初始化堆栈?
  12. vc模拟 tabletpc_KB895953-TCServer.exe TabletPC崩溃/内存泄漏HotFix
  13. 服务器系统怎么用主板做RAID,超微主板如何创建RAID磁盘阵列 服务器组建RAID0、RAID1教程(图文)...
  14. RN:App版本更新提示方案
  15. 谷歌浏览器不支持ocx控件
  16. 蓝鲸作业平台:搞定与脚本相关的一切
  17. 语言的二义性——编译原理
  18. 安卓系统网络服务器地址,安卓系统 云服务器地址
  19. 初始化之前使寄存器恢复缺省值的重要性
  20. 什么是蜜罐?底层原理是什么?

热门文章

  1. 2023年互联网技术发展趋势浅析
  2. threejs 粒子系统和材质贴图
  3. 国务院:电子印章跨地区跨部门互信互认,契约锁助力企业办事提效
  4. LIS医疗管理系统源码
  5. easypoi基本使用
  6. 【OpenCV】opencv处理透明图片
  7. smurf分布式攻击(DDOS)
  8. 游戏经济系统——体系设计002
  9. C#/VB.NET 对Excel单元格填充背景色
  10. JAVA中的异步调用