gget 是做什么的?
当任务需要通过 gget CLI 或 Python 包对基因组参考数据库进行快速生物信息学查询时使用此技能。
使用时机
- 查找 Ensembl ID、基因元数据、转录本详情或序列。
- 运行快速 BLAST 或 BLAT 查找,无需构建完整的本地管道。
- 从 Ensembl 获取参考基因组链接和注释。
- 通过单一接口查询蛋白质结构、通路、癌症、表达或疾病关联模块。
- 在进行 Biopython、Snakemake、Nextflow、BLAST+ 或特定数据库客户端等更重型的工具之前,创建可重复的初步证据日志。
当任务需要受监管的临床解读、高吞吐量生产管道或对数据库版本和本地索引进行精细控制时,请使用专用工作流代替 gget。
安装
使用干净的 Python 环境。
python -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install --upgrade gget
gget --help
如果 uv 可用:
uv venv
. .venv/bin/activate
uv pip install gget
在依赖旧环境之前,升级 gget 并重新检查模块文档。gget 查询的上游数据库会随时间变化。
基本模式
CLI 格式:
gget <module> [arguments] [options]
Python 格式:
import gget
result = gget.search(["BRCA1"], species="human")
print(result)
常见工作流:
- 确定所需物种、组装、基因 ID 类型和数据库。
- 检查当前模块文档以获取参数。
- 先运行一个小型查询。
- 使用明确的文件名和日期保存输出。
- 记录模块名称、版本、参数和数据库假设。
常见模块
使用最新的上游文档获取确切参数。这些模块是常见首选:
gget search:通过搜索词查找 Ensembl ID。gget info:检索 Ensembl、UniProt 或相关 ID 的元数据。gget seq:获取核苷酸或氨基酸序列。gget ref:检索参考基因组下载链接。gget blast:运行快速 BLAST 查询。gget blat:将序列定位到支持的基因组组装。gget muscle:运行多序列比对。gget diamond:对参考序列进行本地序列比对。gget alphafold和gget pdb:检查蛋白质结构参考。gget enrichr、gget opentargets、gget archs4、gget bgee、gget cbio和gget cosmic:探索富集、靶点、表达、癌症和疾病关联数据。
不要假设每个模块都支持每个 Python 版本或依赖集。某些可选的科学依赖项具有比核心包更窄的版本支持。
快速示例
查找基因:
gget search -s human brca1 dna repair -o brca1-search.json
获取基因元数据:
gget info ENSG00000012048 -o brca1-info.json
获取序列:
gget seq ENSG00000012048 -o brca1-seq.fa
运行小型 BLAST 查询:
gget blast "MEEPQSDPSVEPPLSQETFSDLWKLLPEN" -l 10 -o blast-results.json
Python 示例:
import gget
genes = gget.search(["BRCA1", "DNA repair"], species="human")
info = gget.info(["ENSG00000012048"])
sequence = gget.seq("ENSG00000012048")
可重复性日志
对于科学输出,包含足够的元数据以重放查询。
| 日期 | gget 版本 | 模块 | 查询 | 物种/组装 | 输出 | 备注 |
| --- | --- | --- | --- | --- | --- | --- |
| 2026-05-11 | `gget --version` | search | `BRCA1 DNA repair` | human | `brca1-search.json` | 运行前检查了文档 |
还要记录:
- Python 版本和环境管理器。
- 通过
gget setup安装的任何可选依赖项。 - 查询返回的特定于数据库的标识符。
- 输出是 JSON、CSV、FASTA 还是 DataFrame 导出。
- 通过升级
gget解决的所有失败。
审查清单
- 您是否已升级或验证已安装的
gget版本? - 在使用参数前,您是否检查了最新的上游模块文档?
- 物种或组装是否明确?
- 标识符是否完全保留,包括 Ensembl/UniProt 前缀?
- 结果是否被标记为数据库输出而非临床解读?
- 查询是否可通过保存的命令或 Python 片段重现?
- 可选依赖项是否安装在隔离的环境中?