H-P模型是基于三種簡化的,即蛋白質中各個氨基酸殘基的α碳原子都位于二維網格或三維網格的格點上,疏水作用是蛋白折疊中唯一的重要因素,同時通過計算疏水殘基接觸的數目代替構象的能量計算。雖然這樣的處理非常簡單,但是,通過H-P模型的計算分析,能夠發現蛋白質折疊的一些機制。
如果在蛋白質模型中取消氨基酸定位于網格點的限制,那么蛋白模型就可以更真實地模擬出蛋白的實際構象。去網格模型的誤差通常用預測構象和實際構象中
α碳原子的均方根偏差(RMSD)來計算。α碳原子的RMSD是指當預測構象和實際構象重疊在一起時,兩種構象中每個α碳原子位置的Euclidean平方距離的總和。
隨著蛋白模型與實際情況越來越相符,模型的復雜性也越來越大。去網格蛋白折疊模型可以只考慮α碳原子,也可以考慮所有的骨架原子,甚至可以考慮所有的骨架原子和側鏈原子。假如在模型中考慮側鏈的話,那么側鏈可以表示成剛性側鏈、半柔性側鏈和完全柔性側鏈。對于剛性側鏈,我們已經在X射線結晶結構中得到了這些側鏈的構象,X射線結晶結構中每種氨基酸出現最多的構象就被看作這種氨基酸的剛性側鏈采取的構象。對于半柔性側鏈,我們也是利用類似的經驗性方法得到它的構象。從一系列X射線結構中可以得到側鏈的多種構象,對這些構象進行分組,形狀類似的為一組,這種方法中排除了那些不經常出現的構象,這也減少了搜索的復雜度。
能量函數及優化
除了要考慮疏水作用,蛋白折疊的能量函數中還要考慮到氫鍵、二硫橋的形成、靜電作用、范德華力以及溶劑作用。由于這些力中每一個力的相對作用還很難通過實驗來計算,因此尋找一個合適的蛋白折疊復合能量函數仍然是一個研究熱點。我們可以通過理論方法,針對范德華力、氫鍵、溶劑、靜電和其它力對一個已折疊蛋白總體穩定性的相對作用來建立能量函數。它的目標是得到一個近似的能量函數或者力場,那些已知結構的蛋白質結晶構象在這個能量函數中處于一個最小能量的狀態。如何尋找一些可行的能量函數,本質上是分子力學的問題。而且,科學家確實已經設計出了許多有效的能量函數。
分子力學方法假設正確的蛋白質折疊對應于最低能量的構象。分子力學勢能是原子坐標的函數,其極小值對應于原子體系的局部能量最小點。勢能函數由多項組成,包括成鍵作用和非成鍵作用。成鍵作用項分為化學鍵的伸縮能(鍵長)、彎曲能(鍵角)和扭轉能(二面角),非成鍵作用包括范德華力、靜電力、氫鍵等。分子力學中的勢能參數有各種來源,包括從頭算和半經驗量子化學計算結果、氨基酸和小分子的實驗觀察結果等。
對于能量的優化有多種方法。常用的方法是梯度下降法,其中最陡下降法是一種簡單的優化算法。在最低能量搜索過程中,最陡下降法反復對能量函數進行微分,計算梯度,每次沿能量下降最多的方向前進。當搜索位置離能量極小點比較遠時,用這種方法可以迅速向極小點靠近,但接近極小點時,會產生振蕩,收斂速度慢。另一種基于梯度的方法是共軛梯度法,其計算與最陡下降法一樣,但是在選擇搜索方向時,不僅考慮當前的梯度,還要考慮原來的搜索方向,經過綜合決定下一步搜索方向。共軛梯度法收斂的速度快,但是更容易陷入能量局部極小點。
牛頓-拉普森方法是另一類能量優化方法。梯度方法在計算時使用的是一階微分,而牛頓-拉普森方法除使用一階微分外,還計算二階微分,利用一階微分確定搜索方向,用二階微分確定沿梯度在什么地方改變方向。應用該方法能夠迅速收斂,但是計算量非常大。也可以通過分子動力學來尋找具有局部最低能量的構象。分子動力學利用牛頓力學的基本原理,通過求解運動方程得到所有原子的運動軌跡,并根據軌跡計算各種性質。分子動力學的優勢在于能夠跨過較大的勢壘,獲得低能量的構象。在蒙特卡羅和其它理論、實驗方法的支持下,分子動力學技術作為改進的模型,在搜索過程中能夠避免陷入局部能量極小點。分子動力學另外一個特點是可以模擬蛋白質折疊的過程,從而深入了解蛋白質折疊的規律。
蒙特卡羅是一種隨機采樣的方法,通過該方法可以期望找到非常接近于全局能量最優的構象。也有用模擬退火方法、遺傳算法等進行蛋白質構象搜索和結構預測。
然而,要確保找到全局最低能量的構象,必須進行全面搜索,以一定步長搜索整個構象空間,從而尋找能量最低點。由于搜索的是整個構象空間,所以最終找到的是全局最小點。但是對于生物大分子來講搜索空間太大,在實際應用中不可行,只能處理很小的蛋白質。即使對搜索空間進行約束,如只允許我們感興趣的氨基酸和連接兩個殘基的二面角發生變化,計算量仍然是個問題。對構象空間的進一步簡化也只能處理比較小的蛋白質。
雖然利用引起蛋白質折疊的物理力學以及能量函數對蛋白質進行建模有一定實際意義,但是這種從頭開始預測蛋白質結構的方法由于種種原因往往得不到令人滿意的結果。首先,到目前為止,我們還沒有完全了解究竟是哪些力決定了蛋白質的折疊過程,同時這些力之間又是如何相互作用的。即使有了一些力場,但是,力場參數不精確。其次,這種方法需要考慮蛋白質中所有原子之間以及所有原子與周圍溶劑之間的相互作用。對于實際大小的多肽,由于計算量太大,這種方法其實并不可行。實際上,也沒有對溶劑處理的好方法。再一方面,構象搜索過程容易陷入局部能量極小點,而且自然折疊的蛋白質結構與一般蛋白質構象之間的能量差值比較小,因此,通過計算發現蛋白質的自然折疊結構非常困難。
對于從頭開始的方法,另外一種變化方法就是根據一些已知結構的蛋白質構象為一個未知結構的蛋白設計一個經驗性的偽能量函數。通常,為得到這種經驗性的能量函數表達式,我們首先要選擇一系列已知結構的蛋白質,然后對于每一個氨基酸,分析在三維空間上與其相鄰的氨基酸。于是,我們可以根據不同氨基酸的相對位置得到一個得分矩陣。例如,得分矩陣中會記錄所有絲氨酸殘基和蘇氨酸殘基的距離小于3.6的數目。對一個假定的蛋白質構象,為了估計出它的經驗性能量,必須考慮這個蛋白中每個殘基的相鄰殘基。對于那些在樣本庫中經常出現的局部構象,它們的能量得分會比較小,而對于那些在樣本庫中不經常出現的局部構象,它們的得分則比較高。如果一個構象的得分比較高的話,這個構象就不太穩定。例如,假如一個特定的絲氨酸殘基在6的距離內有三個相鄰的殘基,即天冬氨酸、組氨酸和谷氨酸,并且得分矩陣顯示天冬氨酸、組氨酸和谷氨酸在蛋白結構樣本庫中經常與絲氨酸相鄰,那么這個絲氨酸殘基的能量得分就比較低。但是,假如得分矩陣顯示絲氨酸和谷氨酸很少相鄰,那么這個絲氨酸殘基的經驗性能量值就比較高。將蛋白質中所有殘基的局部能量值累加,就得到這個蛋白質基于經驗的全局能量值。實際上,這種經驗性能量函數只對那些與已知蛋白質的結構相似的構象賦予比較低的能量值,而對那些新出現的構象或者不經常出現的構象,這種能量函數給出的能量值則比較高。