mcpField
T
tooluniverse-protein-interactions

tooluniverse-protein-interactions

github.com/mims-harvard数据与数据库1.8k150 次安装2 天前更新
代码仓库

关于 tooluniverse-protein-interactions

面向蛋白质研究的 ToolUniverse 技能,按标识符映射、网络检索、富集分析和可选结构查询组织分析流程。涵盖相互作用、复合物成员及因果信号通路,并强调核实证据类型。

主要功能

  1. 01蛋白质标识符映射
  2. 02STRING 与 BioGRID 网络检索
  3. 03GO、KEGG 与 Reactome 富集
  4. 04复合物成员与化学计量查询
  5. 05定向因果信号分析

适用场景

  1. 01检查蛋白质是否有实验性结合证据
  2. 02分析基因集的功能富集
  3. 03查询已知复合物的亚基组成
  4. 04追踪蛋白质间的因果信号关系

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-protein-interactions

安装后在 Claude Code 中输入/tooluniverse-protein-interactions确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.env.template
DESCRIPTION_UPDATE_COMPLETE.md
DESCRIPTION_UPDATE_PROGRESS.md
DOMAIN_ANALYSIS.md
KNOWN_ISSUES.md
PHASE2_DISCOVERIES.md
python_implementation.py
QUICK_START.md
test_protein_tools.py
test_skill_comprehensive.py
TOOL_DESCRIPTION_OPTIMIZATION.md

详细介绍

蛋白质相互作用网络分析

使用 ToolUniverse 工具进行全面的蛋白质相互作用网络分析。通过 4 阶段工作流分析蛋白质网络:标识符映射、网络检索、富集分析和可选的结构数据。

领域推理:明确相互作用类型

当有人询问蛋白质相互作用时,先询问:是物理相互作用(它们是否结合?),还是功能相互作用(它们是否影响同一条通路?)。STRING 同时包含这两类信息——较高的 combined_score 并不意味着存在物理结合。要获取物理结合证据,请专门检查实验评分(escore)。如果 tscore(文本挖掘)或 dscore(数据库)的评分较高,但 escore 较低,这更可能表示共同注释或共同引用,而非直接结合。

查询,不要猜测:蛋白质相互作用评分、实验性证据类型,以及两个特定蛋白质是否有已知的共晶结构。使用 STRING escore 和 BioGRID 实验数据——不要仅凭通路中的共同成员身份推断存在结合。

使用的数据库

数据库覆盖范围API 密钥用途
STRING1,400 多万种蛋白质,5,000 多种生物不需要主要相互作用数据源
BioGRID230 多万种相互作用,80 多种生物需要备用数据源、整理过的数据
SASBDB2,000 多条 SAXS/SANS 记录不需要溶液结构
Complex Portal整理过的复合物(包括 CORUM 数据)不需要整理过的复合物成员关系/化学计量比

4 阶段工作流

  1. 标识符映射 — STRING_map_identifiers():验证蛋白质名称,获取 STRING ID
  2. 网络检索 — STRING_get_network()(主要);BioGRID_get_interactions()(备用,需要 API 密钥)
  3. 富集分析 — 使用 STRING_functional_enrichment() 进行 GO/KEGG/Reactome 分析;使用 STRING_ppi_enrichment() 测试功能一致性
  4. 结构数据(可选) — 使用 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
species9606NCBI 分类学 ID
confidence_score0.7最低相互作用置信度(0–1)
include_biogridFalse使用 BioGRID 作为备用数据源(需要 API 密钥)
include_structureFalse使用 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。

关键推理步骤:

  1. 确定寡聚状态:查找 PDB/UniProt 中的四级结构。在溶液中称为“二聚体”的结构,晶体学上可能是二聚体的二聚体(四聚体)。
  2. 统计每个亚基的结合位点:除非结合位点跨越界面(此时复合物本身才是功能单元),否则每个亚基都会独立贡献结合位点。
  3. 价数 = 亚基数 × 每个亚基的位点数(仅适用于位点相互独立的情况)。如果一个位点上的结合会影响另一个位点,则属于协同性,而非简单的价数。
  4. 亲合力与亲和力:多价复合物的结合力强于单个位点(亲合力效应)。表观 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)

参考资料

评论

支持 Markdown