mcpField
T
tooluniverse-peptide-target-deorphanization

tooluniverse-peptide-target-deorphanization

github.com/mims-harvard其他1.8k111 次安装3 天前更新
代码仓库

关于 tooluniverse-peptide-target-deorphanization

这是一个 ToolUniverse 技能,根据肽序列和观察到的表型寻找可能的蛋白质靶标。它综合序列、家族、表型和跨物种证据,并可选用需密钥的结构共折叠来评估候选项。

主要功能

  1. 01分析肽序列与基序
  2. 02按靶标类别选择分析路径
  3. 03结合序列和表型生成候选项
  4. 04比较不同物种的直系同源结合界面
  5. 05可选用共折叠排序候选项

适用场景

  1. 01探查尚未明确靶标的肽
  2. 02阴性实验后重新评估假设靶标
  3. 03比较肽在不同实验物种中的活性
  4. 04为实验验证筛选候选靶标

安装

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

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-peptide-target-deorphanization

安装后在 Claude Code 中输入/tooluniverse-peptide-target-deorphanization确认已加载。

包含的文件

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

evals/
evals.json
references/
phases.md
scripts/
cofold_screen.py
deorphanize_peptide.py

详细介绍

肽靶点去孤儿化

给定一个肽的序列和观察到的表型(以及通常一个肽实际上并不结合的假设靶点),找出它可能真正的蛋白质靶点——使用 ToolUniverse 的无需密钥表征、同源性、靶点家族、表型、跨物种及(可选、需密钥)共折叠工具。

靶点可以是任何类型,不只是 GPCR。 靶点类别路由器(GPCR 配体/离子通道毒素/蛋白酶靶点/细胞因子或生长因子受体/整合素配体/抗菌肽/未知)会预先对肽进行分类,并调整枚举策略。GPCR 是最成熟的案例(也是经过验证的对照),但流程的核心——同源性、基序、表型、跨物种、共折叠——不依赖靶点类别;家族枚举使用 HGNC 基因家族(通用)+ InterPro(通用)+ GPCRdb(仅用于 GPCR 交叉检查)。

核心推理:查证,不猜测

此技能旨在避免的失败模式是:根据肽的名称或假定机制猜测靶点。肽可能具有表型活性,却不结合假设的靶点——因为它结合的是旁系同源物、同一家族的其他成员,或不同物种中的同一受体,而该受体的结合界面已经发生分化。因此:

  1. 绝不凭记忆断言靶点。 每个候选靶点都必须来自工具结果(同源性命中、家族枚举、表型关联或结构共折叠),并记录工具名称和登录号。
  2. 以表型 × 结构/序列的合理性为依据,而非肽公认的作用机制。 真正的靶点是以下两者的交集:(a) 序列/基序/结构表明它可能结合的对象;(b) 表型表明在生物学上相关的对象。基于名称的猜测(“它是 GLP-1 类似物,所以靶点是 GLP1R”)正是导致脱靶错误的原因。
  3. 厘清物种间的差异。 “在物种 A 中结合、在物种 B 中不结合”通常是结合界面的序列分化,而非靶点不同。得出肽“无效”的结论前,务必提取直系同源物集合,并比对候选受体在不同实验物种中的配体结合界面。
  4. 针对假设靶点的未结合结果是线索,而非死路。 这会让旁系同源物和共享表型的受体跃升至候选列表前列。

此技能基于经过验证且大多无需密钥的工具(BLAST、ELM/PROSITE、GPCRdb/HGNC/GtoPdb、OpenTargets、EnsemblCompara/Alliance)。唯一需要密钥的步骤是可选的共折叠结构确认(NVIDIA NIM),仅用于对已缩小范围的候选名单进行排序。


自动化流程(脚本)——快速路径

scripts/ 中有两个可运行脚本,可执行完整流程,无需手动串联各阶段调用。两个脚本都会通过 SDK 加载 ToolUniverse,并从仓库根目录运行。

deorphanize_peptide.py——无需密钥的候选生成与排序(阶段 1–4)

无需 API 密钥。对每条肽,脚本会对其进行表征(PepCalc/ProtParam),标记非经典/环状残基,扫描 PROSITE + ELM 特征,标记蛋白酶/降解风险,对靶点类别进行分类(GPCR/通道/蛋白酶/细胞因子受体/整合素/……)并据此枚举候选靶点家族,以表型(OpenTargets)为依据;对于排名靠前的候选靶点,还会解析直系同源蛋白序列,并比对人类/实验物种/来源物种中的结合界面(即“在 A 中结合、在 B 中不结合”的机制步骤),并推荐可用于 ClusPro 的 PDB 结构。输出带证据等级的候选靶点排序短名单。

python3 scripts/deorphanize_peptide.py \
  --sequence <PEPTIDE_SEQ> \             # OR  --fasta peptides.fasta  for BATCH mode
  --hypothesized-target <GENE> \         # optional; seeds family enumeration (e.g. GLP1R). OMIT for SEEDLESS mode
  --phenotype "<disease name>" \         # optional, REPEATABLE; OpenTargets anchor (use the DISEASE node, not a symptom) — pass several to union plausible phenotypes
  --assay-species mus_musculus \         # species of the NEGATIVE binding assay
  --source-species <organism> \          # optional; species where binding WAS observed -> 3-way interface alignment
  [--no-blast] [--out result.json]

模式:

  • 带种子(--hypothesized-target GLP1R)——将该基因家族列为候选面板(最简洁)。即使带种子,以下基于序列得出的候选对象也始终会被合并进来,因此错误的假设种子不会让搜索遗漏真实靶标所属的家族——这正是去孤儿化的前提。
  • 无种子(省略该参数)——通过 UniProt,使用 PROSITE 和 BLAST 同源序列关键词 × 靶标类别名词(例如 receptor/channel/protease,由路由器选择)推导候选靶标;若该解析器暂时不可用,则退化为仅基于表型。不再局限于受体。
  • 多表型——--phenotype 可重复指定;传入所有合理的疾病,锚定分数取其并集(每个靶标取最高分)。当你无法确定唯一正确的表型时,这种方式最合适。
  • 批量处理(--fasta)——每个 FASTA 条目对应一条记录,共享 --phenotype/--assay-species。

始终报告的额外信号:

  • 靶标类别——路由器的判断结果(gpcr_ligand / ion_channel_toxin / protease_inhibitor_or_substrate / cytokine_or_growth_factor / integrin_ligand / guanylyl_cyclase_ligand / antimicrobial / unknown),以及触发该判断的证据和它选择的无种子名词。这使该技能适用于一般情况,而不只是 GPCR。
  • DPP4 / 蛋白酶相关性——肽在测定中呈阴性,可能是因为它被切割了,而不是因为它无法结合。天然 GLP-1(A@P2)对 DPP4 易降解;exendin-4(G@P2)则耐受。若标记为易降解,会提示“使用 DPP4 抑制剂或耐蛋白酶类似物重新测试”——这为“体外有效,在小鼠测定中无效”提供了一个关键的替代解释。
  • ELM LIG 基序(按稀有程度排序),以及每个基序参与结合的 Pfam 结构域——为没有已命名 PROSITE 家族的肽提供低置信度背景信息。
  • 非经典 / 环状标记——任何不属于 20 种标准 L-氨基酸的残基都会被标出,因为 BLAST/PROSITE/ProtParam 会默认序列是经典线性肽,因此会错误表征非核糖体肽或环状肽(在单细胞生物天然产物中很常见)。请按名称使用 Norine_get_peptide 查询此类肽,并向 cofold_screen.py 传入 --cyclic。
  • 跨物种界面比对(排名前 ≤3 的候选对象)——解析每个候选对象的人类、测定物种(以及可选的来源物种)直系同源序列(UniProt),并进行比对(EBI_msa_align),报告每对序列的 % identity 和替换数量。人类与测定物种之间较低的相同性会标出结合界面最可能发生分化的直系同源物——这是回答“在 A 中能结合,在 B 中不能”的机制性解释。如果来源生物是 UniProt 中不存在的原生生物,则会报告 insufficient,并提示你手动提供配体序列。
  • 可直接用于 ClusPro 的 PDB(排名前 ≤3 的候选对象)——PDBeSIFTS_get_best_structures 会解析出一个有代表性的已解析 PDB id,可直接传给 ClusPro_submit_peptide_docking。

在对照样本上验证(--sequence HGEGTFTSDLSKQMEEEAVRLFIEWLKNGGPSSGAPPPS --hypothesized-target GLP1R --phenotype "type 2 diabetes mellitus"):找回 B 类面板 {GCGR, GHRHR, GIPR, GLP1R, GLP2R, SCTR},将 GLP1R 标记为假设靶标(测试结果为阴性),并将 GIPR 提升至 Tier 1(家族 + 表型,分数 0.674),作为最主要的真实靶标假设——这正是去孤儿化的重新排序,且无需任何 API 密钥。

cofold_screen.py — 结构确认(第 5 阶段,需密钥)

将肽与每个入围受体进行共折叠,并根据界面置信度(ipTM)排序。需要 NVIDIA_API_KEY;没有该密钥时,将以 DRY RUN 模式运行,仍会解析每个受体序列(GPCRdb → UniProt 回退),并打印共折叠计划,供你在支付 GPU 费用前核对输入。

python3 scripts/cofold_screen.py --peptide <SEQ> --candidates GIPR GCGR GLP2R \
  [--backend boltz2|alphafold2_multimer|openfold3] [--assay-species mus_musculus] [--out cofold.json]

快速运行时请使用脚本。如果需要手动运行、调试或扩展单个步骤,请参阅完整的各阶段手动参考——其中包含脚本自动执行的每一次工具调用、确切的参数名称、注意事项、回退链、运行时说明,以及两个完整示例,详见 references/phases.md。当脚本步骤失败、需要手动执行某个阶段,或要将流水线扩展到新工具时,请阅读该文档。


流水线一览

共 6 个阶段;脚本会自动执行第 1–4 阶段(以及第 5 阶段的 dry run)。完整详情、确切的工具调用和注意事项见 references/phases.md——手动执行任何阶段前请先阅读。

阶段功能主要工具
0 验证确认所有工具均可加载;使用回退方案tooluniverse.cli run …
1 表征 + 基序 + 分类理化性质、非经典/环状标记、PROSITE/ELM 特征 → 配体家族、靶标类别路由器(GPCR/通道/蛋白酶/细胞因子/整合素/…)PepCalc/ProtParam、ScanProsite→PROSITE_get_entry、ELM_*、ESMFold
2 候选生成4 条独立路线——同源性、基序→结构域、靶标家族枚举(按类别感知)、表型锚点 → 并集BLAST/EBI_msa_align、HGNC+InterPro+GPCRdb+GtoPdb、OpenTargets
3 跨物种分析解析“在 A 中结合、在 B 中不结合”:比对人类/实验/来源物种的直系同源蛋白界面EnsemblCompara、Alliance、UniProt、EBI_msa_align
4 缩小范围 + 排序根据序列 × 表型 × 药理学 × 跨物种分析评分 → 入围名单 ≤15 个(交集逻辑)
5 结构确认 (可选,需密钥)对排名靠前的候选进行共折叠,并按界面 ipTM 排序;或使用免学术授权的 ClusPro 对接NvidiaNIM_boltz2/…、ClusPro_submit_peptide_docking
6 报告按证据等级排序的入围名单 + 湿实验计划(内嵌报告)

核心交集规则:真正的靶标是符合表型(路线 2D)与符合序列/结构(路线 2A–2C)的交汇处。仅凭名称猜测(“它是 GLP-1 类似物,所以靶标是 GLP1R”)正是导致脱靶错误的原因——绝不要断言某个靶标,除非路线并集确实筛出了它。


输出格式 — 排名候选名单报告(直接内联返回,不创建额外文件)

  1. 肽表征 — 长度、MW、pI、GRAVY、不稳定性、PROSITE/ELM 特征、非经典/环状标记、折叠置信度(如已运行)。
  2. 排名候选对象表 — 每个候选靶标占一行:基因 + accession · 靶标类别 · 证据等级 · 发现该候选的路径 · OpenTargets 表型评分 · 已知药理学说明(GtoPdb 肽配体?)· 跨物种状态(ortholog_one2one?测定物种中的界面 % identity?)。
  3. 跨物种协调说明 — 对排名首位候选,比较人类与测定物种(以及来源物种)的界面,并说明这对“结合 A 而不结合 B”意味着什么。
  4. 建议的湿实验验证 — 针对排名最高的 ≤3 个候选及其测定物种直系同源物进行结合/竞争实验 + 适合相应类别的功能实验(GPCR 使用 cAMP/β-arrestin;通道使用电生理;蛋白酶使用酶学/抑制实验;细胞因子受体使用报告基因),并在存在 GtoPdb 列出的家族拮抗剂时将其用作对照。

证据等级 — 始终注明哪些证据是无需密钥/已验证,哪些是需要密钥(未运行共折叠),并标出任何与最初假设靶标相反的候选,以便读者看到重新排名结果:

  • Tier 1(强): ≥2 条独立序列/结构路径 并且 出现在表型锚点中 并且(若运行 Phase 5)界面 ipTM 排名最高。
  • Tier 2(中): 1 条序列/结构路径 + 表型支持,或 ≥2 条序列路径但无表型支持。
  • Tier 3(弱/假设): 仅有单一路径(深层旁系同源物,或仅有表型命中、未获序列/结构佐证)。

肽生物活性属性数据库(补充表征)

除靶标去孤儿化本身外,ToolUniverse 还有 7 个小型的单属性肽数据库。它们都无法告诉你某条肽的靶标是什么——每个数据库只回答一个更具体的“这条肽是否具有 X 属性”问题,可在关注某条肽后作为补充证据(例如,在推荐某个候选物前标记其是否也具有溶血性/毒性,或在声称稳定性前核查其测得的半衰期)。查询与你实际所需属性匹配的数据库即可——对每条肽都搜索全部 7 个数据库是徒劳的。

数据库工具涵盖的属性搜索字段
DBAASPDBAASP_search_peptides、DBAASP_get_peptide抗菌活性——针对各靶标的 MIC 值、末端修饰、结构sequence、name、target_species、target_group、kingdom、uniprot、dbaasp_id
AMPSphereAMPSphere_search_amps、AMPSphere_get_family、AMPSphere_get_amp_distributions、AMPSphere_get_amp_features从 863K+ 原核生物宏基因组 smORF 中预测的抗菌肽——家族聚类、地理/生态分布、理化特征(MW、pI、电荷、摩尔消光系数)habitat、family、microbial_source、pep_length_interval、mw_interval、charge_interval,或特定的 accession
ConoServerConoServer_search_conopeptides、ConoServer_get_conopeptide芋螺毒液肽(芋螺毒素)——序列、PTM、半胱氨酸框架、基因超家族、药理学家族name、sequence、pharmacological_family、gene_superfamily、cysteine_framework、organism,或 conoserver_id
Hemolytik 2.0Hemolytik2_search_peptides经实验验证的溶血/毒性活性dataType 为 {nature, source, seq} 中的值,外加 dataValue——不支持按名称搜索;查询序列/子串时使用 seq
CancerPPD 2.0CancerPPD2_search_peptides经实验验证的抗癌活性,按癌症类型/细胞系分类dataType 为 {cancer_type, cell_line, seq} 中的值,外加 dataValue
TumorHoPe 2TumorHope2_search_peptides用于药物递送的肿瘤归巢肽source、target_tumor、name_source、conjugate(均为可选筛选条件)
PEPlife 2.0PEPlife2_search_peptides实验测定的半衰期/蛋白水解稳定性dataType 为 {lin_cyc, org, seq} 中的值,外加 dataValue——不支持按名称搜索,模式与 Hemolytik2 相同

使用这些数据库前,值得了解的已验证实时行为:

  • Hemolytik2 和 PEPlife2 都会拒绝固定枚举之外的 name/dataType 值(分别为 {nature, source, seq} 和 {lin_cyc, org, seq})——除了 DBAASP、ConoServer 和 TumorHope2 的 name_source 外,这里没有跨数据库的“按肽名称搜索”功能。如果你只有名称,请先搜索 DBAASP/TumorHope2;如果有序列,则按 seq 搜索。
  • Hemolytik2/PEPlife2/CancerPPD2 的 seq 筛选条件采用宽松的子串/片段匹配,而非精确序列查询——查询某种知名肽的完整序列,也可能返回仅共享一段短子序列的无关肽。在将搜索结果视为你查询的肽之前,请务必检查返回的 seq 字段是否确实匹配。
  • 撰写本文时,实时测试发现 ConoServer_search_conopeptides 无法正常工作——底层批量 XML 下载(conoserver.org/download/conoserver_protein.xml.gz)每次尝试都返回 HTTP 403(tu test 中 3 次尝试均如此,之后手动重试也失败);ConoServer_get_conopeptide(同样会加载该批量文件)在 tu test 的缓存运行中曾成功一次,但手动重试时也失败。请将 ConoServer 视为目前不可靠——依赖它之前先通过一次开销较低的调用检查其实时状态;若返回 403,切勿编造芋螺毒素记录。
  • 撰写本文时,已确认其他 6 个数据库(DBAASP、AMPSphere、Hemolytik2、CancerPPD2、TumorHope2、PEPlife2)在线且可正常工作。

验证与测试集

已在 exendin-4 → GLP1R 对照测试中验证:成功找回 B 类面板 {GCGR, GHRHR, GIPR, GLP1R, GLP2R, SCTR},将 GLP1R 标记为(负向)假设靶标,并将 GIPR 提升至 Tier 1——无需任何 API 密钥即可完成去孤儿化重排。完整的分步流程(包括对照测试 以及“在来源生物中结合,而非在小鼠中结合”的真实案例)见 references/phases.md。

可复现的测试提示词和可核验的断言位于 evals/evals.json(包含 exendin-4 对照测试、来源生物/小鼠阴性案例,以及非 GPCR 的无种子案例)。要检查该技能是否仍按预期运行,请用它运行提示词,并根据相应评估项的 assertions 验证输出。

评论

支持 Markdown