朱樹平 劉毅慧
(齊魯工業(yè)大學(山東省科學院)計算機科學與技術學院 山東 濟南 250353)
蛋白質二級結構預測是預測三維結構的基礎,而三維結構的盤旋所形成的構象將決定其發(fā)揮的生物學功能,因此確定蛋白質二級結構將對研究人體內蛋白復合物以及醫(yī)學疾病的防治有很大的幫助。二級結構的預測可以從輸入特征和預測方法方面改進,除了基于氨基酸本身特征之外,很多其他的特征也被引入二級結構的預測中,如:基于非擔保殘余能量構建自相關方程、功能域、復雜性度量因子和位置特異性差分矩陣(Position specific scoring matrix,PSSM)等[1]。主要方法有支持向量機(Support vector machine,SVM)[2-4]、深度學習[5-6]、隱馬爾可夫模型[7]、貝葉斯算法[8-9]、K最近鄰[10]和模糊聚類[11]等。
近年來,通過結合不同的特征和不同的方法,準確率獲得不斷的提高,可達到80%,其中,深度學習方法表現出很好的預測性能。文獻[12]采用長短期記憶雙向循環(huán)神經網絡(LSTM-BRNN)的模型來捕獲蛋白質氨基酸之間的非局部相互作用,預測蛋白質二級結構的Q3準確率接近84%。文獻[13]將氨基酸的物理化學特性、HHBlits特征和PSI-Blast特征結合為一個58位的特征,作為一種名為深度起始-內部-起始(Deep3I)網絡的輸入特征,建立了在線預測服務器,在預測蛋白質二級結構方面取得了較好的結果。在文獻[14]也提及今后對蛋白質二級結構預測的方向應當從大數據、模板的使用和深度學習的方向進行。文獻[15]采用基于數據劃分和半隨機子空間的方法預測蛋白質二級結構,在25PDB和CASP類上都取得了超過80%的準確率。基于此基礎,本文首先選取了大數據集Astral[16]和cullPDB[17]組成的15 666條蛋白質作為訓練集,按照蛋白質長度將其劃分為4組;然后在每一組數據上,都使用深度卷積神經網絡調整超參數進行實驗;最后得到4個最佳的獨立預測模型塊,進而又將這4個模型塊組合成一個整體網絡模型(稱為LIM-DCNN4)。模型建好后,使用CASP類數據和CB513數據進行測試,在測試過程中,測試集中每一條蛋白質會根據自己的長度,選擇合適的模型塊進行預測,最終得到整個數據集的預測結果。為了使實驗結論更加充分,又按照相同的原理,將測試集劃分為6段并進行實驗,得到6分段的模型(稱為LIM-DCNN6)。實驗結果表明,適當增加劃分段數,對于提升預測準確率是有效的,因為它能讓蛋白質更好地選擇與其局部信息相似度高的模型進行預測,并且本文設計的LIM-DCNN模型也得到了較優(yōu)的CB513準確率。
獲取蛋白質結構常用的數據庫是蛋白質數據庫(PDB),但在該數據庫中存在著許多具有相似序列和結構的數據,這樣就為蛋白質結構的劃分帶來很多困難。為了能夠解決該問題,產生了蛋白質結構分類(SCOPe)數據庫。它是根據蛋白質結構和進化關系從層次結構中的大多數已知結構的蛋白質手動策劃的域的排序,并且它也是唯一一個手工標識蛋白質不同層次關系和定義域的數據庫,包含了超過65%的PDB中的結構[18]。本文中使用的ASTRAL數據是從SCOP數據庫中選取出來的,實驗時使用了6 892條蛋白質,除此之外還選擇了CullPDB數據,兩者在實驗中合稱為AstraCull,共15 666條蛋白質。對于測試集,本文基于蛋白質同源相似度低于25%,選擇了CASP9[19]、CASP10[20]、CASP11[21]、CASP12[22]和CB513[23]數據,具體的實驗數據如表1所示。
表1 測試和訓練數據表
在實驗中,對于蛋白質特征選取了20位的PSSM矩陣,它是由PSI-BLAST多序列比對技術產生。通過PSI-Blast設置特定的收斂參數e-value為0.001,進行3次迭代,使用BlOSUM62作為氨基酸替換矩陣得到的,它存儲了每個位置上所有氨基酸的保留分數,能夠很好地捕捉長短距離信息特性[24]。為了捕獲更多蛋白質的局部信息,對于該特征進一步處理,設滑動窗口數為13,此時假設一條蛋白質長度為L,則每條蛋白質都會按照自身長度將特征設置為20×13×L,本文以該特征作為神經網絡的輸入。
氨基酸序列的折疊構像決定了蛋白質的二級結構,而氨基酸序列的折疊構像在一定程度上受序列長度的影響。因此本文主要是按照蛋白質長度對數據進行劃分,然后調整深度卷積神經網絡超參數,尋找參數最優(yōu)值建立模型的過程。該模型能夠讓蛋白質選擇與其長度相近的模型進行預測,從而提高了預測的準確率。
1.2.1數據劃分
首先把上文中提及的所有數據集按照蛋白質長度劃分為i組,每組的數據為Di。4分段按照長度介于0到150、150到250、250到350和350以上劃分,劃分后的蛋白質數據分別可以表示為D1={B|0
表2 LIM-DCNN4蛋白質條數數據表
表3 LIM-DCNN4氨基酸個數數據表
為使實驗結果更加充分,又按照長度介于0到100、100到200、200到300、300到400、400到500和500以上劃分為6組后,同理,每組數據可以表示為:D1={B|0
表4 LIM-DCNN6蛋白質條數數據表
表5 LIM-DCNN6氨基酸個數數據表
續(xù)表5
1.2.2深度卷積網絡建模
對于4分段的模型,使用表2中AstraCull的D1、D2、D3和D4數據,建立LIM-DCNN4模型;對于6分段模型,使用表4中AstraCull的D1、D2、D3、D4、D5和D6數據,建立LIM-DCNN6模型。下面以4分段為例進行說明:若假設每一個數據集中,氨基酸的個數為ni,輸入特征矩陣為P(i),標簽矩陣為T(i),則有:
(1)
(2)
若用model代表DCNN建模過程,則該過程可以表示為:
Mi=model(P(i),T(i))
(3)
以D1段為例,第一段數據的輸入P(1)具體值為:
第一段數據標簽T(1)的具體值為:
T(1)=(1,…,1)(1,527 862)
第一段數據模型M1可以表示為:
M1=model(P(1),T(1))
其余三段可以根據類似的原理依次得到。該過程如圖1所示。
圖1 LIM-DCNN4建模過程圖
具體而言對于一個20×13的特征矩陣,通過實驗得到,它在圖1中DCNN具體過程如圖2所示。
圖2 DCNN過程
(4)
式中:e、f為輸入特征矩陣的行和列;u、v為卷積核的行和列下標;b代表偏置;φ為激活函數;K代表第t層的卷積核;k代表卷積核的大小。實驗中使用的是線性整流激活函數(ReLU)。
在反向傳播的過程中,為保證獲得的訓練模型要做的就是最小化損失函數ψ。尋求誤差的表達式用損失函數對卷積核和偏置求偏導數,ψ對卷積核的偏導符合式(5),ψ對偏置的偏導符合式(6)。
(5)
(6)
(7)
得到誤差項以后,便可以計算權值W,權值的更新計算符合以下公式:
W←W+α×θ(e,f)×X(e,f)
(8)
式中:α代表學習率;“←”代表左邊數值隨右邊數值的變化進行更新。
為了防止過擬合,在損失函數中加入了正則化因子λ,加入正則化因子后的損失函數ψ可以表示為:
(9)
在實驗中選擇25PDB[25]數據作為調參數據,基于超參數的取值范圍,依次給定合理的卷積核大小、卷積核個數、學習率和正則化大小等范圍,然后使用隨機梯度下降算法,尋找每個范圍內,上述超參數實驗結果具體的最佳值,從而得到最優(yōu)的網絡模型。
上述4個模型建好以后,使用Casp9、Casp10、Casp11和CB513進行測試??梢杂袃煞N方法測試:一是不對測試集數據進行劃分,讓蛋白質逐條進行測試;二是先對測試數據集的蛋白質劃分再測試。
1) 測試一 測試數據中的蛋白質依次進入到LIM-DCNN4模型中,根據自身長度選擇模型進行測試,此時假設一條長度為L的蛋白質,在進入LIM-DCNN4模型時的特征矩陣為B,輸出為Y,則有:
(10)
式中:M1、M2、M3和M4分別代表LIM-DCNN4中每個模型的測試過程;B為20×13×L的矩陣;len(B)代表計算蛋白質的長度;該過程如圖3所示。
圖3 LIM-DCNN4測試流程圖(1)
2) 測試二 先將測試數據進行劃分,然后把每一段的數據分別放在對應模型上進行測試,最后把結果整合起來。CASP類和CB513數據分組后分別對應表2中的D1、D2、D3和D4數據,提取每一個數據中的特征矩陣P(1)、P(2)、P(3)和P(4),它們的含義與式(1)相同,都是特征20×13×ni的矩陣,此時ni代表測試集中每一段氨基酸的個數,即表3數據。P(1)、P(2)、P(3)和P(4)分別會選擇M1、M2、M3和M4進行預測,得到測試集中n條蛋白質的輸出結果Y,該過程表示為:
(11)
Y=Y1∪Y2∪Y3∪Y4
(12)
式中:M1、M2、M3和M4分別代表LIM-DCNN4中每個模型的測試過程;Y1、Y2、Y3和Y4分別代表每一部分的測試結果;Y是將測試結果求并集得到的1×L的矩陣,Y∈{C,H,E}。該測試過程如圖4所示。
圖4 LIM-DCNN4測試流程圖(2)
最后將實驗得到預測結果與數據集中的正確標簽結果相比較得到了預測準確率。這兩種測試方法的區(qū)別在于是否先對測試集進行數據劃分,不進行數據劃分的直接使用總模型LIM-DCNN4預測,進行數據劃分的使用單一模型M1、M2、M3和M4分別預測,兩者的預測結果并無差別。對于6分段的數據,按照相同的原理進行測試即可。
實驗使用判別標準是計算三態(tài)蛋白質Q3和每一類的準確率,即C類蛋白質、E類蛋白質和H類蛋白質的準確率QC、QE和QH。在進行實驗的過程中,分i段可以得到i個模型,首次得到的是4分段的4個模型:M1、M2、M3和M4。另外還有6分段的6個模型:M1、M2、M3、M4、M5和M6。其次得到的是每個模型中卷積神經網絡的層數和相關參數,最后得到Casp9、Casp10、Casp11、Casp12和CB513訓練在4個模型上的實驗結果1和在6個模型上的實驗結果2。
按照H,G,I→H,E,B→E,其他→C將一條氨基酸序列轉化為H(螺旋)、E(折疊)和C(卷曲)三種形態(tài),關于Q3、QC、QE、QH計算符合以下公式:
(13)
(14)
式中:numr()表示計算預測正確的個數;num()代表單純計數;len(SS)表示蛋白質的長度;Z∈{C,H,E}代表三種取值情況;b代表氨基酸的下標,即num(SSb=B)計算SS符合某一類蛋白質的氨基酸個數。
在實驗過程中,使用25PDB數據作為調整參數的測試集,依次設置超參數的范圍,在保證25PDB實驗結果Q3準確率高的情況下,尋求超參數的最優(yōu)值。以M1模型為例,學習率變化對于準確率的影響如圖5所示,在學習率取值為0.003 5時25PDB的Q3準確率最高。其他模型的參數設置與上述原理相同。經過多次實驗調整LIM-DCNN4和LIM-DCNN6的超參數,得到的具體超參數結果如表6和表7所示。這兩個模型的區(qū)別在于由于基于不同的蛋白質長度劃分,LIM-DCNN6劃分得更為細致,因此每一段模型訓練的時間會縮短,并且更能夠讓蛋白質可以選擇與自己相似度更高的蛋白質進行預測,準確率會更高。但是,蛋白分段長度的選擇也不是越細越好,要根據訓練數據中蛋白質長度合理評估確定。
圖5 學習率對M1準確率影響圖像
表6 LIM-DCNN4網絡模型參數
續(xù)表6
表7 LIM-DCNN6網絡模型參數
在4分段模型中,如表6所示,M1中使用了3個卷積層,3個激活層,加上輸入層、全連接層、Softmax層和分類輸出層,共10層網絡結構。其中,學習率α設置為0.003 5,正則化系數為0.005,最大迭代次數為10,每隔4次,將學習率變?yōu)棣痢?.1,每隔40個小批量數據進行權值的更新調整。M2、M3和M4都使用2個卷積層和2個激活層,共有8層網絡結構。對于M2,其學習率α設置為0.007,正則化系數為0.003,最大迭代次數為10,每隔8次,將學習率變?yōu)棣痢?.1,每隔80個小批量數據進行權值的更新調整;對于M3,其學習率α設置為0.005 5,正則化系數為0.002 5,最大迭代次數為10,每隔3次,將學習率變?yōu)棣痢?.1,每隔30個小批量數據進行權值的更新調整;對于M4,其學習率α設置為0.005 5,正則化系數為0.003 5,最大迭代次數為10,每隔3次,將學習率變?yōu)棣痢?.1,每隔30個小批量數據進行權值的更新調整。
在6分段模型中,如表7所示,預測模型M1、M2、M3、M4、M5和M6都使用2個卷積層,2個激活層,加上輸入層、全連接層、Softmax層和分類輸出層,共8層網絡結構。所有模型的最大迭代次數為10,每隔4次,將學習率變?yōu)棣痢?.1。對于M1學習率α設置為0.006 5,正則化系數為0.006,每隔50個小批量數據進行權值的更新調整;對于M2學習率α設置為0.003 5,正則化系數為0.003 5,每隔40個小批量數據進行權值的更新調整;對于M3學習率α設置為0.003,正則化系數為0.003,每隔30個小批量數據進行權值的更新調整;對于M4學習率α設置為0.003 5,正則化系數為0.002 5,每隔40個小批量數據進行權值的更新調整;對于M5學習率α設置為0.005,正則化系數為0.005,每隔60個小批量數據進行權值的更新調整;對于M6學習率α設置為0.007,正則化系數為0.003,每隔50個小批量數據進行權值的更新調整。
得到上述2個大的深度卷積網絡結構模型后,分別使用Casp9、Casp10、Casp11、Casp12和CB513進行測試。4分段網絡模型LIM-DCNN4得到的實驗結果如表8所示,6分段網絡模型LIM-DCNN6得到的實驗結果如表9所示。
表8 LIM-DCNN4實驗結果(%)
表9 LIM-DCNN6實驗結果(%)
可以明顯看到,任何數據集6分段的Q3準確率都比4分段要高很多,說明了依據蛋白質長度劃分數據進行預測的有效性。這是因為,在合理范圍內劃分數據段越細致,越能夠考慮到蛋白質本身的序列特點和長短距離信息,從而能讓蛋白質更好地選擇適合自身的預測模型,進而能達到更好的預測效果。
本文設計的LIM-DCNN6方法與使用兩個階段神經網絡的PSIPRED[26]方法、使用非冗余蛋白質數據庫訓練的兩層反饋神經網絡的PHD Expert[27]方法、使用神經網絡和線性判別分類器設計網絡模型的Prof[28]方法,使用雙軌隱馬爾可夫模型的SAM[29]方法、使用JNet算法結合隱馬爾可夫模型進行7倍交叉驗證的Jpred[30]方法、使用相關序列對預測的序列的局部成對比對的Predator[31]方法、使用內部認知機制(KDTICM)理論建立復合金字塔的CPM[32]方法、使用雙向樸素神經網絡的SSpro(without template)[33]方法、使用迭代地將二級結構預測與溶劑可及性和主鏈扭轉角的預測耦合起來以開發(fā)多步神經網絡算法的SPINE-X[34]方法、使用條件隨機場的RaptorX-SS8[35]方法、使用條件隨機場和淺層神經網絡組合為深度卷積場的DeepCNF-SS[36]、使用小波提取特征和支持向量機建模的6GTPCs[37]方法和使用卷積和長短期記憶神經網絡的NetSurf-2.0[38]方法和使用長短期記憶雙向遞歸神經網絡的SPIDER[39]方法,上述各類相比較的實驗結果如表10所示。
表10 實驗結果比較表(%)
可以看出,本文建立的LIM-DCNN6模型,預測CB513的Q3、QC、QE和QH準確率,除了QC低于CPM的87.40%之外,其余都取得了最好的預測效果,說明了基于蛋白質長度和深度卷積神經網絡分類建模是有效的。
本文提出基于蛋白質長度劃分數據并使用深度卷積神經網絡(LIM-DCNN)分類建模的蛋白質二級結構預測方法,取得了較好的預測效果。通過實驗得到了兩種不同的預測模型:LIM-DCNN4和LIM-DCNN6,兩個模型都是基于蛋白質長度進行劃分后建立的,這種分段的方法能夠很好地縮短模型訓練的時間。LIM-DCNN6結果比LIM-DCNN4結果好的原因是在合適范圍內增加分段數,能夠使蛋白質更好地選擇與其長度相近的蛋白質進預測。LIM-DCNN模型優(yōu)于其他經典模型的原因在于它使用了大數據、模板和深度學習方法,這也就為下一步蛋白質二級結構預測的研究進一步指明了方向。當然,后續(xù)的工作也可以通過設置不同的滑動窗口,來獲得更具體的蛋白質特征,或者結合其他深度學習的方法來實現預測,有望能夠進一步提升蛋白質二級結構預測的準確率。