# GEO 数据库参考文档
## 完整的 E-utilities API 规范
### 概述
NCBI Entrez 编程工具 (E-utilities) 通过一组九个服务器端程序提供对 GEO 元数据的编程访问。所有 E-utilities 默认以 XML 格式返回结果。
### 基础 URL
https://eutils.ncbi.nlm.nih.gov/entrez/eutils/
### 核心 E-utility 程序
#### eSearch - 文本查询转 ID 列表
**目的:** 搜索数据库并返回匹配查询的 UID 列表。
**URL 模式:**
https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi
**参数:**
- `db` (必需):要搜索的数据库 (例如 "gds", "geoprofiles")
- `term` (必需):搜索查询字符串
- `retmax`:返回的最大 UID 数量 (默认:20,最大:10000)
- `retstart`:结果集中的起始位置 (用于分页)
- `usehistory`:设置为 "y" 以将结果存储在历史服务器上
- `sort`:排序顺序 (例如 "relevance", "pub_date")
- `field`:将搜索限制在特定字段
- `datetype`:限制日期的类型
- `reldate`:限制在距今天 N 天内的项目
- `mindate`, `maxdate`:日期范围限制 (YYYY/MM/DD)
**示例:**
python
from Bio import Entrez
Entrez.email = "
[email protected]"
# 基本搜索
handle = Entrez.esearch(
db="gds",
term="breast cancer AND Homo sapiens",
retmax=100,
usehistory="y"
)
results = Entrez.read(handle)
handle.close()
# 结果包含:
# - Count: 匹配总数
# - RetMax: 返回的 UID 数量
# - RetStart: 起始位置
# - IdList: UID 列表
# - QueryKey: 历史服务器的键 (如果 usehistory="y")
# - WebEnv: Web 环境字符串 (如果 usehistory="y")
#### eSummary - 文档摘要
**目的:** 检索 UID 列表的文档摘要。
**URL 模式:**
https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi
**参数:**
- `db` (必需):数据库
- `id` (必需):逗号分隔的 UID 列表或 query_key+WebEnv
- `retmode`:返回格式 ("xml" 或 "json")
- `version`:摘要版本 (推荐 "2.0")
**示例:**
python
from Bio import Entrez
Entrez.email = "
[email protected]"
# 获取多个 ID 的摘要
handle = Entrez.esummary(
db="gds",
id="200000001,200000002",
retmode="xml",
version="2.0"
)
summaries = Entrez.read(handle)
handle.close()
# GEO 数据集的摘要字段:
# - Accession: GDS 登录号
# - title: 数据集标题
# - summary: 数据集描述
# - PDAT: 发布日期
# - n_sampl