用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/brycewang-stanford/Auto-Empirical-Research-Skills --skill quickgo-api命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | quickgo-api |
| description | Browse and search Gene Ontology annotations via the QuickGO API |
| metadata | {"openclaw":{"emoji":"🧬","category":"domains","subcategory":"biomedical","keywords":["Gene Ontology","GO annotations","protein function","QuickGO","EBI","functional genomics"],"source":"https://www.ebi.ac.uk/QuickGO/"}} |
QuickGO is the EBI's fast browser and API for Gene Ontology (GO) annotations — the standard framework for describing gene/protein functions across all organisms. It provides access to 800M+ GO annotations covering biological processes, molecular functions, and cellular components. Essential for functional genomics, pathway analysis, and gene set enrichment. Free, no authentication.
https://www.ebi.ac.uk/QuickGO/services
# Search terms by keyword
curl "https://www.ebi.ac.uk/QuickGO/services/ontology/go/search?query=apoptosis&limit=20"
# Get term details
curl "https://www.ebi.ac.uk/QuickGO/services/ontology/go/terms/GO:0006915"
# Get term ancestors/descendants
curl "https://www.ebi.ac.uk/QuickGO/services/ontology/go/terms/GO:0006915/ancestors"
curl "https://www.ebi.ac.uk/QuickGO/services/ontology/go/terms/GO:0006915/descendants"
# Get annotations for a protein (UniProt ID)
curl "https://www.ebi.ac.uk/QuickGO/services/annotation/search?geneProductId=P04637&limit=50"
# Annotations for a GO term
curl "https://www.ebi.ac.uk/QuickGO/services/annotation/search?goId=GO:0006915&taxonId=9606&limit=50"
# Filter by evidence code
curl "https://www.ebi.ac.uk/QuickGO/services/annotation/search?\
goId=GO:0006915&taxonId=9606&evidence=EXP,IDA,IMP&limit=50"
# Filter by aspect (ontology branch)
curl "https://www.ebi.ac.uk/QuickGO/services/annotation/search?\
geneProductId=P04637&aspect=biological_process"
# Download as TSV
curl "https://www.ebi.ac.uk/QuickGO/services/annotation/downloadSearch?\
goId=GO:0006915&taxonId=9606&downloadLimit=10000" -o annotations.tsv
| Aspect | Code | Description |
|---|---|---|
| Biological Process | biological_process | What the gene does |
| Molecular Function | molecular_function | Biochemical activity |
| Cellular Component | cellular_component | Where in the cell |
| Code | Meaning | Reliability |
|---|---|---|
EXP | Inferred from Experiment | High |
IDA | Inferred from Direct Assay | High |
IMP | Inferred from Mutant Phenotype | High |
IPI | Inferred from Physical Interaction | Medium |
ISS | Inferred from Sequence Similarity | Medium |
IEA | Inferred from Electronic Annotation | Lower |
import requests
BASE_URL = "https://www.ebi.ac.uk/QuickGO/services"
def search_go_terms(query: str, limit: int = 20) -> list:
"""Search Gene Ontology terms."""
resp = requests.get(
f"{BASE_URL}/ontology/go/search",
params={"query": query, "limit": limit},
)
resp.raise_for_status()
data = resp.json()
results = []
for term in data.get("results", []):
results.append({
"id": term.get("id"),
"name": term.get("name"),
"aspect": term.get("aspect"),
"definition": term.get("definition", {}).get("text", ""),
})
return results
def get_protein_annotations(uniprot_id: str,
aspect: str = None,
experimental_only: bool = False) -> list:
"""Get GO annotations for a protein."""
params = {"geneProductId": uniprot_id, "limit": 100}
if aspect:
params["aspect"] = aspect
if experimental_only:
params["evidence"] = "EXP,IDA,IMP,IPI,IGI,IEP"
resp = requests.get(
,
params=params,
)
resp.raise_for_status()
data = resp.json()
annotations = []
ann data.get(, []):
annotations.append({
: ann.get(),
: ann.get(),
: ann.get(),
: ann.get(),
: ann.get(),
})
annotations
() -> :
params = {
: go_id,
: taxon_id,
: limit,
}
resp = requests.get(
,
params=params,
)
resp.raise_for_status()
data = resp.json()
genes = ()
ann data.get(, []):
genes.add(ann.get(, ))
(genes)
terms = search_go_terms()
t terms[:]:
()
annotations = get_protein_annotations(,
experimental_only=)
a annotations[:]:
()