7.1 基于配体的虚拟筛选


文档摘要

7.1 基于配体的虚拟筛选 本节摘要:基于配体的虚拟筛选(LBVS)不需要靶点三维结构,只凭一组已知活性分子,用相似检索、药效团与 QSAR 模型在百万库中捞出候选。本节讲清流水线的四道工序——查询构建、硬过滤、排序、富集度评估——并以"二十个活性分子撬动百万库"的完整战役演示每一步的真实产出与判读口径。 荐书实战开打。第5章的相似检索与第6章的 QSAR 在这里合装成生产线;本节的任务是把"能用"的工具串成"能打"的流程,并给出评估这场仗打得值不值的经济学指标。 手里有一把活性分子,然后呢 LBVS 的资产是配体清单:文献活性分子、内部筛选命中、专利里的先导。流程四道工序,顺序有讲究。 第一道,查询构建。

7.1 基于配体的虚拟筛选

本节摘要:基于配体的虚拟筛选(LBVS)不需要靶点三维结构,只凭一组已知活性分子,用相似检索、药效团与 QSAR 模型在百万库中捞出候选。本节讲清流水线的四道工序——查询构建、硬过滤、排序、富集度评估——并以"二十个活性分子撬动百万库"的完整战役演示每一步的真实产出与判读口径。

荐书实战开打。第5章的相似检索与第6章的 QSAR 在这里合装成生产线;本节的任务是把"能用"的工具串成"能打"的流程,并给出评估这场仗打得值不值的经济学指标。

手里有一把活性分子,然后呢

LBVS 的资产是配体清单:文献活性分子、内部筛选命中、专利里的先导。流程四道工序,顺序有讲究。

第一道,查询构建。单个查询分子天然带偏向(它只是化学空间的一个点),工业标准做法是多查询合并:取多个结构多样的活性分子各做相似检索,候选取"与任一查询的最高相似"或做排名融合;活性分子多时直接训练 QSAR 模型当排序器。查询组内部越多样,覆盖的化学空间越大——选查询本身就该用 5.2 节的多样性挑选。

第二道,硬过滤先行。排序之前先踢掉明显不合规的分子:类药规则(4.1 节五件套)、反应性警报(3.2 节 PAINS)、采购状态。过滤先行省的是排序算力,更重要的是防"高分怪分子"挤占命中名额——这一道工序的原则与 7.3 节一脉相承。

第三道,排序。相似检索打分(批量 Tanimoto)或模型打分(QSAR 预测值)皆可,工程上常串联:粗指纹全库快筛,细模型精排前百分之几。别忘了 6.2 节的适用域标记——域外高分分子的排名要降级处理。

第四道,富集度评估。这是 LBVS 特有的功课。有真值时(基准数据集带活性标签),用富集因子衡量:模型前百分之一名单里真活性的浓度,是随机抽样的多少倍。它比精确率、AUC 更贴实验室经济学——药化同事买的不是"模型的准确率",是"花同样的钱多命中几倍"。

案例:二十个活性分子撬动百万库

背景。某酶靶点有二十个已知活性分子(文献与内部数据,pIC50 从六到九),靶点结构解析未果,SBVS 无从下手。目标:在百万级采购库中找新化学骨架的命中,实验预算只够复筛三百个。

操作。流水线四道工序依序展开:

from rdkit import Chem, DataStructs from rdkit.Chem import AllChem from rdkit.Chem.FilterCatalog import FilterCatalog, FilterCatalogParams # 1) 查询组:二十个活性分子的指纹(多样性挑选后的代表集) query_fps = [AllChem.GetMorganGenerator().GetFingerprint( Chem.MolFromSmiles(s)) for s in active_set] # 2) 硬过滤:反应性警报当场踢出 params = FilterCatalogParams() params.AddCatalog(FilterCatalogParams.FilterCatalogs.PAINS) catalog = FilterCatalog(params) library = [m for m in purchasable_mols if not catalog.HasFilterMatch(m)] # 3) 排序:与任一查询的最高相似度 def best_score(mol): fp = AllChem.GetMorganGenerator().GetFingerprint(mol) return max(DataStructs.TanimotoSimilarity(fp, q) for q in query_fps) scored = sorted(((best_score(m), i) for i, m in enumerate(library)), reverse=True) top300 = scored[:300] # 4) 评估:用已知活性/非活性分子当参照集算富集因子 def enrichment_factor(ranked_labels, frac=0.01): k = int(len(ranked_labels) * frac) hits = sum(ranked_labels[:k]) / max(1, k) total = sum(ranked_labels) / len(ranked_labels) return hits / max(total, 1e-9)

结果。警报过滤踢掉约百分之四的库分子;三百人名单交实验复筛,三十几个显示可重复活性——命中率约百分之十一。同一靶点的历史高通量筛选命中率在百分之零点一到零点五之间,富集倍数在两个数量级上下。

解读。这组数字就是 LBVS 的价值主张:不提高命中绝对数,提高单位实验的命中浓度。复盘还有三个必须知道的细节:其一,命中的骨架分布比命中率重要——三十个命中若集中在两个骨架,战役价值减半,故挑选名单时用了骨架限额;其二,查询组里 pIC50 九的分子贡献了四成命中(强查询拉动强命中),说明查询加权(按活性加权多查询)值得做;其三,参照集评估(第四道工序的富集因子约三十倍)与实弹成绩方向一致,说明用文献数据预演筛选是靠谱的廉价演习。

变式。三个方向的火力升级。药效团路线:活性分子极少(三五条)时不配上模型,改建药效团模型——抽象出氢键供体、芳香中心等特征及其空间距离约束,再在构象系综中匹配;它比指纹更接近"作用方式相似",代价是需要构象采样与特征定义的人工判断。模型精排:粗筛名单缩小到几千后,让第6章的 QSAR 精排,前后串成漏斗。主动学习循环:首轮三百个实验结果回流数据集,重训模型再筛一轮——筛选从一次战役变成迭代战争,这是 10.3 节自动化闭环的雏形。

本节要点回顾

  • 多查询是底线:单查询只是化学空间的一个点,查询组要多样、可加权。
  • 查询组本身要策展:活性分子按多样性与活性双指标挑选(强而不同的优先),活性权重与结构覆盖兼顾;用弱查询凑数会稀释整个名单。
  • 硬过滤先行:警报与类药规则在排序前踢人,省算力更防怪分子占坑。
  • 富集因子是战果口径:前百分之一的命中浓度除以背景浓度,比准确率贴实验室经济学。
  • 骨架分布比命中率重要:命中集中于一两个骨架的战役,价值按骨架数打折。
  • 下一站:没有活性分子却有靶点照片时,换 7.2 的打法——让分子自己飞进口袋打分。

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U