方 春,孫福振,李彩虹,宋 莉
(山東理工大學 計算機科學與技術學院, 山東 淄博 255049)
抗癌肽(Anti-cancer peptides, ACPs)是一類小分子多肽,通常由10~50個氨基酸殘基組成。它們廣泛存在于昆蟲、哺乳動物、植物、微生物中。例如,海鞘中的縮酚環肽、牛乳中的牛乳鐵蛋白肽(LfcinB)、蠶蛹中的天蠶素B(Cecropin B)等均被發現具有抗腫瘤和抗病毒的作用[1]。抗癌肽能破壞癌細胞膜的結構,抑制癌細胞的增殖、生長,并誘導癌細胞凋亡[2]。與傳統化療藥物相比,抗癌肽治療劑具有不傷正常細胞、安全有效、成本低等優勢,已經越來越受到人們的重視,成為了新藥研究的熱點。
后基因組時代的蛋白質序列數據爆發式地增長,迫切需要開發出自動的計算機方法,以從海量候選生物序列中快速、準確地篩選新的抗癌肽。Tyagi等[3]采用了氨基酸組成、二肽組成、氨基酸N端和C端的組成差異等信息,結合支持向量機模型進行抗癌肽的預測。Chen等[4]利用氨基酸二肽組成和偽氨基酸組分信息作為特征,結合支持向量機構建了抗癌肽的預測算法。Wei等[5]采用了氨基酸組成、二肽組成、十組氨基酸理化性質以及每種氨基酸在序列中的出現頻率等信息,結合支持向量機構建了40個子模型,再以40個子模型的輸出再次作為輸入來搭建模型進行抗癌肽的預測。近年來,還出現了集成的機器學習方法,即整合多個或者多種機器學習算法來進行各類肽序列的預測[6-8]。這些方法的特征抽取過程繁瑣,算法設計復雜,并且其性能在很大程度上依賴于特征種類數目或子模型的數量,因此,迫切需要設計出高效簡單的單模型方法。
近年來,自然語言處理技術得到了突飛猛進的發展,很多關鍵問題的突破得益于詞嵌入(word embedding)表示方法[9]。詞嵌入是一種表征學習技術,可以把一個維數為所有詞的數量的高維空間嵌入到一個維數低得多的連續向量空間中,每個單詞被表征為實數域上的向量,并且具有相近意思的詞在向量空間中的位置也靠近。生物序列本質上也可以看作是一種自然語言,每個氨基酸字母可以看作是一個單詞,其性質可以看作是詞意,所以,詞嵌入表示方法也能被用來表示生物序列。
深度學習中的長短期記憶網絡(Long Short Term Memory networks, LSTM)[10],是一種遞歸神經網絡,近年來發展迅猛,已被證明是處理序列相關任務的利器,在一系列自然語言處理,比如,機器翻譯、文檔摘要、語音識別、情感分析等任務中應用廣泛。本文試圖將詞嵌入技術與LSTM相結合來構建模型對抗癌肽進行預測,以發揮各自在序列表征和機器學習上的優勢。把序列當作自然語言來處理。訓練集中的序列則被視為語料庫,每個氨基酸字符被當作一個單詞。然后采用軟件工具包將序列中的20個常見氨基酸字符映射到詞嵌入空間,使每個字符對應一個多維的數值向量,繼而使序列被表示成向量矩陣來作為LSTM模型的輸入。最后,LSTM模型自動完成特征抽取、機器學習和預測。
本文實驗所使用的數據集來自文獻[5],該數據集中的樣本分別收集于文獻[3-4,11]。其中,正樣本ACPs為均已被物理實驗證實的抗癌肽,負樣本數據選自于抗微生物肽中沒有抗癌活性的肽。訓練集ACPs500由250條抗癌肽和250條非抗癌肽構成。測試集ACPs164由82條抗癌肽和82條非抗癌肽序列構成。所有樣本序列經過CD-HIT[12]過濾掉相似度高于90%的冗余序列,使訓練集和測試集中的序列均不相同。數據集的詳細情況見表1。
表1 數據集的統計
Tab.1 Summary of the data set

數據集序列條數正樣本數負樣本數訓練集ACPs500500250250測試集ACPs1641648282
訓練集中肽序列的長度分布統計如圖1所示。序列長度分布在11到97個殘基之間,樣本的平均長度為27.12個殘基。因此,在訓練詞嵌入向量步驟中,對序列進行整數編碼時,每個序列被填充或者截斷為接近平均長度的固定值30。

圖1 ACPs序列的長度分布Fig.1 Length distribution of ACPs sequences
本算法不需要人工抽取任何氨基酸理化性質,也不需要計算氨基酸組成特征等來表征肽序列,僅采用肽的字符序列作為輸入,由詞嵌入訓練軟件包首先將肽序列進行分詞,即將序列切分成單個的字符;接著對序列進行固定長度的整數編碼,不夠設定長度的序列在末尾位置補0,超過設定長度的序列被截斷,讓每個字符對應到一個整數;然后通過神經網絡進行詞嵌入訓練,將20種氨基酸字母映射到詞嵌入向量空間,使得每個字符對應于一個向量表示。例如,假設整數編碼的序列長度為3,而想要創建4維的詞嵌入向量空間,則序列AB可轉換為AB[3, 1, 0][[0.35, -0.18,-0.41,-0.21], [0.02, -0.30,-0.12, 0.40], [0.32, -0.13,-0.23, -0.15]]。以上步驟可以由Keras提供的Tokenizer API來自動完成。這樣,每個序列可編碼為M×N矩陣,M為設定的序列長度,N為設定的嵌入空間的向量維度。
LSTM是一種特殊結構的循環神經網絡,是解決長序列依賴問題的有效技術。 它由一組帶有記憶功能的單元模塊組成,每個單元模塊由輸入門、遺忘門和輸出門三個門控運算來實現信息的輸入、過濾和輸出。這些門控運算使得LSTM能夠自動提取和學習序列中對總體分類任務有用的長程相關性信息,而基于序列信息的抗癌肽的預測正好符合這類序列分類問題的特征,即序列內部隱藏著類別信息,所以,LSTM適用于肽序列的分類問題。
本文提出的算法整體流程如圖2所示。首先,由Keras提供的Tokenizer API將序列中出現的氨基酸字符通過神經網絡訓練后自動映射到嵌入向量空間,使每個氨基酸字符對應到一個向量表示;接著,每個肽序列可以表示成對應的數值矩陣;最后,將序列對應的數值矩陣作為LSTM模型的輸入,模型自動訓練、學習,并輸出預測結果。這種架構將特征提取步驟和機器學習步驟交織在一起進行,可以避免將兩個步驟分步執行時存在的潛在不匹配效應。

圖2 算法的整體流程Fig.2 The overall flow chart of the algorithm
采用5交叉驗證和獨立測試數據集來驗證本文的算法性能。 5交叉驗證將訓練集數據平均分成五個子集,每次采用一個子集作為驗證的測試集,其余四組合并起來作為訓練集。 這個過程重復進行5次,直到每個子集至少被當作一次測試集。 同時,本文也采用了獨立的測試數據集來驗證算法的性能。算法的評價指標包括:1)真陽性率(True Positive Rate, TPR); 2)假陽性率(False Positive Rate, FPR); 3) 正確指數;4) ROC曲線及其下的面積值AUC。各指標計算公式如下:

(1)

(2)
正確指數=(TPR+1-FPR)/2
(3)
式中:TP指被預測為正的正樣本數;FP指被預測為正的負樣本數;TN指被預測為負的負樣本數;FN指被預測為負的正樣本數。
因為預測抗癌肽實質是二分類問題,即判別輸入的肽序列是否為抗癌肽,所以,在編譯模型時,損失函數設置為適合二分類的 binary_crossentropy,優化函數則為rmsprop,激活函數為sigmoid。
為了得到合適的詞嵌入向量空間的維度,本文分析了不同維度設置下模型的性能。設定LSTM隱藏層存儲單元的個數為100,詞嵌入向量空間的維度分別為10、20、30、40、50、60、70、80和90,在訓練集上采用5交叉驗證時模型所對應的ROC曲線如圖3所示。當嵌入維度在80時,取得的ROC曲線下面積值最大(灰色線所示),即預測性能最好,所以,本文最終設定詞嵌入空間的向量維度為80。

圖3 不同詞嵌入維度對應的ROC曲線Fig.3 The ROC plots of the predictor with different number of embedding dimensions
接著為了得到合適的LSTM隱藏層存儲單元的個數,本文分別設置存儲單元數為20、40、60、80、100、120、140、160和180,模型在訓練集上進行5交叉驗證時,所對應的ROC曲線如圖4所示。 當存儲單元數為140時,模型性能最好(黃色線所示)。因此,本文設定LSTM隱藏層存儲單元的個數為140。由于抗癌肽樣本的平均序列長度僅為27個殘基,在進行詞嵌入訓練時,序列被填充或截斷到固定長度30,因為長度比較短,所以本文只使用了單層LSTM網絡。最后,得到的預測模型中各層的輸入和輸出參數情況如圖5所示。其中,(None,30)和(None,30,80)分別表示對應層輸入是30維,輸出是一個30×80維的矩陣,None表示此處不包括處理數據的批量維度。

圖4 不同LSTM存儲單元對應的ROC曲線Fig.4 The ROC plots of the predictor with different number of memory units

圖5 預測模型中每層的參數情況Fig.5 Parameters of each layer in the predictor
設置訓練參數epoch為200次時,模型在訓練集和獨立測試集上的準確率和損失函數的曲線如圖6所示。從圖6可以看出,整個訓練過程中的準確率和損失函數在訓練集和測試集上的曲線相互靠近,說明訓練過程中沒有發生過擬合現象,即模型具有較好的泛化能力。當該模型在獨立測試集ACPs164上進行驗證時,所對應的ROC曲線如圖7所示,該方法的 TPR值達到0.756, AUC值達到0.895。

(a)準確率

(b)損失函數圖6 模型準確率曲線和損失函數曲線Fig.6 The accuracy plot and loss function plot of the model

圖7 模型在獨立測試集上的ROC曲線Fig.7 ROC plot of proposed method tested on the test dataset
值得注意的是,本文方法的性能雖然略遜于ACPred-FL[6]預測方法的性能,但此方法是基于單模型的方法,整個預測過程僅使用了一個機器學習模型,沒有采用任何其他分類器的結果再次作為輸入。而ACPred-FL[6]是基于組合的機器學習方法,它包括了兩層的支持向量機,其第二層組合了第一層中40個支持向量機子模型的結果,因此,其性能很大程度上依賴于子模型的數量,而一般組合的子模型越多,性能會越好,但計算成本也隨之急劇增加。
本文也分析了對序列進行固定編碼長度設置時,不同的設定長度對最終預測性能的影響。當設定的固定長度分別為10、20、30、40和50時,訓練后的模型在獨立測試集上的ROC曲線如圖8所示,其中固定長度為30個殘基時的模型性能最佳。其可能的原因是,抗癌肽通常由10~50個氨基酸殘基組成,且平均長度接近于30,所以,當填充長度設定在平均長度左右時,需要填充或者截斷的序列數量最少,這樣可以最大程度上保留數據集中肽序列的原始特征信息。

圖8 不同序列填充長度ROC曲線Fig.8 ROC plots with different sequence padded length for the integer encoding
目前有很多研究表明,將深度學習中熱門的兩大模型——卷積神經網絡(Convolutional Neural Network, CNN)和LSTM聯合在一起使用可以取得更好的效果。本文也嘗試將基于CNN模型和基于CNN-LSTM聯合模型的方法用于抗癌肽的預測,并將這兩種方法的結果與本文的進行了比較。此處,CNN為單層的一維卷積神經網絡,卷積層包含32個大小為3的卷積核,激活函數采用relu,池化層核大小為3,丟失率為0.5。CNN-LSTM的聯合模型中的參數與單獨的CNN模型和LSTM模型中對應位置的參數均相同。三種方法在獨立測試集上的ROC曲線如圖9所示,各項指標見表2。圖9和表2顯示,本文基于LSTM的方法性能最好,正確指數達到0.829,AUC值達到0.895;基于CNN的方法性能次之;而基于CNN-LSTM聯合模型的方法性能最差。結果表明在本文加入CNN 模塊并不能帶來預測性能的改進。其可能的原因是,抗癌肽序列的平均長度比較短, 使用LSTM足以捕捉到序列中對整體分類任務有用的關鍵的信息,而加入CNN模塊后反而加重了噪音特征的混入。

圖9 三種方法在獨立測試集上的ROC曲線Fig.9 ROC plots of three different architecture-based methods applied on the test dataset
表2 三種方法在獨立測試集上的性能比較
Tab.2 Performance comparison of three different methods on test sets

方法正確指數真陽性率假陽性率AUC基于CNN的方法0.7990.6830.0850.862基于CNN-LSTM的方法0.8230.8660.2200.854基于LSTM的方法0.8290.7560.0980.895
本文提出了一種基于詞嵌入的序列表示方法與LSTM模型相結合的算法,進行抗癌肽的預測。該算法具有如下特點:
1) 實現了較好的預測性能,在測試集上進行驗證時,該方法正確指數達到0.829,AUC值達到0.895。
2) 本算法是基于單一模型的算法,不需要任何人工特征提取和特征重建步驟,也不用組合其他分類器的結果,從而簡化了算法設計。
3)在LSTM機器學習模型中增加CNN模塊或者使用CNN模型代替LSTM模型來進行預測,均不能帶來算法性能的改進。