关于 alterlab-gget
alterlab-gget 是面向生物信息学研究者的命令行工具和 Python 包,可统一查询基因组数据库并运行分析模块。它提供从基因信息、序列和蛋白结构到表达及疾病关联的多种功能。
主要功能
- 01统一访问 20 多个基因组数据库
- 02查询基因和转录本信息
- 03获取序列并进行比对
- 04查询蛋白结构与表达数据
- 05分析通路富集和疾病关联
适用场景
- 01在命令行或 Python 中查找基因信息
- 02获取序列并执行序列比对
- 03探索蛋白质结构及组织表达
- 04进行疾病关联或通路富集分析
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-gget安装后在 Claude Code 中输入/alterlab-gget确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/database_info.mdmodule_examples.mdmodule_reference.mdworkflows.mdscripts/batch_sequence_analysis.pyenrichment_pipeline.pygene_analysis.py详细介绍
gget
概述
gget 是一款命令行生物信息学工具和 Python 包,可统一访问 20 多个基因组数据库和分析方法。通过一致的接口查询基因信息、序列分析、蛋白质结构、表达数据和疾病关联。所有 gget 模块既可用作命令行工具,也可用作 Python 函数。
**项目主页:**开发工作已转至 scverse 组织(github.com/scverse/gget);手册仍位于 pachterlab.github.io/gget。
重要提示:gget 查询的数据库会持续更新,有时会导致其结构发生变化。gget 模块每两周自动测试一次,并在必要时更新以适配新的数据库结构。
安装
请在干净的虚拟环境中安装 gget,以避免冲突:
# Install (or upgrade) into a clean environment
uv pip install --upgrade gget
# In Python/Jupyter
import gget
快速入门
所有模块的基本用法:
# Command-line
gget <module> [arguments] [options]
# Python
gget.module(arguments, options)
大多数模块返回:
- 命令行:JSON(默认)或使用
-csv标志返回 CSV - Python:DataFrame 或字典
各模块通用的标志:
-o/--out:将结果保存到文件-q/--quiet:隐藏进度信息-csv:返回 CSV 格式(仅限命令行)
模块目录
选择一个模块,然后查看 references/module_examples.md 中的 CLI 和 Python 示例,以及 references/module_reference.md 中完整的参数表。
| 模块 | 用途 | 查询来源 |
|---|---|---|
ref | 参考基因组下载链接/元数据 | Ensembl |
search | 按名称/描述查找基因 | Ensembl |
info | 基因/转录本元数据(最多约 1000 个 ID) | Ensembl、UniProt、NCBI |
seq | 核苷酸/氨基酸序列(FASTA) | Ensembl |
blast | 对标准数据库进行 BLAST | NCBI BLAST |
blat | 查询序列的基因组位置 | UCSC BLAT |
muscle | 多序列比对 | Muscle5(本地) |
diamond | 快速本地蛋白质/翻译序列比对 | DIAMOND(本地) |
pdb | 实验测定的蛋白质结构及元数据 | RCSB PDB |
alphafold | 预测蛋白质 3D 结构(需先设置) | AlphaFold2(本地) |
elm | 真核生物线性基序(需先设置) | ELM |
archs4 | 相关基因/组织表达 | ARCHS4 |
cellxgene | 单细胞 RNA-seq(需先设置) | CZ CELLxGENE Census |
enrichr | 本体/通路富集分析 | Enrichr |
bgee | 直系同源基因和表达 | Bgee |
opentargets | 疾病/药物关联 | OpenTargets |
cbio | 癌症基因组学热图 | cBioPortal |
cosmic | 癌症体细胞突变(需许可证/账户) | COSMIC |
mutate | 生成突变序列 | 本地 |
virus | 下载经过筛选的病毒基因组数据集 | NCBI Virus |
g2p | 残基级结构/功能注释 | Genomics 2 Proteins portal |
gene_expression | 每个分区中标准化表达的均值/方差 | 8cubeDB |
psi_block | ψ_block 区块级特异性评分 | 8cubeDB |
specificity | 基因级 ψ / ζ 特异性统计 | 8cubeDB |
gpt | 自然语言文本生成(需先设置) | OpenAI API |
setup | 为模块安装第三方依赖 | 本地 |
cbio 在 Python 中以 gget.cbio_search() 和 gget.cbio_plot() 的形式提供。
需先设置的模块(首次使用前运行 gget setup <module>):
alphafold(约 4GB 参数,需先运行 uv pip install openmm)、cellxgene、
elm、gpt 和 cbio。
何时使用此技能
- 快速交互式查询(基因信息、BLAST、单个结构、单次富集分析)→
直接使用 gget;参见
references/module_examples.md。 - 批量处理/高级 BLAST → 使用 biopython 技能。
- 多数据库 Python 工作流 → 使用 bioservices 技能。
不适用场景
| 场景 | 改用 |
|---|---|
| 构建本地 BLAST+ 数据库和执行大型命令行搜索 | alterlab-blast |
| 编写 Entrez/SeqIO 脚本工作流和解析文件 | alterlab-biopython |
| 在 Python 中跨多个 Web 服务执行一个工作流 | alterlab-bioservices |
| 执行超出单行命令范围的 CELLxGENE Census 查询 | alterlab-cellxgene |
| 正确运行 AlphaFold(复合物、置信度分析) | alterlab-alphafold |
- 将多个 gget 模块串联成一个工作流 → 请参阅
references/workflows.md和现成的scripts/(gene_analysis、batch_sequence_analysis、 enrichment_pipeline)。
最佳实践(要点)
- 使用
--limit限定大型查询的范围;使用-o/--out保存结果以便复现。 - cellxgene 中的基因符号区分大小写('PAX7' 与 'Pax7')。
- 首次使用 alphafold、cellxgene、elm、gpt 前,先运行
gget setup。 - 使用
gget info时,每次最多处理约 1000 个 Ensembl ID。 - 数据库结构会变化;请保持 gget 为最新版本:
uv pip install --upgrade gget。 - 使用虚拟环境以避免依赖冲突。
输出格式
- 命令行:默认为 JSON;使用
-csv输出 CSV;FASTA(seq、mutate); PDB(pdb、alphafold);PNG(cbio plot)。 - Python:默认为 DataFrame/dict;使用
json=True输出 JSON;使用save=True或out="filename"写入文件;cellxgene使用 AnnData。
参考资料
references/module_examples.md— 每个模块的 CLI 和 Python 完整示例references/module_reference.md— 所有模块的完整参数表references/database_info.md— 查询的数据库及其更新频率references/workflows.md— 扩展的多模块工作流示例
如需更多帮助:
- 官方文档:https://pachterlab.github.io/gget/
- GitHub 问题:https://github.com/pachterlab/gget/issues
- 引用:Luebbert, L. & Pachter, L. (2023). 使用 gget 高效查询基因组参考数据库。Bioinformatics. https://doi.org/10.1093/bioinformatics/btac836
属于 AlterLab Academic Skills 套件的一部分。