MolDraw › 化学工具 › 分子相似性与子结构搜索

分子相似性与子结构搜索

简而言之:粘贴或绘制两个分子,即可得到它们的 Tanimoto 和 Dice 相似度、相似程度判断和最大公共子结构。也可以在一个或多个分子中搜索 SMILES 或 SMARTS 模式,并高亮显示匹配的原子。

可用它检查类似物与先导化合物有多接近,将一组分子与参照分子排序比较,或找出哪些分子含有羧酸、芳基卤或氢键供体。分数基于 512 位子结构片段指纹,与 MolDraw 编辑器中“比较分子”插件使用的指纹相同。

快速解答:阿司匹林(CC(=O)Oc1ccccc1C(=O)O)和水杨酸(OC(=O)c1ccccc1O)分别置位 74 和 41 个指纹比特,且 41 个全部共有,因此 Tanimoto = 41 / (74 + 41 − 41) = 0.554(中等相似),Dice = 82 / 115 = 0.713。SMARTS [CX3](=O)[OX2H1] 在两者中各找到一个羧基。
绘图填入:

正在加载编辑器…

示例分子对:

正在加载…

正在加载…

将一组分子与分子 A 排序比较

每行粘贴一个 SMILES,后面可跟名称。每个分子都与分子 A 计算分数,并按相似度从高到低排序。

如何使用相似性与子结构工具

  1. 相似性:输入或粘贴分子 A 和分子 B 的 SMILES,然后点击比较。如果想直接绘制,请在编辑器上方选择分子 A 或分子 B 后绘图。
  2. 查看 Tanimoto 和 Dice 分数、相似程度判断和进度条。两幅结构图中着色的原子即最大公共子结构。
  3. 排序比较:在将一组分子与分子 A 排序比较下粘贴多个 SMILES,然后点击排序。用下载 CSV 保存表格。
  4. 子结构搜索:打开子结构搜索选项卡,输入查询或从速查表中选取一个,粘贴目标分子后点击搜索。每个匹配都用不同的颜色着色。

Tanimoto 相似度的原理

指纹是一串比特。本工具使用 512 位指纹,每一位对应固定字典中的一个常见子结构小片段,例如与氧相邻的羰基,或与氮相邻的芳环碳。分子含有该片段时,这一位为 1。

Tanimoto T = c / (a + b − c) Dice D = 2c / (a + b) D = 2T / (1 + T)

其中 a 是 A 中为 1 的比特数,b 是 B 中的,c 是两者共有的。T = 1 表示指纹完全相同;T = 0 表示没有共同比特。Tanimoto 是对称的:A 与 B 比较和 B 与 A 比较得到的数值相同。

计数例题

阿司匹林置位 a = 74 个比特,水杨酸 b = 41 个。水杨酸的 41 个比特在阿司匹林中也全部为 1,所以 c = 41。T = 41 / (74 + 41 − 41) = 41 / 74 = 0.554。D = 2 × 41 / (74 + 41) = 82 / 115 = 0.713。分数只是中等,是因为阿司匹林的乙酰酯基带来了许多额外比特。

本工具使用的判断标准

Tanimoto判断通常的含义
0.85 至 1.00非常相似近似类似物,或完全相同(1.00)
0.70 至 0.85相似核心结构相同,有一两个基团不同
0.50 至 0.70中等相似有部分共同片段,骨架或取代基不同
0.30 至 0.50弱相似只有一个环或一个官能团相同
低于 0.30不相似几乎没有共同之处

阈值取决于所用指纹。同一对分子用 ECFP4 等环形指纹计算,分数可能相差很大。只应比较同一方法得出的分数。

SMARTS 基础与速查表

SMARTS 是建立在 SMILES 之上的模式语言。普通的 SMILES 本身就是有效的查询。方括号为单个原子添加条件:

点群SMARTS匹配不匹配
羧酸[CX3](=O)[OX2H1]乙酸、阿司匹林乙酸甲酯、乙酸根阴离子
羧酸根阴离子[CX3](=O)[O-]乙酸钠乙酸
酯[#6][CX3](=O)[OX2][#6]乙酸乙酯、阿司匹林乙酸
酰胺[NX3][CX3]=O对乙酰氨基酚、肽键乙酸
伯胺(烷基)[NX3;H2][CX4]乙胺、苯丙胺乙酰胺、苯胺
仲胺(烷基)[NX3;H1]([CX4])[CX4]二乙胺乙胺
芳香胺(苯胺)[NX3;H2]c苯胺乙胺
醇[CX4][OX2H]乙醇苯酚
酚c[OX2H]苯酚、对乙酰氨基酚乙醇
醛[CX3H1](=O)[#6]乙醛、香草醛丙酮
酮[#6][CX3](=O)[#6]丙酮乙醛
芳基卤c[F,Cl,Br,I]氯苯、双氯芬酸氯乙烷
卤代烷[CX4][F,Cl,Br,I]氯乙烷氯苯
硝基[N+](=O)[O-]硝基苯乙腈
腈[CX2]#[NX1]乙腈乙胺
磺酰胺[SX4](=O)(=O)[NX3]磺胺、塞来昔布二甲基砜
硫醇[SX2H]乙硫醇、半胱氨酸二甲硫醚
苯环c1ccccc1甲苯吡啶
任意六元芳环a1aaaaa1吡啶、苯环己烷
Lipinski 氢键供体[#7,#8;!H0]每个 OH 和 NH(统计匹配数)乙醚
Lipinski 氢键受体[#7,#8]每个 N 和 O 原子丙烷
五元环中的原子[r5]环戊烷、呋喃环己烷
不在环中的碳[C;R0]丙烷环己烷

暂不支持:用 $( ) 写的递归 SMARTS 和用点号分隔的查询。查询中的 @ 等立体标记会被忽略。

例题

对乙酰氨基酚 vs 非那西丁

非那西丁在对乙酰氨基酚的 OH 处换成了乙氧基,乙酰苯胺核心相同。

Tanimoto 0.846,Dice 0.917:相似

吗啡 vs 可待因

可待因是吗啡的酚 OH 被甲基化后的产物,多了一个醚键。

Tanimoto 0.944:非常相似

布洛芬 vs 萘普生

两者都是 2-芳基丙酸,但萘普生含甲氧基萘,而不是异丁基苯。

Tanimoto 0.711:相似

苯 vs 环己烷

两者都是六元碳环,但芳香键和脂肪族键产生的片段不同。

Tanimoto 0.000:不相似

哪些 NSAIDs 是羧酸?

在 9 个示例药物上查询 [CX3](=O)[OX2H1]。

9 个中有 6 个匹配:布洛芬、萘普生、酮洛芬、氟比洛芬、双氯芬酸、阿司匹林

对乙酰氨基酚中的 Lipinski 供体

查询 [#7,#8;!H0] 找到酰胺 N–H 和酚 O–H。

2 个匹配:HBD = 2

常见错误

想比较自己画的类似物?打开免费的在线结构编辑器 MolDraw,使用“比较分子”插件,在草图旁对类似物评分和对齐。

打开 MolDraw 编辑器

常见问题

什么是 Tanimoto 相似度?

Tanimoto 相似度用于比较两个分子指纹,公式为 c / (a + b − c),其中 a 和 b 分别是两个分子中置位的比特数,c 是两者共同置位的比特数。取值范围从 0(毫无共同之处)到 1(指纹完全相同)。

Tanimoto 值为多少时说明两个分子相似?

在本工具的 512 位片段指纹上,0.85 及以上为非常相似,0.70 至 0.85 为相似,0.50 至 0.70 为中等相似,低于 0.30 为不相似。阈值取决于所用指纹,因此只应比较同一方法得出的分数。

Tanimoto 和 Dice 相似度有什么区别?

两者使用相同的比特计数。Dice 为 2c / (a + b),对共同比特赋予更大权重,因此总是大于或等于 Tanimoto。当 a = 74、b = 41、c = 41 时,Tanimoto 为 0.554,Dice 为 0.713。

为什么两个对映体的 Tanimoto 分数为 1?

指纹只记录原子和化学键的连接方式,而不记录 3D 排列。L-丙氨酸和 D-丙氨酸的片段相同,所以分数为 1.000。当两个输入仅在立体化学上不同时,工具会提示你。

什么是 SMARTS?

SMARTS 是一种基于 SMILES、用于描述子结构的模式语言。例如,[CX3](=O)[OX2H1] 表示一个有三个连接的碳原子,与 O 以双键相连并与 OH 以单键相连,即羧酸。

可以用 SMILES 字符串作为子结构查询吗?

可以。SMILES 查询会匹配任何含有这些原子和化学键的分子。查询不要求氢原子,因此 C(=O)O 既匹配羧酸也匹配酯。需要区分氢原子时,请使用 [OH] 或 [OX2H1]。

如何用 SMARTS 统计 Lipinski 氢键供体数?

用 [#7,#8;!H0] 搜索。它匹配每个至少连有一个氢的氮或氧原子,匹配数就是供体数。对乙酰氨基酚得到 2:酰胺 NH 和酚 OH。

这个相似性与子结构搜索工具免费吗?

免费。无需注册,在网页浏览器中运行。你的分子不会被上传。

相关化学工具

最后更新: