Scientific database lookup
Skill findscripter/everything-skills/09-verticals/scientific-database-lookup
类书式 AI Agent 技能大典 · 精选/中文化/互见成网的 500+ 开源技能,可作为 Claude Code 插件市场一键安装。A curated, cross-referenced encyclopedia of 500+ open-source agent skills.
npx -y skills add findscripter/everything-skills --skill scientific-database-lookupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
当需要从公开科研/生物医学/材料/经济等数据库通过 REST API 查询化合物、基因、蛋白、通路、变异、临床试验、专利或经济指标时使用;做选库、查 API 并返回原始 JSON 与所用数据库清单;不适用于私有/付费授权库或本地数据集分析;触发词:科研数据库、database lookup、PubChem、UniProt、ChEMBL、基因蛋白查询、REST API 查询、clinical trials
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
10.0 KB, ~3.3k tokens by cl100k_base, as published. Nobody here has run it
何时使用
需要从约 78 个公开科研数据库经其 REST API 取数时使用,覆盖:
- 物理/天文(NASA、NIST、SDSS、SIMBAD、NASA Exoplanet)
- 地球/环境(USGS、NOAA、EPA、OpenWeatherMap)
- 化学/药物(PubChem、ChEMBL、FDA/OpenFDA、KEGG、ChEBI、ZINC、BindingDB、DailyMed)
- 材料(Materials Project、COD)
- 生物/基因组(Reactome、UniProt、STRING、Ensembl、NCBI Gene/Protein/Taxonomy、GEO、GTEx、PDB、AlphaFold、InterPro、BioGRID、QuickGO/Gene Ontology、dbSNP、gnomAD、ENCODE、JASPAR、HPA、HCA、PRIDE、ENA、SRA 等)
- 疾病/临床(Open Targets、cBioPortal、GDC/TCGA、ClinVar、OMIM、DisGeNET、GWAS Catalog、Monarch、HPO、ClinicalTrials.gov)
- 专利/监管(USPTO、SEC EDGAR)
- 经济/金融(FRED、BEA、BLS、World Bank、Federal Reserve、ECB、US Treasury、Alpha Vantage、Data Commons)
- 人口/社科(US Census、Eurostat、WHO GHO)
任务本质:判断该查哪些库 → 调 API → 返回原始 JSON + 所用数据库与端点清单。
不该用的边界:
- DrugBank(付费授权)、COSMIC(学术注册 + JWT)、BRENDA(注册 + SOAP 非 REST)等付费/受限库——改用免费替代(见「注意事项」)。
- 不是公开 API 取数的需求,例如本地 CSV/表格清洗(用 csv-data-cleaner)、私有数据库 SQL(用 sql-query-builder)、事实核查/文献溯源(用 fact-checking)。
- 不负责对结果做深度统计建模,只负责取回原始数据并标注来源。
步骤
- 理解意图:用户要的是化合物?基因?通路?专利?表达数据?经济指标?由此决定查哪个库。
- 选库:用下方「指令」中的选库对照;拿不准时多库并查,宁可撒大网也别漏。跨域问题(如「关于阿司匹林的一切」「BRCA1 的一切」)并行查所有相关库。
- 校正标识符:库不认标识符是失败首因,先按标识符表换算(见「指令」)。
- 发请求:Claude Code 用
WebFetch(仅 GET);POST-only 库与需自定义 header 的库用curl。 - 返回结果:始终给出①每个库的原始 JSON;②已查数据库 + 具体端点清单;③无结果的库要显式说明,不可省略。
指令
选库速查(节选高频项)
| 用户问… | 首选库 | 备选 |
|---|---|---|
| 化合物、分子性质、SMILES | PubChem | ChEMBL |
| 生物活性 IC50/Ki/Kd、药物-靶点 | ChEMBL、BindingDB | PubChem、Open Targets |
| 药品标签/不良事件/召回 | FDA(OpenFDA) | DailyMed |
| 可购买化合物、虚拟筛选 | ZINC | PubChem |
| 材料(化学式/能带/晶体结构) | Materials Project | COD |
| 通路 | Reactome、KEGG | — |
| 蛋白序列/功能/注释 | UniProt | Ensembl |
| 蛋白互作 | STRING | BioGRID |
| 基因信息/基因组定位 | NCBI Gene | Ensembl |
| 跨组织表达 | GTEx | Human Protein Atlas |
| 3D 结构(实验/预测) | PDB / AlphaFold | EMDB |
| SNP/变异、人群频率 | dbSNP / gnomAD | ClinVar |
| 靶点-疾病关联 | Open Targets | ChEMBL |
| 癌症体细胞突变/基因组 | cBioPortal、GDC(TCGA) | Open Targets |
| 临床试验 | ClinicalTrials.gov | FDA |
| 专利(关键词/发明人/受让人) | USPTO(PatentsView) | — |
| 美国经济时序(GDP/CPI/利率) | FRED | BEA |
| 国际发展指标 | World Bank | FRED |
物种很关键:多数生物库覆盖多物种,别默认人类。Ensembl 用 URL 路径 {species}(如 homo_sapiens);STRING/BioGRID/QuickGO 用 NCBI taxon ID(人 9606、鼠 10090);UniProt 用 organism_id:9606;KEGG 用物种码(hsa/mmu)。GTEx 与 HPA 仅限人类。
常见标识符格式
| 标识符 | 格式 | 示例 | 用于 |
|---|---|---|---|
| UniProt accession | P#####/Q##### | P04637(TP53) | UniProt、STRING、AlphaFold、Reactome |
| Ensembl 基因 ID | ENSG########### | ENSG00000141510 | Ensembl、Open Targets、GTEx |
| NCBI Gene ID | 整数 | 7157(TP53) | NCBI Gene、GEO、DisGeNET、HPO |
| PubChem CID | 整数 | 2244(阿司匹林) | PubChem |
| ChEMBL ID | CHEMBL#### | CHEMBL25 | ChEMBL |
| Reactome stable ID | R-HSA-###### | R-HSA-109581 | Reactome |
| dbSNP rsID | rs######## | rs334 | dbSNP、gnomAD、GWAS Catalog |
| GO term | GO:####### | GO:0008150 | QuickGO |
| HP term | HP:####### | HP:0001250 | HPO(冒号 URL 编码为 %3A) |
| GENCODE ID | ENSG###.##(带版本号) | ENSG00000139618.17 | GTEx(必须带版本后缀) |
标识符解析工作流:
- 基因:符号 → NCBI Gene(esearch)取 Gene ID → 经 Ensembl
/xrefs/symbol/homo_sapiens/{symbol}换 Ensembl ID,或 UniProt 搜gene_exact:{symbol} AND organism_id:9606。 - 化合物:名称 → PubChem
/compound/name/{name}/cids/JSON取 CID →(UniChem/ChEMBL)换 ChEMBL ID;名称失败改用 SMILES/InChIKey/CAS。 - 变异:rsID 在 dbSNP/ClinVar/GWAS/gnomAD 直接可用;坐标用 Ensembl VEP 取注释与 rsID。
- 疾病:名称 → Open Targets / Monarch 搜,取 EFO 或 MONDO ID 供下游。
POST-only 库(WebFetch 不可用,必须 curl)
| 库 | 原因 | 示例 |
|---|---|---|
| Open Targets | GraphQL | curl -X POST -H "Content-Type: application/json" -d '{"query":"..."}' https://api.platform.opentargets.org/api/v4/graphql |
| gnomAD | GraphQL | curl -X POST -H "Content-Type: application/json" -d '{"query":"..."}' https://gnomad.broadinstitute.org/api |
| RummaGEO | POST 富集 | curl -X POST -H "Content-Type: application/json" -d '{"genes":["..."]}' https://rummageo.com/api/enrich |
| GDC/TCGA | 复杂过滤 | curl -X POST -H "Content-Type: application/json" -d '{"filters":...}' https://api.gdc.cancer.gov/ssms |
| SEC EDGAR | 需 User-Agent | curl -H "User-Agent: YourApp [email protected]" https://efts.sec.gov/LATEST/search-index?q=... |
API Key 加载(三级回退)
- 先查环境变量(如
echo $FRED_API_KEY),已设且非空就用。 - 回退
.env:读当前工作目录.env,格式FRED_API_KEY=your_key。 - 都没有则无 key 继续:多数 API 仍可用(速率更低),并告知用户缺哪个 key、去哪申请。
需 key 的免费库(env 变量):FRED FRED_API_KEY、BEA BEA_API_KEY、BLS BLS_API_KEY、NCBI NCBI_API_KEY、OpenFDA OPENFDA_API_KEY、USPTO PATENTSVIEW_API_KEY、Materials Project MP_API_KEY、NASA NASA_API_KEY(有 DEMO_KEY)、NOAA NOAA_API_KEY、OMIM OMIM_API_KEY、BioGRID BIOGRID_API_KEY、Alpha Vantage ALPHAVANTAGE_API_KEY、US Census CENSUS_API_KEY、DisGeNET DISGENET_API_KEY 等,均免费注册。
示例
请求「关于阿司匹林我们知道什么」→ 跨域并行查 PubChem + ChEMBL + Reactome:
# PubChem 名称取 CID 与基本性质(GET)
curl -s -H "Accept: application/json" \
"https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/name/aspirin/property/MolecularFormula,MolecularWeight,CanonicalSMILES/JSON"
# Reactome 搜索(GET)
curl -s "https://reactome.org/ContentService/search/query?query=aspirin"
输出结构:
## 已查数据库
- **PubChem** — /compound/name/aspirin/property/...
- **Reactome** — /search/query?query=aspirin
## 结果
### PubChem
[原始 JSON]
### Reactome
[原始 JSON]
结果很大时给出最相关部分并说明还有更多;但默认展示完整原始 JSON(用户要的就是它)。
注意事项
- URL 编码:失败高发于特殊字符——SMILES(
/ # = @)、含括号的化合物名、含冒号的本体词(HP:0001250→HP%3A0001250)。curl 用--data-urlencode更稳。 - 并行 vs 串行:查不同库可并行(限速宽松);对限速 API 须串行——NCBI 无 key 3 req/s、有 key 10;Ensembl 15 req/s;BLS v1 无 key 25 次/天;SEC EDGAR 10 req/s;NOAA 5 req/s。遇 429/503 略等后重试一次。
- 分页:别只读首页。Offset/Limit(ChEMBL、FRED、NCBI、ENA、GDC、FDA);游标
nextPageToken/cursor(ClinicalTrials.gov、UniProt);页码page/per_page(World Bank、cBioPortal、ZINC)。单点查询首页通常够;「全部试验/全部变异」类需翻页。 - 错误恢复:①查标识符格式;②换备用标识符;③换库(选库表「备选」列);④如实报告失败库、错误与替代方案。
- 付费/受限库替代:DrugBank→ChEMBL+PubChem+OpenFDA;COSMIC→Open Targets;BRENDA→KEGG。用了替代要告知用户原因与替代项。
- 始终返回原始 JSON,不要编造或省略未命中的库。
互见
- fact-checking:取回数据后若需对结论做事实核查/多源交叉验证。
- csv-data-cleaner:把抓取的 JSON 落地为表格并清洗时。
- sql-query-builder:面向私有/本地关系库(非公开 REST API)取数时。
- rag-pipeline-builder:把数据库结果纳入检索增强管线时。
本条采编自 K-Dense-AI/scientific-agent-skills(MIT)。
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.