对GEO的编程访问
介绍
可以使用一套程序称为Entrez编程实用程序(E-Utils)。
E-Utils是一组服务器端程序,为搜索、检索和链接提供稳定的界面Entrez系统的函数,使用固定的URL语法。E-Utils旨在从计算机程序中调用可以处理它们的输出。输出以XML格式提供。
GEO数据存储在两个单独的数据库中:
需要牢记的三个关键概念是:
- E-Utils只能检索存储在Entrez系统中的数据。对于GEO数据库,Entrez中只存储元数据。要检索完整的GEO记录、完整的数据表或原始数据文件,需要第二步,即构建FTP URL(请参阅FTP目录结构表)并下载数据。
- 每个Entrez记录都使用唯一的整数ID(UID)进行标识。UID用于数据输入和输出。搜索历史参数(query_key和WebEnv)也可用于识别以前的搜索结果。
- 您可以使用字段限定符来优化初始搜索,字段限定符可以根据数据类型筛选结果,发布日期范围等等。
典型工作流可能包含以下步骤:
- 使用Entrez GEO DataSet中的限定符字段微调搜索
- 构建适当的电子搜索脚本/程序中的查询
- 运行查询,根据需要以UID或历史参数(query_key和WebEnv)的形式检索结果
-
运行电子摘要或eFetch(电子取回)和/或电子链接根据您检索最终元数据或访问的需要。
-
如果您需要下载完整记录或补充文件,使用登录信息构造FTP URL并下载数据。
有关更多信息,请查看完整的E-Utils文档或NCBI短期课程使用Entrez编程实用程序构建自定义数据管道.
示例
对于大多数应用程序来说,地理数据集是构建搜索的更有用和更明智的地方。这里的所有示例都将演示GEO数据集的搜索和检索。
在每个示例中,请注意query_key和WebEnv参数仅用于演示目的。这些参数在历史服务器中存储有限的时间;执行eSearch以生成新的query_key和WebEnv参数。
在db=gds中构造并执行eSearch以检索序列ID,使用:
使用eSearch中的query_key和WebEnv参数执行eSummary:
- https://eutils.ncbi.nlm.nih.gov/enterz/eutils/esummary.fcgi?db=gds&version=2.0&query_key=X&WebEnv=ENTER_WebEnv_PARAMETER_HERE(电子邮箱)
这将检索所有系列记录的摘要文档。
在db=gds中构造并执行eSearch,以检索相关的Series和DataSet记录,使用:
使用eSearch中的query_key和WebEnv参数执行eFetch:
- https://eutils.ncbi.nlm.nih.gov/enterz/eutils/efetch.fcgi?db=gds&query_key=X&WebEnv=ENTER_WebEnv_PARAMETER_HERE
这将生成一个文档摘要文本文件,列出所有酿酒酵母实验在过去3个月内发布的(本例中为2007年1月至2007年3月)。
在查找与特定阵列相关的数据时,通常最安全的方法是使用该平台的GEO登录号,而不是其名称。HG-U133A的官方版本具有登录号GPL96,由手动搜索.
使用以下命令在db=gds中构造并执行eSearch查询,以查找所有包含与GPL96相关的Samples和CEL文件的Series记录:
使用eSearch中的query_key和WebEnv参数执行eSummary:
- https://eutils.ncbi.nlm.nih.gov/enterz/eutils/esummary.fcgi?db=gds&query_key=X&WebEnv=ENTER_WebEnv_PARAMETER_HERE
这将返回包含HG-U133A CEL文件的所有系列记录的摘要文档。
从eSummary文档中提取系列登录号。然后,您可以使用此系列登录列表构造URL以获取原始数据文件,例如:
- ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE5nnn/GSE5290/suppl/GSE5260_RAW.tar
在db=gds中构造并执行eSearch以检索相关记录,使用:
使用eSearch中的query_key和WebEnv参数执行到PubMed的eLink:
- https://eutils.ncbi.nlm.nih.gov/enterz/eutils/elink.fcgi?dbfrom=gds&db=pubmed&query_key=X&WebEnv=ENTER_WebEnv_PARAMETER_HERE
这列出了与GEO大鼠实验相关的所有PubMed ID。
更多详细信息
电子搜索 |
使用与给定数据库中的查询匹配的唯一标识符(UID)列表响应文本查询,以及查询的术语翻译 |
电子摘要 |
用相应的文档摘要响应UID列表 |
eFetch(电子取回) |
用相应的数据记录响应UID列表 |
电子公告 |
接受UID列表,将集合存储在历史服务器上,并使用相应的查询键和Web环境进行响应 |
电子链接 |
使用相关ID列表响应给定数据库中的UID列表在同一数据库中或在另一个Entrez数据库中的链接ID列表中 |
电子信息 |
提供给定数据库每个字段中索引的记录数,数据库的上次更新日期,以及从数据库到其他Entrez数据库的可用链接 |
所有GEO数据均可从FTP站点下载。目录结构按类型组织,GEO加入范围、GEO加入编号和格式。范围子目录名称是通过替换加入语的最后三位数字加上字母“nnn”。例如,
- GSM575:
- /样品/GSMnnn/GSM575/
- GSM1234:
- /样品/GSM1nnn/GSM1234/
- GSM12345:
- /样品/GSM12nnn/GSM12345/
有关更多信息,请参阅自述文件.