分子相似度與子結構搜尋
簡而言之:貼上或畫出兩個分子,即可取得 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] 在兩者中各找到一個羧酸基。正在載入編輯器…
SMARTS 速查表
載入中…
載入中…
依分子 A 排序清單
每行貼上一個 SMILES,後面可接名稱。每個分子都會與分子 A 比較評分,並由最相似排到最不相似。
如何使用相似度與子結構工具
- 相似度:輸入或貼上分子 A 與分子 B 的 SMILES,按下比較。若要改用繪圖,請在編輯器上方選擇分子 A或分子 B後繪製。
- 查看 Tanimoto 與 Dice 分數、判定結果與長條圖。兩張圖中加上底色的原子即為最大共同子結構。
- 排序清單:在依分子 A 排序清單下貼上多個 SMILES,按下排序清單。可用下載 CSV儲存表格。
- 子結構搜尋:開啟子結構搜尋分頁,輸入查詢或從速查表中選一個,貼上目標分子並按下搜尋。每個相符處都會以不同顏色標示。
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 本身就是有效的查詢。方括號可為單一原子加上條件:
#7原子序 7(任何氮)、c芳香族碳、C脂肪族碳、a任何芳香族原子、*任何原子。H1恰好連接一個氫、!H0至少一個氫、X3共有三個連接、D2有兩個重原子鄰居。R位於環中、R0不在環中、r6位於六員環中、+或-電荷。- 邏輯:
,或、;且、!非。鍵:-單鍵、=雙鍵、#參鍵、:芳香鍵、~任何鍵。
| 點群 | 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 環己烷
兩者都是 C6 環,但芳香鍵與脂肪族鍵產生的片段不同。
Tanimoto 0.000:不相似
哪些 NSAID 類藥物是羧酸?
以查詢 [CX3](=O)[OX2H1] 搜尋 9 種範例藥物。
9 種中有 6 種相符:布洛芬、萘普生、酮洛芬、氟比洛芬、雙氯芬酸、阿斯匹靈
乙醯胺酚中的 Lipinski 供體
查詢 [#7,#8;!H0] 找到醯胺 N–H 與酚 O–H。
2 個相符:HBD = 2
常見錯誤
- 比較不同指紋的分數。Tanimoto 0.6 對不同指紋代表不同意義。同一專案請固定使用一種方法。
- 以為立體異構物分數會不同。鏡像異構物與 E/Z 異構物的分數為 1.000,因為指紋忽略立體資訊。
- 把相似度當成活性。相似的結構常常(但不一定)有相似的活性。改變一個原子就可能讓藥物失效。
- 查詢時忘了氫原子。
C(=O)O也會比對到酯。羧酸的 OH 請用[OX2H1]。 - 誤用小寫。在 SMARTS 中,
c是芳香族碳,C是脂肪族碳。C1CCCCC1不會比對到苯。 - 以中性查詢搜尋帶電形式。畫成
[O-]的羧酸根不會比對到[OX2H1]。清單中有鹽類時,請兩種形式都搜尋。
想比較自己畫的類似物嗎?開啟免費線上結構編輯器 MolDraw,使用「比較分子」外掛,在草圖旁評分並對齊類似物。
開啟 MolDraw 編輯器常見問題
什麼是 Tanimoto 相似度?
Tanimoto 相似度用於比較兩個分子指紋,公式為 c / (a + b − c),其中 a 與 b 分別為兩分子中設為 1 的位元數,c 為兩者共同設為 1 的位元數。數值介於 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。
相似度與子結構搜尋工具是免費的嗎?
是的。完全免費、不需註冊,在網頁瀏覽器中執行。你的分子不會被上傳。
相關化學工具
最後更新: