轉載自
《分子指紋及其在虛擬篩選中的應用》http://blog.molcalx.com.cn/2019/01/29/fingerprint.html
分子指紋(Molecular fingerprint)
在比較兩個化合物之間的相似性時遇到的最重要問題之一是任務的複雜性,這取決於分子表徵的複雜性。為了使分子的比較在計算上更容易,需要一定程度的簡化或抽象。分子指紋就是一種分子的抽象表徵,它將分子轉化(編碼)為一系列比特串(即比特向量,bit vector, 見Figure 1.),然後可以很容易地在分子之間進行比較。典型的流程是將提取分子的結構特徵、然後哈希(Hashing)生成比特向量。
比較分子是很難的,比較比特串卻很容易,分子之間的比較必須以可量化的方式進行。分子指紋上的每個比特位對應於一種分子片段(Figure 2),假設相似的分子之間必然有許多公共的片段,那麼具有相似指紋的分子具有很大的概率在2D結構上也是相似的。
Figure 2. 比特向量上的每個位置對應一個分子片段或特徵
有十多種方法可以評估兩個向量之間的相似性(參見:Fingerprints-Screening and Similarity.),最常見的是歐幾裡德距離。但對於分子指紋,行業標準是Tanimoto係數,它由兩個指紋中設置為1的公共位數除以兩個指紋之間設置為1的總位數組成。這意味著Tanimoto係數總是具有介於1和0之間的值,而不管指紋的長度如何,這導致指紋隨著指紋變長而變得鬆散。這種損失還意味著具有給定Tanimoto係數的兩個指紋實際上將如何相似地將極大地取決於所使用的指紋的類型,這使得不可能選擇用於確定兩個指紋是相似還是不相似的通用截止標準。然而,通過數據融合策略將分子指紋與其他相似係數相結合,可以提高分子指紋的性能[1]。表1列出了幾個與指紋一起使用的相似性和距離度量。
Table 1. 幾種指紋的相似性和距離度量
其中,給定兩個化合物A和B的指紋,m等於指紋中存在的總位數,a、b分別等於A、B中比特值為1的位數,c等於A和B中公共的比特值為1的位數。
基於子結構的指紋(substructure key-based fingerprint)
基於子結構的指紋根據給定結構列表中某些子結構或特徵的存在與否來設置位串。這意味著如果分子主要由指紋的子結構組成時最有用,而當分子包含指紋的子結構時則不那麼多時則不會很有用,因為它們的特徵將不被分子指紋所表示。一種分子指紋的位數由子結構的數量決定,每個比特位與分子中單個給定特徵的存在或不存在有關(Figure 3),這與其他(散列)類型的指紋不同。最常用的基於子結構的分子指紋有:
MACCS
MACCS採用SMARTS編碼的子結構,根據子結構種類數量不同有兩個變種:一種是166,另一種是960。較短的是最常用的,因為它的長度相對較小(僅166位),但涵蓋了藥物發現和虛擬篩選時的大多數感興趣的化學特徵。大部分軟體中的MACCS指紋用的是短版本,而較長的960版本則很少見,大部分軟體包不能計算。
Figure 3. 一個10-BIT長度的指紋圖譜示意圖:每個位置編碼一個子結構, 有3個位置所代表的子結構出現在上圖的分子(即被圓圈圈中的那些子結構),這些位置被標為1;其它的位置代表的子結構沒有出現在分子中,則被標為0。
PubChem指紋
該指紋具有881個子結構,涵蓋了廣泛、多樣的不同子結構和官能團。PubChem將該指紋用於相似性搜索。除了PubChem自己的代碼之外,在PaDEL-Descriptor和CDK中都有實現。
基於拓撲或路徑的指紋圖譜(Topological or path-based fingerprint)
基於拓撲或路徑的指紋通過分析從一個原子開始直至到達指定數量鍵的路徑(通常為線性)上所有的分子片段,然後對每一個路徑中的進行哈希(Hasing)產生指紋(Figure 4)。此類指紋適用於任意一個分子,並可以調整其長度,可以用於快速的子結構搜索與分子過濾。哈希的指紋意味從比特位出發無法追蹤到結構特徵。同樣的比特位可以對映不同的結構特徵,稱為「比特位衝突」(bit collision)。Daylight指紋(Daylight fingerprint)[7]是此類型指紋中最突出的代表。它們由多達2048的比特位組成,編碼了分子達到給定長度的所有可能的連接途徑。大多數軟體可實現此類指紋,有的軟體可以達到更高的位數或使用非線性連接路徑,例如OpenEye的Tree指紋(Tree fingerprint)。
Figure 4. 採用線性路徑分析長達5鍵路徑上的所有分子片段生成的10比特位拓撲指紋。從起始原子(用圓圈標出)出發找到的所有片段,片段長度和相應的比特位用箭頭指示。如圖可見有兩個比特位衝突,多個片段指向同一個比特位並引發比特位減少。上圖僅展示了從一個單個起始原子出發的片段和比特位;對於完整的指紋,將對分子中的每個原子進行重複該過程。圓形指紋(Circular fingerprint)採用類似的方法,不同是的在起始原子特定半徑內構建片段而不是線性路徑上構建片段。
圓形指紋圖譜(Circular fingerprints)
圓形指紋也是一種哈希的拓撲指紋,但它們與基於路徑的指紋不同之處在於:不是在分子中尋找路徑,而是記錄每個從原子出發直到指定半徑內的環境(見Figure 5)。因此,此類指紋不適用於子結構查詢(因為相同的片段可能具有不同的環境),但廣泛用於完整結構的相似性搜索。
Figure 5. Circular Fingerprint示意圖:以一個重原子為中心,搜尋在特定半徑範圍(有的實現用直徑)內的結構特徵,比如力場的原子類型,官能團,片段等各種信息。
Molprint2D
MolPrint2D是由Bender等(2004)開發,常用於QSAR研究與比較分子的相似性。OpenBabel與jCompoundMapper提供了MolPrint2D指紋生成方法。
ECFP
從Morgan算法衍生出來的擴展連接指紋(Extended-Connectivity Fingerprints,ECFP)事實上已經成為圓形分子指紋的行業標準方法,專門用於構效關係研究。ECFP指紋在使用的時候,根據設定的直徑不同會產生可變長度的指紋。最常用的是直徑為4的ECFP4,還有直徑為6的ECFP6,一些基準測試顯示兩者之間的性能差異很小。此外,還有一些變體比如ECFC還記錄了ECFP特徵的頻率計數,而不僅只是是否出現。多種軟體都提供了ECFP或Morgan算法,比如Pipe-line Pilot, Chemaxon的JChem, CDK和RDKit。注意,在RDkit中稱為Morgan Fingerprint,路徑長度用半徑表示而不是直徑,因此在RDkit的半徑2相當與ECFP的直徑4指紋。根據Gregory Landrum的測試,Morgan指紋與ECFP在相似性比較上沒有顯著差異。
根據Rogers與Hahn的研究,一般來說,直徑小的ECFP4足夠適合於相似性搜索與分子聚類;而直徑更大的ECFP得益於其包含更多的分子結構細節,因此適合於機器學習進行活性預測等,但限於計算量,通常用ECFP6與ECFP8。
FCFP(Functional-Class Fingerprints)
FCFP是ECFP的一種變體,它進一步被抽象:它不是索引環境中的特定原子,而是索引該原子的作用。因此,具有相同或相似功能的不同原子或基團在該指紋裡是沒有區別的,這使它們可以作為一種藥效團指紋。還有其它的FCFC變體,類似於ECFC對ECFP的變化。支持ECFP指紋的主要軟體包基本也支持FCFP。
混合指紋(hybrid fingerprint)
有些分子指紋方法將不同指紋方法產生的比特串組合成為一個新的比特串,常用的包括UNITY 2D和MP-MFP。UNITY 2D是SYBYL軟體包UNITY模塊使用的一種指紋圖譜,它組合了基於子結構與連接路徑片段兩種方法,長度為988比特位。Ling Xue等人(Xue 2003)設計開發的MP-MFP指紋包含了171比特位,其中110比特位編碼化學子結構,61位編碼了性質描述符(Figure 6)。
Figure 6. MP-MFP指紋示意圖:淺灰色編碼了性質信息(比如氫鍵受體、供體),深灰色編碼了化學子結構信息。
藥效團指紋圖譜(Pharmacophore fingerprint)
藥效團指紋也是常用的一種分子指紋。藥效團代表了分子對給定靶標具有活性所需的相關特徵和相互作用。藥效團指紋通常以類似於基於子結構的指紋方式編碼分子的結構特徵,但同時考慮了這些特徵之間的距離,通常按距離範圍對其進行分類生成比特位串。這樣,3D的藥效團信息就可以編碼到指紋中去。比如SYBYL軟體包中的Tuplet就可以編碼分子的3D藥效團22(Figure 7)。在Tuplet中,分子的形狀也用類似的方式編碼,因此可以同時比較藥效團與分子形狀。
Figure 7. Tuplet藥效團指紋圖譜示意圖:一個分子不同的構象,將每個構象的藥效團特徵按聚類分類、編碼為比特串。
其它類型
LINGO和SMIfp是基於文本的分子指紋編碼方法,這兩種指紋從化合物的規範SMILES編碼(canonical SMILES)出發生成化合物的指紋。分子指紋還可以基於結構的信息編碼蛋白質-配體之間的相互作用,比如Da C等人(2014)提出的蛋白-配體相互作用指紋(Structural Protein-Ligand Interaction Fingerprint,SPLIF)與Deng等人(2004)提出結構相互作用指紋(Structural Protein–Ligand Interaction Fingerprints,SIFt)則編碼了蛋白質-配體相互作用的信息,例如氫鍵、離子相互作用、與其殘基的表面接觸等等。
OEChem TK/OpenEye
OpenEye的OEChem TK可以生成166位的MACCS,LINGO,Circular,Path(與Daylight類似)和Tree(與Dayligth類似的非線性、「樹」片段)指紋,提供了C ++,Java,Python和C#接口。
JChem/ChemAxon
支持ECFP及其全部的變種ECFC, FCFP,FCFC以及藥效團指紋圖譜。
Open Babel
開源軟體,支持MOLPRINT2D、166-bit MACCS、 Daylight樣指紋FP2、FP3,提供了C++, Python、Perl、Ruby與Java等接口。
RDKit
也是一款免費、開源的化學信息學工具包,支持多種指紋:MACCS(166-Bit)、與Daylight類似拓撲指紋、Atom Pairs( 分子中每個原子對基於原子環境和最短路徑分離),Morgan指紋,Torsion指紋(基於拓撲兩面角描述符)和Layered指紋。RDKit提供了C++,Python,Java以及C#等API。
CDK
支持ECFP, Estate, LINGO,MACCS, Daylight類似指紋圖譜。
Indigo
免費的開源化學信息學工具包,包含了幾個哈希指紋及其組合,提供了C ++、Java、Python和C#等開發接口。
Cinfony
整合了Open Babel, RDKit, CDK, JChem與Indigo的全部功能。
ChemFP
用Open Babel, RDKit與OEChem做為後端進行計算。
Canvas/Schrodinger
MACCS,MOLPRINT2D, ECFP與線性路徑指紋。
MOE
TGD, TGT,MACCS, 2D與3D的四點藥效團指紋,EigenSpectrum形狀指紋。
jCompoundMapper
這是一款開源命令行軟體,使用CDK支持多種指紋,包括MOLPRINT2D,原子對和藥效團指紋等。此外,它還提供了幾種機器學習工具。
Pipeline Pilot
Pipeline Pilot本身是一款具有數據流工具,它可以計算各種指紋,包括MACCS、ECFP及其變體。
SYBYL-X
SYBYL-X採用其自己的UNITY 2D指紋進行資料庫搜索。
FLAP
FLAP是MolDiscovery開發是一種虛擬篩選軟體,FLAP的指紋編碼了分子的四點藥效團特徵信息,可用於配體-配體、配體-受體和受體-受體的比較。
MayaChemTools
MayaChemTools是用Perl寫的程序,可以計算多種分子指紋,包括ECFP,MACCS,基於路徑的指紋等等; 它也可以直接用於指紋的相似性搜索。
用指紋相似性進行虛擬篩選,需要具備以下條件:
- 至少一個已知的活性化合物做為參比分子(reference)
- 一個資料庫,其中含有潛在的活性化合物
- 軟體有能力生成並比較指紋
一旦確定了參比分子,下一步就是選擇最合適的指紋。選擇通常受限於軟體的選項。最合適的選擇還取決於參比分子,因為指紋應該能夠正確地表徵參比分子(哈希指紋不需要考慮這一點)。還應考慮資料庫和可用指紋是否考慮立體化學、互變異構形式以及參比分子和資料庫分子的構象。應優先使用立體化學敏感方法篩選立體化學敏感資料庫。如果構象很重要的話,應該使用能夠編碼構象信息的指紋。還應考慮所研究分子的互變異構現象,因為同一分子的不同互變異構體可具有顯著不同的指紋。
使用所選擇的算法計算資料庫中每個分子和參比分子的指紋,然後計算參比分子和資料庫中每個分子之間的相似性係數。再根據相似係數對分子進行從大到小排序。最靠前的那些分子應該具有與參比分子相似的生物活性。
3D方法優於指紋
Tresadern等人在對CRF1受體進行虛擬篩選時比較了幾種採用基於配體的方法:ECFP6指紋,特徵樹(Feature tree),Topomer,ROCS Shape Tanimoto,EON Electrostatic Tanimoto、OpenEye ComboScore(Shape Tanimoto和Color score的組合)和Cresset Fieldscreen。結果表明:在4個計算中ECFP6指紋有3個表現最差,但ECFP6在其中一個計算中的性能優於其它方法。同時,3D方法也可以比2D指紋的方法發現結構更多樣、更多骨架類型的化合物。
2D相似性方法優於3D相似性方法與分子對接
McGaughey等人比較了幾種拓撲、形狀與分子對接等基於配體與基於結構的虛擬篩選方法。在她的研究中,2D相似性的比較用到了Daylight指紋與TOPOSIM,3D相似性測試了SQW與ROCS,分子對接測試了FLOG、FRED與Glide。在該研究中,作者考察了這些軟體在11個靶標、2個化合物資料庫(MDDR與Merck內部資料庫)上的虛擬篩選性能。就多個靶標的平均富集因子而言,基於配體的方法要優於基於結構的方法(見Figure 8,9)。與其他多種虛擬篩選方法進行的比較,2D相似性方法優於大多數其他方法。作者得出結論:「就EF值而言,2D相似性方法(TOPOSIM,Daylight)在對具有結構多樣性的資料庫進行骨架躍遷時表現良好..."。
Figure 8. 基於配體的方法性能比較
從Figure 8還可以發現,用MDDR數據集評估的性能比用MCIDB數據集的要好。其中的一個原因可能是:MDDR文獻數據居多,各個作者可能採用跟進策略因此公開的化合物具有更多的相似性,而使得虛擬篩選更容易;而MCIDB是Merck公司自己的數據,對化合物多樣性要求更高,這使得虛擬篩選更難。
Figure 9. 基於結構的方法性能比較
機器學習技術可以大致分為有監督學習或無監督學習。對於監督學習,將標籤分配給訓練數據,並且在訓練後,模型可以預測給定數據輸入的標籤。有監督的機器學習模型包括回歸分析,k最近鄰(kNN),貝葉斯概率學習,SVM,隨機森林和神經網絡。無監督機器學習技術直接從未標記的數據中學習分子特徵的基礎模式。監督學習的一種特殊情況是半監督學習或跨語言學習,其中在訓練過程中將少量標記數據與未標記數據混合,以提高用於建模不平衡數據集的學習準確性。無監督方法包括降維技術,例如主成分分析(PCA),獨立成分分析(ICA)和幾種也可以支持無監督學習的監督方法,例如SVM,概率圖形模型和神經網絡。聚類算法代表了另一種無監督算法,其中數據集首先在高維空間中被預定義的距離度量劃分,然後根據觀察到的類別數分配標籤。