專利名稱:一種蛋白質側鏈預測的層次化建模方法
技術領域:
本發明涉及蛋白質結構預測技術領域,尤其涉及蛋白質側鏈預測的層次化建模方法。
背景技術:
蛋白質側鏈(Side-chain)空間結構是影響蛋白質分子結構及功能的重要因素。一方面,不同氨基酸殘基的“R”基團構成存在很大差異;另一方面,受蛋白質主鏈(Main-chain,或Backbone)構成及構象、分子溶液環境等影響,同一種氨基酸殘基“R”基團也將呈現不同構象。通常將一種氨基酸殘基“R”基團的特定結構狀態稱為該殘基的旋轉異構體(rotational isomer,或稱rotamer)。為便于側鏈預測,通常采用化學鍵的扭轉角(torsion angles,或稱二面角,dihedral angles)來描述旋轉異構體。氨基酸殘基中除參與肽鍵形成這一部分(主鏈)的二面角Φ、Ψ、ω外,側鏈上還存在xl、χ2、χ3、χ4等O到4個不等的二面角。一組二面角序列可以確定蛋白質特定的空間結構。蛋白質結構預測就是找出最接近天然結構的這組二面角序列。通常認為蛋白質的結構組成單元——氨基酸殘基的側鏈形態與蛋白質主鏈形態密切相關。通常的蛋白質側鏈預測分為兩大階段:一是基于主鏈形態分別為每個殘基位置生成側鏈旋轉異構體庫;二是基于該庫進行采樣,并結合主鏈形態組裝最終構象。側鏈旋轉異構體庫的生成實際上是一個機器學習問題,從大量已知數據集(訓練集)中學習一個連續模型,然后基于該模型進行采樣,從而構建所需的旋轉異構體庫,作為側鏈預測離散空間的表達。目前廣泛采用的側鏈預測方法基于側鏈形態與主鏈形態的關聯性,通過機器學習的手段,將主鏈形態信息作為系統的重要輸入,從而導出側鏈形態的二面角描述。通常采用的主鏈信息包括殘基類型aa、二級結構類型ss、主鏈扭轉角Φ、主鏈扭轉角Ψ四種。而描述側鏈的信息則根據殘基類型采用O 4個二面角:xl、x2、x3、x4。發明人認為,除主鏈對側鏈的影響外,側鏈二面角之間也有相互影響,而這種影響從側鏈根部(靠近主鏈部分)到末梢逐級遞減。換言之,殘基側鏈扭轉角一方面受到殘基類型以及主鏈信息的影響,另一方面還受到側鏈內部接近主鏈一側扭轉角的影響。而目前常用的側鏈預測方法往往忽略了這種影響。如果考慮到這種影響關系,在建模時就應當將4個X角的推理分別放在不同層次上。本發明基于動態貝葉斯網絡(DynamicBayesianNetworks, DBN),結合xl、x2、x3、x4對旋轉異構體結構貢獻的不同,設計了蛋白質側鏈預測層次化建模方法。
發明內容
針對現有技術的不足,本發明所要解決的技術問題在于提供一種用于蛋白質結構側鏈預測的層次化建模方法,能夠有效提高蛋白質側鏈預測質量。為此,本發明采用以下技術方案,它包括以下步驟:(I).以主鏈信息作為輸入,執行第一層推理單元,輸出側鏈扭轉角Xl ;
(2).以主鏈信息、側鏈扭轉角Xl作為輸入,執行第二層推理單元,輸出側鏈扭轉角x2 ;(3).以主鏈信息、側鏈扭轉角xl、x2作為輸入,執行第三層推理單元,輸出側鏈扭轉角x3 ;(4).以主鏈信息、側鏈扭轉角xl、x2、x3作為輸入,執行第四層推理單元,輸出側鏈扭轉角x4。本發明基于側鏈形態既與主鏈形態有關,又受側鏈上相鄰二面角的影響這種認識,設計了蛋白質側鏈預測的層次化建模方法。建模方法總體流程如圖1所示。該方法輸入為當前殘基所對應的主鏈信息:殘基類型aa、二級結構類型SS、主鏈扭轉角0、主鏈扭轉角V,輸出為當前殘基的側鏈二面角描述:xl、x2、x3、x4。圖中實線矩形為推理單元。所有推理單元按層次進行組織。在每一層中,分別根據各層的實際需求設計了數量不等的輸入數據,而各層只有一個輸出。只保留一個未知結點,有利于降低模型復雜程度,緩解數據稀疏現象。同時,對每一個側鏈扭轉角的推理,既考慮到主鏈信息的影響,又考慮到主鏈一側X角的影響,符合對蛋白質側鏈形態的認識。該方法針對各個層次分別單獨操作。在第一層中,選取殘基類型aa、二級結構類型ss、主鏈二面角0、主鏈二面角V4個屬性作為推理輸入,側鏈扭轉角xl為推理輸出;第二層的輸入在第一層基礎上增加了 xl,側鏈扭轉角x2為推理輸出。以下各層依次類推。由于氨基酸的側鏈二面角個數可能為0 4,為便于模型操作,對于側鏈二面角個數不足4個的情況,通過標記特殊值的方法加以區別,即在整理輸出數據時,過濾掉特殊值,從而得到符合實際氨基酸結構特點的輸出數據。本發明基于動態貝葉斯網絡(DBN)設計推理單元。本發明還針對上述各層推理單元,提供了層次化建模方法的訓練流程。訓練流程的輸入為蛋白質三維構象集合,輸出為各層推理單元的最優DBN模型。其中,no Improve表示訓練質量未提高次數,convergentlter表示收斂迭代閾值,bestLL表示最好似然值,bestBic表示最好Bic值,具體訓練流程如下:(2.1).為當前層推理單元創建DBN模型對象,記為dbn ;(2.2).為該dbn對象創建EM引擎,記為em ;(2.3).將訓練數據裝入em引擎;(2.4).當 nolmprove < convergentlter 時,進入(2.5),否則退出訓練流程;
(2.5).執行 em 的 E 步驟;(2.6).計算em的似然值11 ;(2.7).執行 em 的 M 步驟;(2.8).如果 11 > bestLL,則用 11 更新 bestLL,同時將 nolmprove 清 0,否貝丨Jnolmprove 自增;(2.9).根據 bestLL 計算 bic 值;(2.10).如果 bic > bestBic,則用 bic 更新 bestBic。具體訓練流程如圖2所示。訓練過程中,采用貝葉斯信息標準BIC打分函數評價DBN模型質量。隨著訓練參數的增加,模型極大似然值越來越大,因此只能依靠極大似然值來進行模型選擇。而BIC是大樣本前提下對邊緣似然函數的一種逼近,是一種用于模型選擇的統計方法。其公式如下:BIC = 21n(L)-pin(η) (公式 I)其中,L表示模型極大似然估計,P表示訓練時參數個數,η表示訓練集數據條數。BIC打分函數考慮了懲罰機制,使得沒有出現似然值顯著增長的參數增加被忽略掉。從而在給定數據情況下得到最優參數個數,避免得到過擬合模型。本發明采用Mocappy++l.0工具訓練模型。Mocappy是一個通過MCMC (MarkovChain Monte Carlo)來進行動態貝葉斯網絡參數學習和推理的工具。該工具可以方便地描述與蛋白質結構有關的概率模型,便于程序員將精力集中于模型本身,而不用過多考慮參數選擇和學習算法。訓練過程的輸出是針對各層推理單元的最優DBN模型(根據bestBic確定),這些模型將用于下一步采樣過程中。本發明將訓練過程中獲得的上述4個層次推理單元所對應的最優DBN模型分別標記為nip m2、m3、m4。本發明還提供了層次化建模方法的采樣流程。基于訓練流程所獲 得的各層推理單元DBN模型,本發明針對目標主鏈構象,通過各層推理單元進行采樣,以獲得目標主鏈各個殘基位置處的旋轉異構體庫。為此設計了層次化建模方法的采樣流程。采樣流程的輸入為已知目標主鏈構象信息,包括上述殘基類型aa、二級結構類型ss、主鏈扭轉角Φ、主鏈扭轉角Ψ等四種;輸出為主鏈各殘基位置處所對應的旋轉異構體庫。由于輸出的側鏈扭轉角逐層疊加,最終的旋轉異構體信息集中在第四層輸出當中。在米樣過程中,本發明將用于第一層米樣的輸入信息稱為b1;僅包含aa、ss、Φ、Ψ等已知數據,隱結點信息設置為0,xl為空(用O表示)。接下來對第一層采樣的結果進行調整,增加已知的xl角度,并設置x2為空。調整之后,將其作為第二層采樣的輸入信息,本發明稱其為b2。同樣,在第二層采樣結果的基礎上增加x2角度,并設置x3為空,作為第三層輸入信息,稱為b3 ;在第三層采樣結果的基礎上增加x3角度,并設置x4為空,作為第四層輸入信息,稱為b4。每層通過采樣的方式,依次增加已知信息,并向下一層傳遞。具體采樣步驟如下:(3.1).參數初始化,包括采樣信息Id1初始化為主鏈信息,符號1^、m2、m3、m4表示訓練流程輸出的針對第I 4層推理單元的DBN模型,采樣次數t由用戶輸入,該流程中用符號S表示采樣結果集合,即最終的旋轉異構體庫;(3.2).為第I層推理單元的DBN模型Hi1計算Viterbi路徑P1 ;(3.3).設置循環計數器i = 1,j = I ;(3.4).基于Viterbi路徑p]和采樣信息bp采用模型n^_進行一次采樣,采樣結果記入Sj ;(3.5).基于Sj為第j+Ι層構建米樣信息bj+1,該米樣信息在權利要求1中描述為各層的輸入信息;(3.6).為第j+Ι層推理單元的DBN模型計算Viterbi路徑pJ+1 ;(3.7).計數器 j增 I;(3.8).如果 j < 4,轉第(3.4)步;(3.9).將采樣結果S4累計保存到結果集合S中;
(3.10).計數器i 增 I ;(3.11) 如果 i ≤ t,轉第(3.4)步。具體采樣流程如圖3所示。每一次采樣結果保存在S4中,而最終的采樣結果累積到S中。S的結構可分為t個部分,每部分對應目標蛋白質一條完整的采樣結構。在每一部分中,整條蛋白質主鏈每個殘基位置對應I個旋轉異構體,每個旋轉異構體占I行。這樣,對于長度為n的主鏈的每個位置i而言,其所對應的t個旋轉異構體分別位于結果S中的第nX (j-l)+i行,其中j =l,2,...,t。S的結構如圖4所示。對結構預測而言,獲取采樣結果之后,接下來將進行結構裝配,具體到側鏈預測就是為目標主鏈結構添加側鏈,形成最終的三維構象。本發明重點在于提供側鏈預測的層次化建模方法,在裝配結構之前還進行了層次化建模方法的評價。對層次化建模方法的評價包括兩個方面:各層推理單元的DBN模型質量;最終采樣的旋轉異構體庫質量。兩個方面的評價結果表明本發明所提出的層次化建模方法能夠更準確地模擬天然蛋白質側鏈扭轉角狀態,生成質量更高的DBN模型;并基于這些DBN模型采樣獲得了質量更高的旋轉異構體庫。因此,本發明對于提高蛋白質側鏈預測質量具有基礎意義。
為了更清楚地說明本發明,下面將對本發明和現有技術描述中所需要使用的附圖作簡單地介紹。顯而易見地,下面描述中的附圖僅僅是本發明所針對的方法原理及本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。圖1是蛋白質側鏈預測層次化建模方法的總體流程圖。圖2是層次化建模方法訓練階段的流程圖。圖3是層次化建模方法采樣階段的流程圖。圖4是最終采樣結果S的結構示意圖。圖5a、5b、5c、5d分別是本發明實施例提供的訓練方法實驗結果圖:DBN模型BIC值。圖5a是為第一層推理單元訓練而得到的49個DBN模型所對應的BIC值。橫坐標為模型編號,縱坐標為BIC值。與圖5a類似,圖5b、5c、5d分別對應于第二、三、四層推理單元DBN模型的BIC值。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。本發明公開了一種蛋白質側鏈預測層次化建模方法,通過對蛋白質結構數據庫中所提供的結構數據進行分類,分別用于不同層次上的訓練。該方法既考慮到主鏈形態對側鏈結構的影響,又考慮到側鏈扭轉角之間的影響關系。對每一個層次而言,由于有針對性地選擇了適合的訓練數據,相對減少了訓練數據的稀疏性,提高了各層次上的訓練質量,并成功獲得了質量較高的DBN模型。同時,基于每一層所對應的最好DBN模型進行采樣,將采樣結果封裝為下一次所需要的采樣數據,依次對每一層進行采樣。本發明在蛋白質側鏈預測層次化建模方法的采樣中,獲得了質量較高的旋轉異構體庫,表明本發明的方法有望組裝出質量較高的蛋白質三維結構。下面結合實施例對本發明提供的蛋白質側鏈預測層次化建模方法進行詳細描述。實施例一采用的訓練數據是與Dunbrack庫所采用的訓練集相同的850個蛋白質。這些數據是PDB庫中通過X射線晶體學方法得到的。如果PDB結構中含有多條鏈,則只取其中的A鏈,且保證任意兩條鏈之間相似性不超過50%。訓練流程需要用到以下8種數據:殘基類型aa、二級結構類型ss、主鏈扭轉角Φ、主鏈扭轉角¥、側鏈扭轉角11、12、13和14。訓練之前需要將信息數字化,將連續數據離散化。首先是蛋白質類型,目前已知參與蛋白質組成的常見氨基酸只有20種,因此蛋白質類型本身就是離散化的信息,分別用整數O 19表示。同樣,主鏈二級結構也是離散信息。本發明所考慮的蛋白質二級結構只有α螺旋、β折疊、Loop三種,分別用整數O 2表示。而扭轉角信息是連續值,本發明以1°為單位將連續值離散化,即舍棄小數位。這樣即方便訓練模型,又不會因過度離散化而丟失太多信息。此外,由于20種氨基酸的側鏈各不相同,有些氨基酸沒有側鏈或側鏈各種形態等價,即X角不存在,本發明將這種情況下的X角度值用數值360表示。因此,X角度值離散化之后有361個可能數值(O 360)。本發明在16核1.6-GHz AMD CPU的AMD機群上并行對四個層次進行訓練。實驗設置模型編號H < 50,因此每層分別訓練了 49個DBN模型。訓練結果中每個DBN模型的BIC如圖5所示。圖5a 5d分別描述了第I 4層的訓練結果。橫坐標是DBN模型編號H,縱坐標是其BIC值。由圖中可以看出,在整個訓練過程中,各DBN模型的BIC值先上升,最高值分別位于曲線前半段,然后逐漸下降,并趨于穩定。由于訓練過程相當耗時,因此確定合理的H值有助于有效節約訓練時間。根據當前實驗數據的變化趨勢,當H > 50時應該難以有更高的BIC出現。說明設置H < 50比較合理。最終根據BIC選擇的最優DBN模型及相關訓練情況如表I所示。表I層次化建模方法訓練結果
權利要求
1.一種蛋白質側鏈預測的層次化建模方法,其特征在于它包括以下步驟: (1).以主鏈信息作為輸入,執行第一層推理單元,輸出側鏈扭轉角Xl; (2).以主鏈信息、側鏈扭轉角Xl作為輸入,執行第二層推理單元,輸出側鏈扭轉角x2 ; (3).以主鏈信息、側鏈扭轉角xl、x2作為輸入,執行第三層推理單元,輸出側鏈扭轉角x3 ; (4).以主鏈信息、側鏈扭轉角xl、x2、x3作為輸入,執行第四層推理單元,輸出側鏈扭轉角x4。
2.根據權利要求1所述的一種蛋白質側鏈預測的層次化建模方法,其特征在于,針對上述各層推理單元,還提供了層次化建模方法的訓練流程;訓練流程輸入為蛋白質三維構象集合,輸出為對應于各層推理單元的DBN模型;訓練流程涉及以下參數moImpiOve表示訓練質量未提高次數,convergentlter表示收斂迭代閾值,bestLL表示最好似然值,bestBic表示最好Bic值;所述訓練流程包括以下過程: (2.1).為當前層推理單元創建DBN模型對象,記為dbn ; (2.2).為該dbn對象創建EM引擎,記為em ; (2.3).將訓練數據裝入em引擎; (2.4).當 no Improve < convergentlter 時,進入(2.5),否則退出訓練流程; (2.5).執行em的E步驟; (2.6).計算em的似然值11 ; (2.7).執行em的M步驟;(2.8).如果 11 > bestLL,則用 11 更新 bestLL,同時將 no Improve 清 O,否則 no Improve自增; (2.9).根據 bestLL 計算 bic 值; (2.10).如果 bic > bestBic,則用 bic 更新 bestBic。
3.根據權利要求1所述的一種蛋白質側鏈預測的層次化建模方法,其特征在于,針對所述各層推理單元,并結合權利要求2所述訓練流程輸出的對應于各層推理單元的DBN模型,它還提供了層次化建模方法的采樣流程;采樣流程輸入為目標骨架信息,并結合對應于各層推理單元的DBN模型進行采樣,輸出為目標骨架各殘基位置處的旋轉異構體庫;采樣流程包括: (3.1).參數初始化,包括采樣信息Id1初始化為主鏈信息,符號m2、m3、m4表示訓練流程輸出的針對第I 4層推理單元的DBN模型,采樣次數t由用戶輸入,該流程中用符號S表示采樣結果集合,即最終的旋轉異構體庫; (3.2).為第I層推理單元的DBN模型Iii1計算Viterbi路徑P1 ; (3.3).設置循環計數器i = 1,j = I ; (3.4).基于Viterbi路徑p]和采樣信息Iv采用模型π^_進行一次采樣,采樣結果記入Sj ; (3.5).基于Sj為第j+Ι層構建米樣信息bj+1,該米樣信息在權利要求1中描述為各層的輸入信息; (3.6).為第j+Ι層推理單元的DBN模型計算Viterbi路徑pj+1 ;(3.7).計數器j增1;(3.8).如果j <4,轉第(3.4)步;(3.9).將采樣結果S4累計保存到結果集合S中;(3.10).計數器i增I;(3.11).如 果 i ( t,轉第(3.4)步。
全文摘要
本發明提供了一種蛋白質側鏈預測的層次化建模方法。它包括以下步驟(1)以主鏈信息作為輸入,執行第一層推理單元,輸出側鏈扭轉角x1;(2)以主鏈信息、側鏈扭轉角x1作為輸入,執行第二層推理單元,輸出側鏈扭轉角x2;(3)以主鏈信息、側鏈扭轉角x1、x2作為輸入,執行第三層推理單元,輸出側鏈扭轉角x3;(4)以主鏈信息、側鏈扭轉角x1、x2、x3作為輸入,執行第四層推理單元,輸出側鏈扭轉角x4。在該層次化建模方法基礎上,針對上述各層推理單元,本發明還提供了層次化建模方法的訓練流程。同時,針對所述各層推理單元,并結合訓練流程輸出的對應于各層推理單元的DBN模型,還提供了層次化建模方法的采樣流程。
文檔編號G06F19/12GK103093117SQ20131001549
公開日2013年5月8日 申請日期2013年1月16日 優先權日2013年1月16日
發明者蔣云良, 黃旭, 呂強, 繆大俊, 錢培德, 范婧 申請人:湖州師范學院