一:QSAR方法定義和發展過程簡介
定量構效方法(quantitative structure-activity relationship, QSAR)是應用最為廣泛的藥物設計方法。所謂定量構效方法就是通過一些數理統計方法建立其一系列化合物的生理活性或某種性質與其物理化學性質之間的定量關系,通過這些定量關系。可以猜測化合物的生理活性或某些性質,指導我們設計出具有更高活性的化合物。
早在1867年,Crum-Brow 和Fraser就提出了構效關系的概念,1900年前后,Overton 和Meyer等提出了麻醉作用的類脂學說,即化學結構各異的麻醉劑其活性隨著脂-水分配系數增加而增加的現象,這可能是最早提出的化合物生理活性和物理化學性質之間的定量分配關系模型。但只是到近幾十年,尤其是Hansch法提出后,隨著計算機技術的發展和多變量解析技術的引入,定量構效關系方法才逐漸發展和應用起來,現在它已經成為藥物設計和藥物開發中不可缺少的工具。
二:常用QSAR方法介紹
1 二維定量構效關系方法(2D-QSAR)
傳統的二維定量構效關系方法很多,有Hansch法、模式識別Free-Wilson法和電子拓撲法。 其中最為聞名應用最為廣泛的就是Hansch和Fujita提出的Hansch法。它假設同系列化合物某些生物活性的變化是和它們某些可測量物理化學性質的變化相聯系的。這些可測量的特性包括疏水性、電性質和空間立體性質等,都有可能影響化合物的生物活性。Hansch法假定這些因子是彼此孤立的,故采用多重自由能相關法,借助多重線性回歸等統計方法就可以得到定量構效關系模型。Hansch法最初可以表達為下面的公式
lg1/c=algp+bσ+cE+……+constant
既活性和疏水性參數π或lgp、電負性參數σ以及立體參數E有關。后來Hansch發現藥物要交替穿過水相和類脂構成的體系,其移動難易程度和lgp呈現出函數關系。假如經過一定時間后藥物在最末一相中為濃度lgc,則以lgc對lgp作圖,可以發現它們之間呈拋物線關系,因此上式又可以寫成下面的形式
lg1/c=a(lgp)2+b lgp +cσ+cE+……+constant 第一個式子適用于體外活性數據,而第二個式子適用于體內活性數據。
Hansch和Fujita等人最初所采用的構效關系模型中,僅采用了一些簡單的分子參數。但對于一個分子來說,可以用很多分子參數來表示分子的不同特征,比如各種拓撲參數、熱力學參數、量化計算得到的參數以及分子外形參數等。研究結果表明用這些參數往往能得到更好的結果。因此在實際應用過程中,我們總是盡量選擇最佳參數來得到最有效的模型而不必局限于Hansch和Fujita所提出的參數。
此外除了傳統的線性回歸方法之外,一些新的數理統計方法非數值算法也被用于構效研究中,如偏最小二乘法、人工神經網絡及遺傳算法等,這些新方法的應用大大推動2D- QSAR方法的發展。
2 三維定量構效關系方法(3D-QSAR)
近些年來,隨著構效關系理論和統計方法的進一步發展,又出現了一些三維定量構效關系(3D-QSAR)方法。譬如分子外形分析(molecularshape analysis, MSA)、距離幾何方法(distance geometry, DG)和以及比較分子場分析(comparative molecular field analysis, CoMFA)方法。
與2D-QSAR比較,3D-QSAR方法在物理化學上的意義更為明確,能間接反映藥物分子和靶點之間的非鍵相互作用特征。因此近十多年來3D-QSAR方法得到了迅速的發展和廣泛的應用。在3D-QSAR方法中,比較分子場分析(comparative molecular field analysis, CoMFA)方法是目前最為成熟且應用最為廣泛的方法。
2.1 比較分子場分析(comparative molecular field analysis, CoMFA)方法簡介
CoMFA的基本原理是:假如一組相似化合物以同樣的方式作用于同一靶點,那么它們的生物活性就取決于每個化合物四周分子場的差別,這種分子場可以反映藥物分子和靶點之間按的非鍵相互作用特性。其計算可以簡單的分為三個步驟(1)首先確定藥物分子的活性構象,再按一定的規則(一般為骨架疊加或場疊加)進行藥物分子的疊合;(2)然后,在疊合好的分子四周定義一定的步長均勻劃分產生格點,在每個格點上用一個探針離子來評價格點上的分子場特征(一般為靜電場和立體場,有時也包括疏水場和氫鍵場);(3)最后通過偏最小二乘方法建立化合物活性和分子場特征之間的關系并給出各種分子面的等勢能面。
近年來,研究人員對傳統的CoMFA進行了大量的改進,其中涉及到活性構象的確定,分子疊加規則、分子場勢函數的定義以及分子場變量的選取等等,在很大程度上提高了CoMFA計算的成功率。其中最具有代表性的可能就是比較分子相似因子分析(comparative molecular similarity indices analysis, CoMSIA)方法。
2.2 比較分子相似因子分析(comparative molecular similarity indices analysis, CoMSIA)方法簡介
與CoMFA方法相比,最大的不同就是分子場的能量函數采用了與距離相關的高斯函數的形式,而不是傳統的Coulomb 和Lennard-Jones 6-12勢函數的形式。CoMSIA方法中共定義五種分子場的特征,包括立體場、靜電場、疏水場以及氫鍵場(包括氫鍵給體場和氫鍵受體場)。這五種分子場可以通過公式計算得到。在CoMSIA方法中,由于采用了與距離相關的高斯函數形式,可以有效地避免在傳統CoMFA方法中由靜電場和立體場的函數形式所引起的缺陷。由于分子場能量在格點上的迅速衰退,不需要定義能量的截斷(cutoff)值. 對一些實際體系進行了這兩種方法的比較結果分析,在計算中采用了不同的格點數,且對體系均采用全空間搜索策略。結果表明CoMFA計算對不同的格點大小值以及疊合分子不同的空間取向非常敏感,采用不同的空間取向時,回歸系數的差值最大可以達到0.3以上。而CoMSIA方法在計算不同格點大小取值以及分子空間取向下得到的結果則穩定的多,在一般情況下,CoMSIA計算會得到更加滿足的3D-QSAR模型。
3. 4D-QSAR方法簡介
1997年,hopfinger等提出了4D-QSAR的概念。作者首次采用遺傳算法選擇分子動力學產生的構象來產生最佳的構效關系模型。在這個方法中,作者用每個格點對用的原子占有率來作為PLS的變量,作者根據原子的不同特征定義了七種不同種類的原子模型。在4D-QSAR方法中,作者考慮了藥物分子的整個構象空間,而不是一個分子,而且考察了多種原子疊合方式,因此在概念上比傳統的CoMFA方法有一定的進步
三 建立定量構效關系的方法
3.1 線性回歸方法
在傳統二維構效研究中,多重線性回歸(multiple linear regression, MLR)方法是最為常見的統計方法。一個分子可以用很多分子參數來表達,但在建立多重線性回歸模型的時候,為避免過擬合(overfitting),我們只能從這些物理化學參數中選擇一部分參數來建立回歸模型。一般來講,同系物數目和所選取參數數目的比應大于3~5,也有人提出應大于2的n次方(n表示選取的參數個數),怎樣選取合適的參數一直是定量構效關系研究中的一個難題,而且對于線性回歸來說,當體系噪聲較強或干擾嚴重時,有可能導致所得的模型失真,為了克服多重線性回歸的不足,在數學上可采用主成分回歸方法。
所謂主成分回歸就是采用主成分分析方法(principle component analysis, PCA)對活性影響最大的幾個主要成分建立定量構效關系模型。所謂主成分是一組新的變量,它是原來變量Xij的線性組合,第一個主成分所能解釋原量的方差最大,第二個次之,第三個再次之,往下依此類推。也就是說,主成分是一種線性組合,用它來表示原來變量所產生的平方誤差最小。運用主成分分析,原變量矩陣X可以表達為得分(即主成分)矩陣T, 該矩陣由本征矢量上的投影所得。主矩陣與矩陣的本征矢量一一對應,即XP=T。主成分回歸可以有效解決共線問題,同時由于去掉了不太重要的主成分,因而可以削弱噪聲(隨機誤差)所產生的影響。主成分回歸可以分為兩步:1 測定主成分數,并通過主成分分析將X矩陣降維;2 對于降維的X矩陣再做線性回歸分析。但是假如在第一步消去的是有用的主成分,而保留的是噪聲,則第二步多元線性回歸所得的結果就將偏離真實的數學模型。
在主成分回歸法的第一步中,我們處理的僅是X矩陣,對于矩陣Y中的信息并未考慮。事實上,Y中可能包含有用的信息,所以一種很自然的想法是測試矩陣X因子時同時考慮矩陣Y的作用。偏最小二乘法在考慮自變量的同時也考慮因變量的作用,同時通過折衷各自空間內的因子使模型較好的同時描述自變量和因變量,從而有效地減少相關因素的影響。
在構效關系研究過程中,還用到了許多其他的數理統計方法,比如說逐步回歸方法、非線性最小二乘方法以及一些模式識別方法等,在此就不一一介紹。
3.2 遺傳算法
3.2.1遺傳算法簡介
遺傳算法(genetic algorithm, GA)基本思想源自于達爾文的自然選擇學說。它表明遺傳和變異是決定生物進化的內在因素,生物的遺傳特性,使生物界的物種保持相對穩定,而變異特性則使生物個體產生新的性狀,以至于形成新的物種,推動了生物的進化和發展。
遺傳算法是模擬達爾文遺傳選擇和自然淘汰生物進化過程的計算模型。它的思想源自于生物遺傳學和適者生存的自然規律,是具有“生存+檢測”迭代過程的搜索算法。遺傳算法以一種群體中的所有個體為對象,并利用隨機化技術指導對一個被編碼的參數空間進行高效搜索。其中,選擇、交叉和變異構成了遺傳算法的遺傳操作。參數編碼、初始群體的設定、適應度函數的設定、遺傳操作設計、控制參數設定五個要素組成了遺傳算法的核心內容。
遺傳算法的主要特點是1直接對結構對象進行操作,不存在求導和函數連續性的限定;2具有內在的隱并行性和更好的全局尋優能力;3 采用概率化的尋優方法,能自動獲取和指導優化的搜索空間,自適應的調整搜索方向,不需要確定的規則。遺傳算法的這些性質已被人們廣泛的用于組合優化、機器學習、信號處理、自適應控制和人工生命等領域。作為一種新的全局優化搜獲方法,遺傳算法以其簡單通用、適用于并行處理以及高效、實用等顯著特點在各個領域得到了廣泛的應用,取得了良好的效果,并逐漸成為最為重要的智能算法之一。
遺傳算法的興起是在80年代末至90年代初,最初只是用于多肽的構象分析,近些年來,遺傳算法在工業分析、光譜分析、蛋白質三級結構猜測和數據分析等方面也取得了廣泛應用。
3.2.2 遺傳算法基本原理
遺傳算法的原理比較簡單,傳統遺傳算法經常用一個二進制線性數字串表示一個個體(individual),若干個體構成一個種群(population).一般我們用隨機的辦法產生初始種群。初始種群產生以后,就用定義的“適應性函數”(fitness function)去評價種群中的每個個體。然后通過個體的得分選擇部分個體并通過交叉和變異去繁衍它們的后代。當然得分高的被選中的可能性會大些,同時那些未選中的個體就自然消亡。留下來的個體和它們新產生的子代就形成了新的種群。經過一些列交叉和變異過程后,就可以得到總體得分比較高的種群,這就是我們所要尋找的具有非凡性能的構型。
我們習慣上把Holland 1975年提出的GA稱為傳統的GA。其主要步驟如下:1編碼. GA在進行搜索之前先將解空間的解數據表示成遺傳空間的基因型串結構數據,這些串結構數據的不同組合便構成了不同的點;2 產生初始種群。隨機產生初始串結構數據。每個串結構數據稱為一個個體,多個個體構成一個種群。GA以這個串結構數據作為初始點開始迭代優化過程;3 進行適應性指評估檢測。適應性函數表明個體或解的優劣性。不同的問題,適應性函數的定義方式也不同;4 選擇。選擇的目的是為了從當前群體中選出優良的個體,使它們有機會作為父代為下一代繁殖子孫。選擇實現了達爾文的適者生存原則;5 交叉。交叉操作是遺傳算法中最主要的遺傳操作。通過交叉操作可以得到新一代個體,新個體組合了其父輩個體的特性,交叉體現了信息交換的意思;6 變異。變異首先在群體中隨機選擇一個個體,對于選中的個體以一定的概率隨機地改變串結構數據中的某個串的值。同生物界一樣,變異為新個體的產生提供機會。
3.2.3 遺傳算法基本特點
遺傳算法作為一種快捷、簡便、容錯性強的算法,在各類結構對象的優化過程中顯示出明顯的優勢。與傳統搜索方法相比,遺傳算法具有以下特點:1 搜索過程不直接作用在變量上,而是作用在參數集進行了編碼的個體上。此編碼操作使得遺傳算法可直接對結構對象(集合、序列、矩陣、樹、圖、鏈和表)進行操作;2 搜索過程是從一組迭代到另一組解,采用同時處理群體中多個個體的方法,降低了陷入局部優化的可能性,并易于優化;3 采用概率變遷的規則來指導搜索方向,而不采用確定性搜索規則;4對搜索空間沒有任何非凡的要求(如連通性、凸性等),只利用適應性信息,不需要導數等其他輔助信息,適用范圍更廣。
3.2.4 遺傳算法的工作原理
遺傳算法是一個以適應度函數(或目標函數)為依據,通過對群體中個體施加遺傳操作實現群體內個體結構重組的迭代優化過程。它的理論主要有模式定理、積木塊假設、最小欺騙問題和隱并行性問題等。我們主要介紹模式理論和最小欺騙問題。
模式理論是研究較廣、影響較大的GA理論。它將GA的運算過程理解為模式操作過程并從模式運算的角度解釋GA的性能特點。GA的計算過程是從一個個體組成的初始群體出發,循環的執行選擇、交叉、變異過程。表面上看運算過程直接作用于群體,但其中隱含了模式集合中的操作過程。模式定理從模式操作的角度論證了在選擇、交換和變異因子作用下某一模式量的變化。模式定理揭示出具有低階、短定義矩以及平均適應度高于群體平均適應度的模式在子代中將以指數級增長,由于重組、變異的作用,并非低階優于平均的模式都是有效模式,但在規模為N的群體中,有多個模式是有效的,即每一代GA處理個體的同時,獲得了對多個模式的并行處理,并且無須額外的存儲量,這一性質稱為隱并行性。也就是GA在群體中搜索的過程可看作是隱含的對模式的抽樣過程,然后通過遺傳算子的作用將短的低階模式的信息組合起來,形成高階模式,直至搜索到最優解,這說明同傳統的優化算法相比,GA有很強的處理能力。
研究欺騙是為了猜測給定問題用GA求解的難易程度,這是我們所關注的問題。由模式理論,一個問題能否用遺傳算法有效地求解,取決于問題編碼是否能滿足積木塊假設,滿足者用遺傳算法求解率高,不滿足者求解率較低,甚至找不到滿足解,這一現象稱為欺騙。最小欺騙問題旨在盡可能使問題的編碼違反積木塊假設,使高階積木塊不能生成最優解。但實驗結果表明,對包含欺騙的問題,用GA求解時得到最優解和得不到最優解的情況都有可能發生。這說明欺騙不是衡量用GA解決問題難易程度的唯一標準。目前我們還無法判定一個問題包含欺騙的多少和問題相對于GA難易程度間的關系。
3.2.5 遺傳算法的一個計算實例
遺傳算法在程序上實現并不復雜,我們可以通過考慮如下簡單的非線性優化問題來具體討論遺傳算法的實現過程。
函數定義如下:f(x)=x*sin(10Л* x)+1.0 (-1≤x≤2)
我們要用遺傳算法得到上面這個函數的最大值。已知方程的極值為f(1.85)=2.85。整個實現過程可分為以下幾個步驟:
1 編碼:我們使用二進制的字符串表示方程的自變量x。字符串的長度取決于所需要的精度。定義域的范圍是3。精度要求小數點后取6位有效數字,也即是要把這個定義域范圍分為3×1000000個相等的區域。這樣就需要22位的二進制字符串來表示每個個體,因為2的21次方小于3×1000000,所以要取到3×1000000格點,至少要取到2的22次方。
把一個二進制字符串轉化為x的實數解需要兩個步驟:首先把二進制字符串轉化為十進制的整數;然后把得到的整數化為實數解。
2 產生初始種群:這一步比較簡單,所有的個體構成初始種群,為每個個體產生一個22位二進制字符串,需要強調每個字符串對應著方程的一個解。
3 適應性函數:在這里每個個體的適應性函數就是方程f(x)的值,由于我們在這里求的是極值,所以每個個體所對應f(x)的值越大,就表明個體的適應性就越好,則被選出的幾率就越大。適應性函數相當于自然進化中的環境,它會直接控制種群的演化過程。
4 遺傳操作:在遺傳算法中有兩個主要的遺傳操作:突變和交叉。突變是在群體中隨機選擇一個個體,然后以一定的概率隨機地改變串結構中某個串的值判定個體值的好壞,這一過程輔之以遺傳操作也確保更快更好的找到所需的值。循環這一過程,直到找到使f(x)最大的值,任務完成。
當然對不同的問題在實際操作上會有一定的差別,比如可能會對種群中的個體采用不同的數據結構,會采用其他的遺傳操作。但總體上來講,其基本流程是類似的,最大的差別就是根據不同的問題采用不同的適應性函數。
posted on 2010-06-24 20:07
周銳 閱讀(827)
評論(0) 編輯 收藏 所屬分類:
Chemistry