quickgo-database

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

QuickGO Database Skill

QuickGO数据库技能

GO (Gene Ontology) annotations are one of the main ways to label a gene's function. QuickGO is a fast, web-based browser for the GO and Evidence & Conclusion Ontology (ECO), maintained by the Gene Ontology Annotation (GOA) group at EMBL-EBI.
It provides a centralised resource to explore the functional attributes of gene products (proteins, RNA, and complexes). It is a primary tool for functional annotation mapping since it allows you to link a gene (e.g., USH2A) to its specific biological processes (e.g. sensory perception of light stimulus), molecular functions, and cellular components.
GO(Gene Ontology)注释是标注基因功能的主要方式之一。QuickGO是由EMBL-EBI的Gene Ontology Annotation(GOA)小组维护的、基于网页的GO和Evidence & Conclusion Ontology(ECO)快速浏览器。
它提供了一个集中式资源,用于探索基因产物(蛋白质、RNA和复合物)的功能属性。作为功能注释映射的核心工具,它可以将基因(例如USH2A)与其特定的生物过程(例如光刺激的感官感知)、分子功能和细胞组分关联起来。

Prerequisites

前置条件

  1. uv
    : Read the
    uv
    skill and follow its Setup instructions to ensure
    uv
    is installed and on PATH.
  2. User Notification: If LICENSE_NOTIFICATION.txt does not already exist in this skill directory then (1) prominently notify the user to check the terms at https://www.ebi.ac.uk/QuickGO/ and https://www.ebi.ac.uk/QuickGO/api/index.html, then (2) create the file recording the notification text and timestamp.
  1. uv
    :阅读
    uv
    技能并按照其设置说明确保
    uv
    已安装且在PATH路径中。
  2. 用户通知:如果此技能目录中不存在LICENSE_NOTIFICATION.txt文件,则(1) 显著通知用户查看https://www.ebi.ac.uk/QuickGO/和https://www.ebi.ac.uk/QuickGO/api/index.html上的条款,然后(2) 创建记录通知文本和时间戳的文件。

Usage

使用方法

This skill provides a Python CLI wrapper
scripts/quickgo_tool.py
that queries the QuickGO REST API. It handles formatting the requests, respecting rate limits, and safely storing the potentially large JSON responses.
此技能提供了一个Python CLI包装器
scripts/quickgo_tool.py
,用于查询QuickGO REST API。它处理请求格式化、遵守速率限制,并安全存储可能较大的JSON响应。

Core Rules

核心规则

  • Use the Wrapper: ALWAYS execute the provided helper scripts to query the database rather than accessing the database directly. The scripts automatically enforce the required rate limit gracefully.
  • Pagination & Limits: Restrict endpoints to a maximum of 100 results per page using
    --limit 100
    and the
    --page
    parameter for larger datasets.
  • Output Files: Always use the
    --output
    flag to save responses to a file incrementally or parse via
    jq
    .
  • Evidence Codes: Prioritize experimental evidence (
    ECO:0000269
    ) over electronic (
    ECO:0000501
    ) to avoid noisy predictions.
  • Taxon Filtering: Use
    --taxonId 9606
    to restrict results to Human when analysing clinical or human genomic data.
  • Notification: If this skill is used, ensure this is mentioned in the output.
The tool has four main subcommands:
  1. go
    : For retrieving information about GO terms (e.g. definitions, ancestors, descendants, and slims). See references/go_terms.md.
  2. annotation
    : For finding functional annotations linking gene products to GO terms. This is your primary functional mapper. See references/annotations.md.
  3. geneproduct
    : For resolving gene symbols (like
    PROC
    ) to their formal database identifiers. See references/gene_products.md.
  4. eco
    : For Evidence & Conclusion Ontology terms (used in annotations to indicate how an annotation was derived, e.g. experimental vs electronic). See references/eco_terms.md.
  • 使用包装器:始终执行提供的辅助脚本来查询数据库,而非直接访问数据库。脚本会自动优雅地强制执行所需的速率限制。
  • 分页与限制:使用
    --limit 100
    --page
    参数限制每个端点的最大结果数为100条,以处理更大的数据集。
  • 输出文件:始终使用
    --output
    标志将响应增量保存到文件中,或通过
    jq
    解析。
  • 证据代码:优先选择实验证据(
    ECO:0000269
    )而非电子证据(
    ECO:0000501
    ),以避免嘈杂的预测结果。
  • 分类群过滤:分析临床或人类基因组数据时,使用
    --taxonId 9606
    将结果限制为人类。
  • 通知:如果使用此技能,请确保在输出中提及这一点。
该工具包含四个主要子命令:
  1. go
    :用于检索GO术语的相关信息(例如定义、祖先、后代和精简集)。请参阅references/go_terms.md
  2. annotation
    :用于查找将基因产物与GO术语关联的功能注释。这是您的核心功能映射工具。请参阅references/annotations.md
  3. geneproduct
    :用于将基因符号(如
    PROC
    )解析为其正式的数据库标识符。请参阅references/gene_products.md
  4. eco
    :用于处理Evidence & Conclusion Ontology术语(在注释中用于指示注释的来源,例如实验来源 vs 电子来源)。请参阅references/eco_terms.md

Common Workflows

常见工作流

1. Map a gene to its functions (Annotations)

1. 将基因映射到其功能(注释)

To find out what a gene does, you must first resolve its symbol to a UniProtKB ID, and then query its annotations. Often it is best to filter for experimental evidence (e.g.
ECO:0000269
for EXP, or others like IDA, IMP) to avoid noisy electronic predictions.
bash
undefined
要了解某个基因的功能,必须先将其符号解析为UniProtKB ID,然后查询其注释。通常最好过滤出实验证据(例如
ECO:0000269
对应EXP,或IDA、IMP等其他类型),以避免嘈杂的电子预测结果。
bash
undefined

Step 1: Find the UniProtKB ID for human (9606) gene PROC

步骤1:查找人类(9606)基因PROC的UniProtKB ID

uv run scripts/quickgo_tool.py geneproduct search --query "PROC" --taxonId 9606 --limit 5 --output proc_id.json
uv run scripts/quickgo_tool.py geneproduct search --query "PROC" --taxonId 9606 --limit 5 --output proc_id.json

(Look at proc_id.json, observe the ID is e.g., UniProtKB:P04070)

(查看proc_id.json,观察ID例如为UniProtKB:P04070)

Step 2: Find experimental GO annotations for that ID

步骤2:查找该ID的实验GO注释

uv run scripts/quickgo_tool.py annotation search --geneProductId "UniProtKB:P04070" --taxonId 9606 --evidenceCode "ECO:0000269" --limit 50 --output proc_annotations.json
undefined
uv run scripts/quickgo_tool.py annotation search --geneProductId "UniProtKB:P04070" --taxonId 9606 --evidenceCode "ECO:0000269" --limit 50 --output proc_annotations.json
undefined

2. Find all genes in a pathway

2. 查找通路中的所有基因

To find all genes annotated to a specific GO term (e.g., GO:0003700 for "transcription factor activity"):
bash
undefined
要查找所有注释到特定GO术语(例如GO:0003700对应“转录因子活性”)的基因:
bash
undefined

Find human genes with this specific molecular function

查找具有此特定分子功能的人类基因

uv run scripts/quickgo_tool.py annotation search --goId "GO:0003700" --taxonId 9606 --limit 50 --output tf_genes.json
undefined
uv run scripts/quickgo_tool.py annotation search --goId "GO:0003700" --taxonId 9606 --limit 50 --output tf_genes.json
undefined

3. Explore the GO Hierarchy

3. 探索GO层级结构

To check if a specific GO term is a descendant of a broader category, or to fetch its definition:
bash
undefined
要检查特定GO术语是否属于更广泛类别的子项,或获取其定义:
bash
undefined

Fetch term details (definitions, synonyms)

获取术语详情(定义、同义词)

uv run scripts/quickgo_tool.py go terms --ids "GO:0003150" --output term_details.json
uv run scripts/quickgo_tool.py go terms --ids "GO:0003150" --output term_details.json

Check ancestry (e.g., is GO:0001917 a child of something?)

检查祖先关系(例如,GO:0001917是否为某个术语的子项?)

uv run scripts/quickgo_tool.py go terms --ids "GO:0001917" --relation ancestors --output term_ancestors.json
undefined
uv run scripts/quickgo_tool.py go terms --ids "GO:0001917" --relation ancestors --output term_ancestors.json
undefined

4. Create a GO Slim Summary

4. 创建GO精简集摘要

If you have a list of candidate genes and want a high-level functional summary, you can map them up to a predefined GO Slim. First, fetch the annotations for the genes to extract their GO IDs, then pass those IDs to the slim endpoint:
bash
undefined
如果您有候选基因列表并想要获得高级功能摘要,可以将它们映射到预定义的GO精简集。首先,获取这些基因的注释以提取其GO ID,然后将这些ID传递给精简集端点:
bash
undefined

Step 1: Find GO IDs for candidate genes (e.g., via their UniProt IDs, fetching their annotations)

步骤1:查找候选基因的GO ID(例如,通过其UniProt ID获取注释)

... (output yields e.g., GO:0006915,GO:0008219)

...(输出结果例如为GO:0006915,GO:0008219)

Step 2: Create a slim summary from those specific GO IDs

步骤2:从这些特定GO ID创建精简集摘要

uv run scripts/quickgo_tool.py go slim --slimsToIds "GO:0005575,GO:0008150,GO:0003674" --slimsFromIds "GO:0006915,GO:0008219" --output my_slim.json
undefined
uv run scripts/quickgo_tool.py go slim --slimsToIds "GO:0005575,GO:0008150,GO:0003674" --slimsFromIds "GO:0006915,GO:0008219" --output my_slim.json
undefined