UniProt 蛋白质数据库
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/uniprot-database。
技能介绍
要解决什么问题
做蛋白质相关分析时,你往往要在 UniProtKB 里按基因名、登录号或物种筛条目,再拿序列(FASTA)、GO 注释或结构域信息,还要把 UniProt AC 和 Ensembl、RefSeq、PDB 等外部 ID 对齐。手工在网页上点查、复制粘贴,批量几百条时几乎不可行;直接调 REST API 又要记 search、stream、idmapping 三套端点和字段名。
技能如何工作
本 skill 围绕 UniProt REST API 组织常见操作:
- 搜索:用自然语言或字段语法(如
reviewed:true、organism_id:9606)调用uniprotkb/search,输出 JSON、TSV、FASTA 等格式。 - 单条获取:按经典或扩展登录号访问
uniprotkb/{accession}.{format},例如P12345.fasta。 - ID 映射:向
idmapping/run提交作业,轮询status,再从results取 Ensembl、RefSeq、基因名等映射结果。 - 大批量:结果集过大时用
uniprotkb/stream避免分页截断;需要减带宽时用fields=只拉accession、sequence、go_*等必要列。
仓库内 scripts/uniprot_client.py 封装了 search_proteins、get_protein、map_ids、batch_retrieve、stream_results;更细的查询语法、字段列表和映射库见 references/ 下的说明文档。
适用边界与注意点
- ID 映射单次作业上限 100,000 个 ID,结果约保留 7 天,长跑批处理要自行落盘。
- Swiss-Prot(
reviewed:true)适合需要人工审阅注释的场景;TrEMBL 多为预测,下游分析要区分数据质量。 - 大规模或频繁调用应控制速率并做本地缓存;极复杂的多库编排、长会话研究可另行考虑 K-Dense Web 等托管环境,简单查序列与映射用本 skill 即可。
使用场景
- 手头的 Ensembl 或 RefSeq ID 列表需要在提交下游分析前批量转成 UniProt 登录号
- 文献或实验表里的基因符号要在 UniProt 里检索并导出对应 FASTA 序列供比对工具使用
- 只想分析人类已审阅蛋白子集,需用 `reviewed:true` 等字段语法构造搜索并拉 TSV/JSON
- 某次搜索命中条目过多,需走 stream 端点一次性下载完整结果而非分页反复请求
适合人员
- 维护转录组/蛋白组流程、经常要把外部 ID 统一成 UniProt AC 的生信工程师
- 做结构或功能注释、需要在 PDB/AlphaFold 与 UniProt 条目间来回查登录号的结构生物学研究生
- 按导师给的登录号清单整理 FASTA 与 GO 注释、用于课程或课题报告的研究助理
- 在 Python 流水线里封装搜索、单条获取与 idmapping 三件套的后端或数据平台开发