78 lines
1.9 KiB
Markdown
78 lines
1.9 KiB
Markdown
---
|
|
title: "NCBI Gene (E-utilities)"
|
|
task: ""
|
|
lineage_type: import
|
|
upstream_source: https://github.com/K-Dense-AI/scientific-agent-skills/blob/9c9bd2e9/skills/database-lookup/references/ncbi-gene.md
|
|
upstream_sha: 9c9bd2e9
|
|
imported_at: 2026-06-26
|
|
prompt_class: prompt
|
|
upstream_changes: accepted
|
|
author: upstream
|
|
validated: false
|
|
---
|
|
|
|
# NCBI Gene (E-utilities)
|
|
|
|
## Base URL
|
|
```
|
|
https://eutils.ncbi.nlm.nih.gov/entrez/eutils/
|
|
```
|
|
|
|
## Auth
|
|
API key optional but recommended. Without key: 3 req/sec. With key: 10 req/sec.
|
|
Free key from: https://www.ncbi.nlm.nih.gov/account/settings/
|
|
Pass as: `&api_key=YOUR_KEY`
|
|
|
|
## Key Endpoints
|
|
|
|
### eSearch — Search for gene IDs
|
|
```
|
|
GET /esearch.fcgi?db=gene&term={query}&retmode=json&retmax={n}
|
|
```
|
|
|
|
Parameters:
|
|
- `db=gene` (required)
|
|
- `term` — search query (e.g. `BRCA1[gene]+AND+human[orgn]`)
|
|
- `retmode=json`
|
|
- `retmax` — max results (default 20)
|
|
- `retstart` — pagination offset
|
|
|
|
Example:
|
|
```
|
|
/esearch.fcgi?db=gene&term=BRCA1[gene]+AND+human[orgn]&retmode=json&retmax=5
|
|
```
|
|
|
|
### eSummary — Get gene metadata
|
|
```
|
|
GET /esummary.fcgi?db=gene&id={gene_ids}&retmode=json
|
|
```
|
|
|
|
Key response fields: `name`, `description`, `chromosome`, `maplocation`, `otheraliases`, `nomenclaturesymbol`, `organism`
|
|
|
|
Example:
|
|
```
|
|
/esummary.fcgi?db=gene&id=672&retmode=json
|
|
```
|
|
|
|
### eFetch — Full gene records (XML/text only, no JSON)
|
|
```
|
|
GET /efetch.fcgi?db=gene&id={gene_ids}&rettype=gene_table&retmode=text
|
|
```
|
|
|
|
### eLink — Cross-database links (gene to pathways, PubMed, OMIM)
|
|
```
|
|
GET /elink.fcgi?dbfrom=gene&db={target_db}&id={gene_id}&retmode=json
|
|
```
|
|
|
|
Target databases: `biosystems` (pathways), `pubmed`, `omim`, `nuccore`, `protein`
|
|
|
|
Example — gene to pathways:
|
|
```
|
|
/elink.fcgi?dbfrom=gene&db=biosystems&id=672&retmode=json
|
|
```
|
|
|
|
## Rate Limits
|
|
- Without API key: 3 requests/second
|
|
- With API key: 10 requests/second
|
|
- For bulk: use `usehistory=y` with eSearch, then retrieve via `query_key` and `WebEnv`
|