关于 tooluniverse-protein-interactions
面向蛋白质研究的 ToolUniverse 技能,按标识符映射、网络检索、富集分析和可选结构查询组织分析流程。涵盖相互作用、复合物成员及因果信号通路,并强调核实证据类型。
主要功能
- 01蛋白质标识符映射
- 02STRING 与 BioGRID 网络检索
- 03GO、KEGG 与 Reactome 富集
- 04复合物成员与化学计量查询
- 05定向因果信号分析
适用场景
- 01检查蛋白质是否有实验性结合证据
- 02分析基因集的功能富集
- 03查询已知复合物的亚基组成
- 04追踪蛋白质间的因果信号关系
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-protein-interactions安装后在 Claude Code 中输入/tooluniverse-protein-interactions确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.env.templateDESCRIPTION_UPDATE_COMPLETE.mdDESCRIPTION_UPDATE_PROGRESS.mdDOMAIN_ANALYSIS.mdKNOWN_ISSUES.mdPHASE2_DISCOVERIES.mdpython_implementation.pyQUICK_START.mdtest_protein_tools.pytest_skill_comprehensive.pyTOOL_DESCRIPTION_OPTIMIZATION.md详细介绍
蛋白质相互作用网络分析
使用 ToolUniverse 工具进行全面的蛋白质相互作用网络分析。通过 4 阶段工作流分析蛋白质网络:标识符映射、网络检索、富集分析和可选的结构数据。
领域推理:明确相互作用类型
当有人询问蛋白质相互作用时,先询问:是物理相互作用(它们是否结合?),还是功能相互作用(它们是否影响同一条通路?)。STRING 同时包含这两类信息——较高的 combined_score 并不意味着存在物理结合。要获取物理结合证据,请专门检查实验评分(escore)。如果 tscore(文本挖掘)或 dscore(数据库)的评分较高,但 escore 较低,这更可能表示共同注释或共同引用,而非直接结合。
查询,不要猜测:蛋白质相互作用评分、实验性证据类型,以及两个特定蛋白质是否有已知的共晶结构。使用 STRING escore 和 BioGRID 实验数据——不要仅凭通路中的共同成员身份推断存在结合。
使用的数据库
| 数据库 | 覆盖范围 | API 密钥 | 用途 |
|---|---|---|---|
| STRING | 1,400 多万种蛋白质,5,000 多种生物 | 不需要 | 主要相互作用数据源 |
| BioGRID | 230 多万种相互作用,80 多种生物 | 需要 | 备用数据源、整理过的数据 |
| SASBDB | 2,000 多条 SAXS/SANS 记录 | 不需要 | 溶液结构 |
| Complex Portal | 整理过的复合物(包括 CORUM 数据) | 不需要 | 整理过的复合物成员关系/化学计量比 |
4 阶段工作流
- 标识符映射 —
STRING_map_identifiers():验证蛋白质名称,获取 STRING ID - 网络检索 —
STRING_get_network()(主要);BioGRID_get_interactions()(备用,需要 API 密钥) - 富集分析 — 使用
STRING_functional_enrichment()进行 GO/KEGG/Reactome 分析;使用STRING_ppi_enrichment()测试功能一致性 - 结构数据(可选) — 使用
SASBDB_search_entries()搜索 SAXS/SANS 溶液结构
可参阅 python_implementation.py 查看可运行示例(example_tp53_analysis()、analyze_protein_network())。
Complex Portal:整理过的复合物成员关系
STRING/BioGRID 回答的是“A 和 B 是否相互作用”;Complex Portal 回答的是另一个问题——“已知生物复合物的完整、经整理的成员组成和化学计量比是什么。”当问题涉及特定的命名复合物或隐含的多亚基组装体(例如“ SAGA 复合物包含什么”,“什么复合物通过调控 p53 发挥作用”),而不是成对或网络层级的相互作用时,请使用它。
Phase 1: ComplexPortal_search_complexes(query=..., species=..., number=...) -> ranked candidate complexes,
each with complex_id, name, description, and a subunits[] list (identifier, name,
interactor_type: "protein" or "small molecule" for bound cofactors like zinc)
Phase 2: ComplexPortal_get_complex(complex_id) -> full detail for one specific complex by its CPX- ID
真实示例(已在线验证):ComplexPortal_search_complexes(query="TP53", species="Homo sapiens") -> 返回真实复合物,包括 CPX-6093“TP53-MDM2-MDM4 转录调控复合物”,其亚基为 P04637/Q00987/O15151;还包括两种 SAGA 复合物变体(KAT2A/KAT2B),它们通过 TP53/MYC 招募。这些都是真实的多亚基组装体,具有通过 UniProt 标识的真实亚基,其中还包括小分子辅因子(例如锌原子 CHEBI:27363)以及蛋白质亚基。
注意事项(已在线验证):即使查询成功,ComplexPortal_get_complex 在其自身返回的字段中也可能给出 complex_id: null, name: null——请使用 systematic_name 和 subunits 列表确认获取的是正确复合物,并保留从 ComplexPortal_search_complexes 获取的 complex_id,不要依赖 get_complex 回传的字段。
参数
| 参数 | 默认值 | 描述 |
|---|---|---|
proteins | 必填 | 基因符号或 UniProt ID |
species | 9606 | NCBI 分类学 ID |
confidence_score | 0.7 | 最低相互作用置信度(0–1) |
include_biogrid | False | 使用 BioGRID 作为备用数据源(需要 API 密钥) |
include_structure | False | 使用 SASBDB 结构数据(速度较慢) |
置信度评分指南
| 评分 | 用途 |
|---|---|
| 0.4 | 探索性分析(STRING 默认阈值) |
| 0.7 | 推荐——可靠的相互作用 |
| 0.9 | 仅核心相互作用 |
网络边字段(STRING)
每条交互边返回的关键字段:
score— 综合置信度(0–1)escore— 实验评分(用于物理结合证据)dscore— 数据库评分tscore— 文本挖掘评分ascore— 共表达评分preferredName_A、preferredName_B— 基因名称
扩展分析工具
信号通路:
OmniPath_get_signaling_interactions— 有向、有符号的 PPI(刺激/抑制)Reactome_map_uniprot_to_pathways— 将蛋白质映射到 Reactome 通路(参数:uniprot_id)ReactomeAnalysis_pathway_enrichment— 基因集的通路富集分析- SIGNOR(基于文献的因果信号)— 见下文
SIGNOR:因果信号交互
上文的 STRING/BioGRID 会告诉你蛋白质 A 和蛋白质 B 存在交互(物理或
功能上的),但不会说明其方向或效应。SIGNOR 可弥补这一不足:它是一个
经过人工整理的数据库,其中每条边都是一个有向因果陈述——“A 通过机制 M
(磷酸化、泛素化、转录调控、结合等)上调/下调 B 的活性/数量,可选地标注
残基 R”——且每条陈述都有特定的 PMID 支持。它与
OmniPath_get_signaling_interactions 属于同类有向、有符号边,但数据来自
单一的整理来源,并提供每条边的机制、残基和文献细节,而非聚合多个数据库的
结果;若需要为因果主张提供相互印证的证据,可同时使用二者。
工具(均为真实工具,已在线验证——entity_id/蛋白质标识符应使用
UniProt 登录号,例如 EGFR 对应 P00533,而非基因符号):
| 工具 | 用途 | 关键参数 |
|---|---|---|
SIGNOR_get_interactions | 一个蛋白质的上游调节因子和下游靶标 | entity_id(UniProt 登录号)、organism(taxid,默认值为 9606)、limit |
SIGNOR_list_pathways | 浏览经过整理的信号通路(以疾病或过程命名) | query(可选关键词,例如 "apoptosis"、"MAPK") |
SIGNOR_get_pathway | 一个经过整理的通路中的所有因果交互 | pathway_id(来自 list_pathways,例如 "SIGNOR-EGF")、limit |
SIGNOR_connect_proteins | 连接两个或更多蛋白质的最短整理因果子网络 | proteins(UniProt 登录号数组,至少 2 个)、level(1=仅直接连接,2=一个中间节点,3=两个中间节点)、limit |
每条交互都会返回 source_entity/target_entity(以及对应的 UniProt
source_id/target_id)、effect(例如 "down-regulates activity"、
"up-regulates quantity by expression")、mechanism(例如
"phosphorylation"、"ubiquitination"、"binding"、"transcriptional regulation"——未指定时可以为空字符串)、residue(可为空)、
pmid、direct(布尔值——true 表示没有已知中间节点;SIGNOR 自身的
connect_proteins 输出可能在一条路径中混合 direct: true 和 direct: false
的边,因此应逐条检查此字段,而不要假设整条路径都是直接连接),以及一个
与置信度相关的 score。
工作流——追踪两个蛋白质之间的因果路径:
SIGNOR_connect_proteins(proteins=["P00533", "P28482"], level=2) # EGFR -> ERK2(MAPK1)
返回连接它们的整理后子网络(在线验证结果显示,真实边包括 EGFR 自身的上游
调节因子 ERRFI1 和 PRKG2,以及在 2 跳邻域中共同出现的转录连接,例如
JAK2->MYC 和 LCK->STAT3——connect_proteins 返回所请求蛋白质周围的局部因果
图,而非仅返回一条最短路径;若需要一条特定路线,请筛选实际从源节点连接到
目标节点的边)。
工作流——浏览疾病/过程通路,然后检查某个蛋白质在其中的作用:
SIGNOR_list_pathways(query="cancer") # -> pathway_id, e.g. "SIGNOR-EGF" (EGFR Signaling)
SIGNOR_get_pathway(pathway_id="SIGNOR-EGF") # -> all curated edges in that pathway (metadata.total_interactions gives the true count if limit truncates)
SIGNOR_get_interactions(entity_id="P00533") # -> zoom into EGFR specifically: e.g. real edges show VCB-Cul2 ubiquitinating/destabilizing EGFR (PMID:15590694) and EGFR phosphorylating IKBKE (PMID:27287717)
可成药性与临床背景:
DGIdb_get_drug_gene_interactions— 枢纽蛋白的药物交互(参数:genes,数组)DGIdb_get_gene_druggability— 可成药性类别gnomad_get_gene_constraints— 基因必需性指标(pLI、oe_lof)civic_search_evidence_items— 网络蛋白质突变的临床证据UniProt_get_function_by_accession— 蛋白质功能注释
工具专属说明
IntAct 相互作用数据
interaction_ids 位于响应的 metadata 字段中,而不在顶层:
interaction_ids = result.get("metadata", {}).get("interaction_ids", [])
BioGRID 化学相互作用
BioGRID_get_chemical_interactions 始终会包含一条限制说明——化学相互作用的覆盖范围可能不完整。如果未提供生物体,则默认使用 taxId=9606(人类)。
IntAct 的 protein_name 别名
除原始标识符参数外,IntAct 工具还接受 protein_name 作为别名参数。
通过 EBI Proteins-Gateway 访问 IntAct
EBIProteins_get_interactions(accession, limit=50) 和 EBIProteins_get_interaction_details(accession) 是访问上述同一 IntAct 来源相互作用数据的第二种具体途径(通过 EBI Proteins API,而非 IntAct 自身的端点)。当直接输入 UniProt 登录号并获取排序后的互作伙伴,比先通过 STRING/IntAct 映射标识符更方便时,可使用这些工具。
| 工具 | 返回内容 |
|---|---|
EBIProteins_get_interactions | 按支持实验数量排序的二元相互作用伙伴;每个伙伴包含 partner_accession、gene_name、experiments(数量)和 organism_differ(布尔值) |
EBIProteins_get_interaction_details | 一次调用即可返回查询蛋白自身的记录(名称、存在证据、生物体、疾病关联、亚细胞定位)及其主要相互作用伙伴——当你需要在单次请求中获取蛋白质背景信息及其网络,而非分两次获取时,此工具很有用 |
真实示例(已实时验证):EBIProteins_get_interactions(accession="P04637")(TP53)→ 198 个伙伴,包括 MDM2(Q00987)、ABL1、AIMP2(6 个实验)、EP300(8 个实验)。EBIProteins_get_interaction_details(accession="P04637") → 在同一响应中返回相同的相互作用数据,以及真实的疾病关联(例如 Li-Fraumeni 综合征)和亚细胞定位;如果额外需要的只是疾病/定位背景信息,可跳过上文单独调用的 UniProt_get_function_by_accession。
领域推理:多聚体组装与结合价数
查证,不要猜测:寡聚状态、亚基化学计量和结合价数。使用 RCSB PDB(RCSBAdvSearch_search_structures、RCSBData_get_entry)或 UniProt(UniProt_get_function_by_accession)确认蛋白质是单体、二聚体、三聚体等。不要仅凭基因名称推断。
根据结合数据计算多聚体价数
价数 = 多聚体复合物上的独立结合位点数量。每个亚基各有一个结合位点的同源二聚体,价数为 2。每个五聚体(例如 IgM)有 2 个 Fab 臂,其价数为 10。
关键推理步骤:
- 确定寡聚状态:查找 PDB/UniProt 中的四级结构。在溶液中称为“二聚体”的结构,晶体学上可能是二聚体的二聚体(四聚体)。
- 统计每个亚基的结合位点:除非结合位点跨越界面(此时复合物本身才是功能单元),否则每个亚基都会独立贡献结合位点。
- 价数 = 亚基数 × 每个亚基的位点数(仅适用于位点相互独立的情况)。如果一个位点上的结合会影响另一个位点,则属于协同性,而非简单的价数。
- 亲合力与亲和力:多价复合物的结合力强于单个位点(亲合力效应)。表观 Kd_multivalent << Kd_monovalent。增强程度取决于连接臂的柔性和靶标几何结构。
多聚体结合中的统计因子
对称多聚体与配体结合时,统计因子会影响表观速率常数:
- 第一个配体结合:kon_apparent = n x kon_intrinsic(有 n 个等效位点可用)
- 第一个配体解离:koff_apparent = koff_intrinsic(只有一个配体可以解离)
- 一般规律:对于具有 n 个相同位点的多聚体,与第 i 个位点结合时,正向统计因子为 (n - i + 1),反向统计因子为 i。
- 宏观 Kd 与微观 Kd:Kd_macro(第一个位点) = Kd_micro / n。Kd_macro(最后一个位点) = n x Kd_micro。对于非协同结合,Kd_last / Kd_first = n^2。
如果测得的 Kd 值偏离这些统计预测,则该蛋白表现出正协同性(Kd 的下降幅度超出预期)或负协同性(Kd 的上升幅度超出预期)。
何时使用结合曲线分析,何时使用化学计量分析
| 方法 | 适用情况 | 可提供的信息 |
|---|---|---|
| 化学计量(ITC、AUC、SEC-MALS) | 需要了解每个复合物中的结合伙伴数量 | n(位点数),而非亲和力 |
| 结合曲线(SPR、FP、ELISA) | 需要了解 Kd 和动力学 | 亲和力,但表观 Kd 混合了价态和协同性的影响 |
| Hill 图(双对数结合曲线) | 怀疑存在协同性 | Hill 系数 nH:nH=1 表示非协同,nH>1 表示正协同,nH<1 表示负协同 |
| Scatchard 图(结合量/游离量对结合量) | 经典方法,如今较少使用 | 曲线 = 多种位点类别或协同性;直线 = 单一 Kd |
必需型与兼性多聚体:必需型二聚体(例如许多激酶)没有单体活性。如果你的“纯化蛋白”没有活性,请检查是否需要形成二聚体。使用 SEC 或 native PAGE 确认寡聚状态。低蛋白浓度、高盐或 pH 不合适都可能使必需型多聚体解离。
领域推理:预测卷曲螺旋的寡聚状态
- 七肽重复:(abcdefg)n,其中 a 和 d 位点为疏水核心残基。
- 根据堆积方式判断寡聚状态:二聚体(亮氨酸拉链,d 位点为 Leu)、三聚体(a 位点为 Ile/Val,d 位点为 Leu)、四聚体(a 和 d 位点均为 Leu)、五聚体(复杂的混合堆积,例如 a 位点为 Trp 或极性残基)。
- 七肽重复净图:将残基映射到螺旋轮上;a+d 位点构成疏水核心界面。a/d 位点的残基种类决定堆积几何形态,进而决定寡聚状态。
- a/d 位点的极性残基(Asn、Gln)可决定平行或反平行取向,并选择特定的寡聚状态。
- 查找资料:在 PubMed 中搜索“[sequence motif] coiled coil oligomeric state”,并在仅根据序列预测寡聚状态之前,查询 CC+ 或 SOCKET 数据库。
领域推理:去污剂对膜蛋白的影响
- 温和去污剂(DDM、LMNG、CHAPS、digitonin)可保留天然寡聚状态和脂质相互作用;结构研究首选此类去污剂。
- 强去污剂(SDS、浓度高于 CMC 的 OG)可能使天然复合物解离,并去除具有稳定作用的脂质。
- 在不同去污剂条件下进行原生质谱,可揭示特定脂质是否能稳定寡聚组装体;比较 CHAPS 与 OG 的结果可区分去污剂稳定型与脂质依赖型寡聚体。
蛋白质识别问题
对于“X 是什么蛋白质”这类问题:务必先搜索 UniProt 和 PubMed——不要凭记忆猜测。需要了解的关键通路:
- 淀粉样蛋白清除:基质金属蛋白酶降解胶原蛋白是暴露淀粉样蛋白沉积物的必要条件,从而使巨噬细胞能够吞噬它们。答案是胶原蛋白,而不是血清淀粉样蛋白 P(SAP)或其他淀粉样蛋白结合蛋白。
- 当问题询问“什么蛋白质”时,只给出蛋白质名称——不要附加缩写、描述或限定语。
故障排除
- 未找到相互作用:检查蛋白质名称(区分大小写),尝试使用
confidence_score=0.4 - BioGRID 无法正常工作:在环境中设置
BIOGRID_API_KEY;STRING 无需密钥即可使用 - 输出过于冗长:使用
2>&1 | grep -v "Error loading tools"进行筛选(请参阅 KNOWN_ISSUES.md)
参考资料
- STRING:https://string-db.org/
- BioGRID:https://thebiogrid.org/(免费注册以获取 API 密钥)
- SASBDB:https://www.sasbdb.org/
- Complex Portal:https://www.ebi.ac.uk/complexportal/
- ToolUniverse:https://github.com/mims-harvard/ToolUniverse