关于 tooluniverse-binder-discovery
tooluniverse-binder-discovery 是用于发现小分子结合剂的 ToolUniverse 技能,面向靶点研究与先导化合物筛选。它按靶点可成药性、已知配体、结构分析、化合物扩展和 ADMET 过滤组织流程,并对候选物排序。
主要功能
- 01评估靶点可成药性与结合位点
- 02挖掘已知配体并分析构效关系
- 03基于结构和相似性扩展化合物
- 04生成并筛选候选分子
- 05结合对接、ADMET 与证据分级排序
适用场景
- 01为目标蛋白寻找小分子候选物
- 02评估靶点口袋是否适合小分子结合
- 03扩展已知活性化合物的类似物
- 04按 ADMET 与对接证据优先筛选候选物
MCP 相关
该技能使用 ToolUniverse 工具完成靶点、配体、结构、化合物和 ADMET 查询及分析。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-binder-discovery安装后在 Claude Code 中输入/tooluniverse-binder-discovery确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CHECKLIST.mdEXAMPLES.mdREPORT_TEMPLATE.mdTOOLS_REFERENCE.mdWORKFLOW_DETAILS.md详细介绍
小分子结合剂发现策略
借助 60 多种 ToolUniverse 工具,系统地发现新型小分子结合剂,涵盖成药性评估、已知配体挖掘、相似性扩展、ADMET 筛选和合成可行性分析。
查证,不要猜测——得出结论前,务必先从工具中检索实际数据。不要仅凭靶点类别就推断其成药性、结合位点或化合物性质。
核心原则:
- 报告优先——先创建报告文件,再逐步填充内容
- 优先验证靶点——搜索化合物前,先确认其成药性
- 多策略并行——结合基于结构和基于配体的方法
- 考虑 ADMET 的筛选——尽早剔除不理想的化合物
- 证据分级——根据支持性证据为候选物评级
- 输出可执行——提供经过优先级排序的候选物及其依据
- 优先使用英语查询——调用工具时始终使用英语术语。使用用户的语言回复
结合位点推理(从此处开始)
调用任何工具前,先推理靶点的结构生物学特征:
结合位点是明确的口袋(可供小分子结合),还是平坦的蛋白质-蛋白质界面(需要肽或大环分子)? 这将决定筛选策略。
- 具有活性位点的酶(蛋白酶、激酶、ATP 酶):具有深且明确的口袋,是经典的小分子靶点。优先搜索共结晶结构,并分析已知抑制剂的骨架。
- GPCR 和离子通道:具有跨膜口袋。通常可找到其结构;可从 GPCRdb 和 GtoPdb 中已知的药理学信息入手。
- 核受体:具有深疏水口袋。非常适合开发小分子;基于配体的方法效果显著。
- 蛋白质-蛋白质界面:接触面平坦且广阔。除非存在“热点”空腔,否则小分子很少能有效竞争结合。采用小分子策略前,先确认是否存在变构口袋。若未发现口袋,应提醒用户。如果靶点是已知的分子胶降解剂新底物(或目标是诱导新的 PPI,而非阻断现有口袋),则在判定该靶点无法通过小分子成药前,先使用
MolGlueDB_search_compounds/MolGlueDB_get_compound检索已知的分子胶化学类型。 - 内在无序区:基本不存在直接的小分子策略。应转向肽类策略,或检查
MolGlueDB_search_compounds,确认该靶点是否为有文献记载的分子胶新底物。 - 支架蛋白/衔接蛋白:在判定无法成药前,应评估共结晶结构中是否存在意料之外的口袋。
根据上述推理选择研究阶段,并在执行完整工作流前提醒用户相关挑战。
关键工作流要求
1. 报告优先(强制要求)
不要向用户展示搜索过程或工具输出。应当:
-
先创建报告文件——收集任何数据之前:
- 文件名:
[TARGET]_binder_discovery_report.md - 使用模板中的所有章节标题初始化文件(参见 REPORT_TEMPLATE.md)
- 在每个章节中添加占位文本:
[Researching...]
- 文件名:
-
逐步更新报告——收集到数据后,立即更新相应章节。
-
输出单独的数据文件:
[TARGET]_candidate_compounds.csv——按优先级排序的化合物,附带 SMILES 和评分[TARGET]_bibliography.json——文献参考(可选)
2. 引用要求(强制要求)
每条信息都必须包含来源:
示例:*Source: ChEMBL via ChEMBL_get_target_activities (CHEMBL203)*
工作流概览
各阶段按顺序排列:
- 阶段 0:工具验证(使用
get_tool_info检查参数名称) - 阶段 1:靶点验证——解析 ID、评估成药性、识别结合位点,必要时预测结构
- 阶段 2:已知配体挖掘——ChEMBL、BindingDB、GtoPdb、PubChem BioAssay、化学探针;SAR 分析
- 阶段 3:结构分析——PDB 共晶结构、EMDB(膜靶点)、结合口袋表征
- 阶段 3.5:对接验证——对参考抑制剂进行对接,以验证口袋几何结构
- 阶段 4:化合物扩展——相似性/子结构搜索(种子:3-5 个多样化活性化合物)+ 从头生成
- 阶段 5:ADMET 筛选——理化性质、生物利用度、毒性、CYP、结构警示
- 阶段 6:候选化合物对接与优先级排序——对前 20 个进行评分和排名
- 阶段 6.5:文献证据——PubMed、EuropePMC、OpenAlex
- 阶段 7:报告汇总与交付
阶段 0:工具验证
重要:调用不熟悉的工具前,请先验证工具参数。
tool_info = tu.tools.get_tool_info(tool_names="ChEMBL_get_target_activities")
常见参数修正(如不确定,请使用 get_tool_info 验证):
OpenTargets_*:使用ensemblId(驼峰命名);ADMETAI_*:smiles必须为列表NvidiaNIM_alphafold2(需要 NVIDIA_API_KEY 环境变量;可在 build.nvidia.com 免费获取密钥):使用sequence,而非seq;NvidiaNIM_genmol(需要 NVIDIA_API_KEY 环境变量;可在 build.nvidia.com 免费获取密钥):SMILES 必须包含[*{min-max}]NvidiaNIM_boltz2(需要 NVIDIA_API_KEY 环境变量;可在 build.nvidia.com 免费获取密钥):polymers=[{"molecule_type": "protein", "sequence": "..."}]
阶段 1:靶点验证
1.1 标识符解析
预先解析所有 ID,并保存以供后续查询使用:
1. UniProt_search(query=target_name, organism="human") -> UniProt accession
2. MyGene_query_genes(query=gene_symbol, species="human") -> Ensembl gene ID
3. ChEMBL_search_targets(pref_name__contains=target_name, organism="Homo sapiens") -> ChEMBL target ID
4. GtoPdb_search_targets(query=target_name) -> GtoPdb ID (if GPCR/channel/enzyme)
1.2 成药性评估
使用多来源交叉验证:
OpenTargets_get_target_tractability_by_ensemblID(ensemblId)- 成药性类别DGIdb_get_gene_druggability(genes=[gene_symbol])- 成药性类别OpenTargets_get_target_classes_by_ensemblID(ensemblId)- 靶点类别- 对于 GPCR:
GPCRdb_get_protein+GPCRdb_get_ligands+GPCRdb_get_structures - 对于抗体格局:
TheraSAbDab_search_by_target(target=target_name)
决策点:如果没有成药性数据,且结合位点分析表明靶点可能涉及 PPI 或无序区域,请在继续之前明确提醒用户。
1.3 结合位点分析
ChEMBL_search_binding_sites(site_name__contains=...)(仅按位点名称筛选;无法按靶点筛选)- 使用
get_binding_affinity_by_pdb_id(pdb_id)查询共晶配体 - 使用
InterPro_get_protein_domains(protein_id=uniprot_accession)查询结构域架构
1.4 结构预测(NVIDIA NIM)
需要 NVIDIA_API_KEY。有两种选择:
- AlphaFold2:
NvidiaNIM_alphafold2(sequence, algorithm="mmseqs2")- 精度高,耗时 5-15 分钟 - ESMFold:
ESMFold_predict_structure(sequence)- 速度快(约 30 秒),最多支持 1024 个 AA
pLDDT 指南:>=90 表示置信度极高,70-90 表示置信度较高,<70 表示使用时需谨慎。如果推定结合区域的 pLDDT 较低,对接结果的可靠性会受到影响。
阶段 2:已知配体挖掘
生物活性数据的优先级顺序:
ChEMBL_get_target_activities- 经过整理,可用于 SAR 分析BindingDB_get_ligands_by_uniprot- 直接提供 Ki/Kd 和文献链接GtoPdb_search_ligands- 专注于药理学(GPCR、通道);需要GTOPDB_API_KEY(未设置时返回 HTTP 401),因此未设置时跳过PubChem_search_assays_by_target_gene- HTS 筛选、新颖骨架OpenTargets_get_chemical_probes_by_target_ensemblID- 已验证的探针MolGlueDB_search_compounds- 专门针对分子胶降解剂(能诱导新的蛋白质-蛋白质相互作用,而非占据传统结合口袋的小分子);如果靶点没有可成药口袋,但已知或疑似为新底物,请检查此项
关键步骤:
- 筛选 IC50/Ki/Kd < 10 uM 的分子;获取活性最高分子的详细信息
- 识别化学探针和已获批药物
- 分析 SAR:常见骨架、关键修饰
- 检查脱靶选择性:
BindingDB_get_targets_by_compound
阶段 3:结构分析
工具:
PDB_search_similar_structures(query=uniprot, type="sequence")- 查找 PDB 条目get_protein_metadata_by_pdb_id(pdb_id)- 分辨率、方法get_binding_affinity_by_pdb_id(pdb_id)- 共晶配体亲和力get_ligand_smiles_by_chem_comp_id(chem_comp_id)- 获取 PDB 中配体的 SMILESEMDB_search_structures(query)- 冷冻电镜结构(GPCR 和离子通道优先使用)alphafold_get_prediction(qualifier)- AlphaFold DB 备用选项
阶段 3.5:对接验证(NVIDIA NIM)
如果有 PDB 和 SDF:使用 NvidiaNIM_diffdock(参数见 TOOLS_REFERENCE.md;需要 NVIDIA_API_KEY)。get_diffdock_info(info_type="overview") 仅返回 DiffDock 文档,不会执行任何对接。
如果只有序列和 SMILES:使用 NvidiaNIM_boltz2(polymers=[...], ligands=[...])。
先对接已知参考抑制剂,以验证结合口袋的几何结构,然后再运行候选分子。
阶段 4:化合物扩展
4.1-4.3 基于搜索的扩展
使用 3-5 个具有多样性的活性分子作为种子,相似度阈值设为 70-85%:
ChEMBL_search_similar_molecules(query=SMILES, similarity_threshold=70)PubChem_search_compounds_by_similarity(smiles, threshold=0.7)ChEMBL_search_substructure(smiles=core_scaffold)STITCH_get_chemical_protein_interactions(identifiers=[gene], species=9606)
4.4 从头生成(NVIDIA NIM)
GenMol - 使用掩码区域进行骨架跳跃:
NvidiaNIM_genmol(smiles="...core...[*{3-8}]...tail...[*{1-3}]...", num_molecules=100, temperature=2.0, scoring="QED")
MolMIM - 可控类似物生成:
NvidiaNIM_molmim(smi=reference_smiles, num_molecules=50, algorithm="CMA-ES")
阶段 5:ADMET 筛选
按顺序应用(所有工具均接受 smiles=[list]):
- 理化性质:
ADMETAI_predict_physicochemical_properties- Lipinski 违规数 <= 1,QED > 0.3,MW 200-600 - 生物利用度:
ADMETAI_predict_bioavailability- 口服生物利用度 > 0.3 - 毒性:
ADMETAI_predict_toxicity- AMES < 0.5,hERG < 0.5,DILI < 0.5 - CYP:
ADMETAI_predict_CYP_interactions- 标记 CYP3A4 抑制剂 - 警示项:
ChEMBL_search_compound_structural_alerts- 不含 PAINS
在报告中加入筛选漏斗摘要,显示每个阶段的通过/失败数量。
阶段 6:候选分子对接与优先级排序
综合评分:对接置信度(40%)+ ADMET 评分(30%)+ 与已知活性分子的相似度(20%)+ 新颖性(10%,未收录于 ChEMBL + 新颖骨架加分)。
候选分子的证据等级:
- T1(3 星):实验 IC50/Ki < 100 nM
- T2(2 星):对接评分与参考值相差不超过 5%,或 IC50 为 100-1000 nM
- T3(1 星):与 T1 化合物的相似度 >80%
- T4(0 星):相似度为 70-80%,仅骨架匹配
- T5(无星):生成的分子,已通过 ADMET 筛选,未进行对接
交付评分最高的 20 个候选分子,包含:排名、ID、SMILES、对接评分、ADMET 评分、总评分、来源、证据等级。
阶段 6.5:文献证据
PubMed_search_articles(query="[TARGET] inhibitor SAR")- 经同行评审EuropePMC_search_articles(query="SRC:PPR AND ...")- 预印本(未经同行评审)openalex_search_works(query)- 引文分析
回退链
Target ID: ChEMBL_search_targets -> GtoPdb_search_targets -> "Not in databases"
Druggability: OpenTargets tractability -> DGIdb druggability -> target class proxy
Bioactivity: ChEMBL -> BindingDB -> GtoPdb -> PubChem BioAssay -> "No data"
Structure: PDB -> EMDB (membrane) -> alphafold_get_prediction -> NvidiaNIM_esmfold -> AlphaFold DB -> "None"
Similarity: ChEMBL similar -> PubChem similar -> "Search failed"
Docking: get_diffdock_info -> NvidiaNIM_boltz2 -> similarity-based scoring
Generation: NvidiaNIM_genmol -> NvidiaNIM_molmim -> similarity search only
Literature: PubMed -> EuropePMC (preprints) -> OpenAlex
GPCR data: GPCRdb_get_protein -> GtoPdb_search_targets
编程式访问(超越工具)
当 ToolUniverse 工具返回的化合物集有限时,请直接访问化学数据库:
import requests, pandas as pd
# PubChem batch property retrieval (up to 100 CIDs per call)
cids = "2244,5988,3672"
url = f"https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/{cids}/property/MolecularWeight,XLogP,TPSA,HBondDonorCount,HBondAcceptorCount/JSON"
props = pd.DataFrame(requests.get(url).json()["PropertyTable"]["Properties"])
# ChEMBL bioactivity bulk download for a target
target_id = "CHEMBL203" # EGFR
url = f"https://www.ebi.ac.uk/chembl/api/data/activity.json?target_chembl_id={target_id}&pchembl_value__gte=5&limit=1000"
activities = requests.get(url).json()["activities"]
df = pd.DataFrame(activities)[["molecule_chembl_id", "canonical_smiles", "pchembl_value", "standard_type"]]
# Lipinski Rule of 5 filtering (no RDKit needed)
lipinski = props[(props["MolecularWeight"] <= 500) & (props["XLogP"] <= 5) &
(props["HBondDonorCount"] <= 5) & (props["HBondAcceptorCount"] <= 10)]
# SDF download from PubChem (for docking input)
sdf_url = f"https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/{cids}/SDF"
sdf_content = requests.get(sdf_url).text
有关格式指南和分页模式,请参阅 tooluniverse-data-wrangling 技能。
NVIDIA NIM 运行时说明
AlphaFold2:5-15 分钟(异步,最多约 2000 AA)。ESMFold:约 30 秒(最多 1024 AA)。DiffDock:每个配体约 1-2 分钟。Boltz2:约 2-5 分钟。GenMol/MolMIM:约 1-3 分钟。
始终检查:import os; nvidia_available = bool(os.environ.get("NVIDIA_API_KEY"))
对于大规模扩展(>500 个化合物):分批处理,每批 100 个,并优先对排名靠前的候选物进行对接。
参考文件
- WORKFLOW_DETAILS.md - 分阶段流程、代码模式和筛选方案
- TOOLS_REFERENCE.md - 完整工具参考,包含参数和回退链
- REPORT_TEMPLATE.md - 报告文件模板和证据分级系统
- EXAMPLES.md - 端到端工作流示例(EGFR、新靶点、先导化合物优化)
- CHECKLIST.md - 交付前验证清单