付洺宇,朱一陽,吳春勇,侯鳳貞*,關(guān) 媛**
(1中國藥科大學(xué)理學(xué)院,南京211198;2中國藥科大學(xué)藥物分析系,南京211198)
藥物發(fā)現(xiàn)是一個漫長的過程,主要包括4個階段:目標(biāo)選擇和驗證、化合物篩選和優(yōu)化、臨床前研究、臨床試驗[1]。在大多數(shù)情況下,關(guān)于藥物發(fā)現(xiàn)的研究最終都無法達到臨床試驗階段,其中藥代動力學(xué)的不良性質(zhì)是導(dǎo)致研究中斷的主要原因[2]。由此可見,充分研究先導(dǎo)化合物早期的藥代動力學(xué)性質(zhì)對減少臨床失敗造成的經(jīng)濟損失具有重要意義。 藥物的血漿蛋白結(jié)合率(plasma protein binding,PPB)反映了藥物與血漿蛋白的結(jié)合程度,它影響藥物在體內(nèi)的分布、代謝與排泄,與藥物的相互作用及作用機制等密切相關(guān)。藥物在血漿中未結(jié)合的部分通常用fu(the fraction unbound in plasma)表示。通過預(yù)測藥物的fu,有助于了解藥物的藥代動力學(xué)特性,從而在藥物發(fā)現(xiàn)的早期階段選擇合適的候選藥物[3]。
近年來,人工智能算法被越來越多的應(yīng)用在計算人體藥代動力學(xué)特性的研究中,為研究者在新藥發(fā)現(xiàn)和優(yōu)化階段選擇合適的化合物提供了幫助[4-10]。目前已有幾種商業(yè)軟件可通過軟件自身的算法直接預(yù)測fu,如ADMET Predictor 和BIOVIA Discovery Studio。然而,與真實值相比,這些軟件預(yù)測的結(jié)果普遍不高。一些研究使用機器學(xué)習(xí)方法通過構(gòu)建藥物血漿蛋白結(jié)合率的定量結(jié)構(gòu)-藥物動力學(xué)關(guān)系(quantitative structure-pharmacokinetic relationship,QSPR)模型預(yù)測fu。Votano 等[11]在由808 個藥物構(gòu)成的訓(xùn)練集上使用Molconn-Z 軟件計算分子描述符,用人工神經(jīng)網(wǎng)絡(luò)、多元線性回歸(multiple linear regression,MLR)、支持向量機(support vector machines,SVM)、K- 近 鄰(k nearest neighbors,KNN)4 種方法來預(yù)測fu,預(yù)測模型的R2普遍在0.61 左右。Ingle 等[12]構(gòu)建了包含1045 個藥物的數(shù)據(jù)集,利用Molecular Operating Environment(MOE)計算分子描述符,用KNN、SVM 和RF 3種機器學(xué)習(xí)算法建了定量結(jié)構(gòu)-活性關(guān)系(QSAR)模型,使用200 個獨立的藥物數(shù)據(jù)集和來自Tox-Cast 的406 種化合物數(shù)據(jù)集作為外部測試集對模型進行評估,預(yù)測模型R2為0.45 ~0.62。Watanabe 等[13]構(gòu)建了包含了2738 個藥物的數(shù)據(jù)集,通過開源軟件Mordred 和PaDEL-Descriptor 計算分子描述符,并使用多種機器學(xué)習(xí)算法構(gòu)建預(yù)測模型。結(jié)果表明,在已知的方法中,RF模型取得了最優(yōu)性能,R2的最高值達到了0.691。該結(jié)果展示了使用開源軟件在計算分子描述符上的優(yōu)點,為本研究提供了參考。
本研究從文獻[13-14]中收集了共2452 個藥物構(gòu)建數(shù)據(jù)集,將分子描述符作為訓(xùn)練模型的輸入向量,采用機器學(xué)習(xí)算法訓(xùn)練模型,通過比較模型的評價指標(biāo)以評估模型的預(yù)測性能。此外,本研究還比較了不同方法(軟件)算得的分子描述符作為特征輸入空間對預(yù)測模型的影響,以探究在構(gòu)建藥物血漿蛋白結(jié)合率預(yù)測模型中合適的特征提取方法。
人工智能是一種利用計算機高速處理和分布式計算實現(xiàn)快速地分析和解決問題的先進技術(shù),它能使計算機模擬人腦的信息處理和學(xué)習(xí)過程[15]。機器學(xué)習(xí)作為人工智能研究的一個重要領(lǐng)域而備受關(guān)注,該方法通過計算機來學(xué)習(xí)數(shù)據(jù)中的內(nèi)在規(guī)律性信息,從而獲得新的經(jīng)驗和知識,提高計算機的智能性,使機器能夠像人一樣做出決策[16]。在構(gòu)建預(yù)測模型方面,機器學(xué)習(xí)主要有分類和回歸兩種類型。對于預(yù)測藥物血漿蛋白結(jié)合率來說,需要構(gòu)建的是一種回歸模型,整個過程主要包括以下3 個步驟:(1)數(shù)據(jù)的收集與整理;(2)將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,使用訓(xùn)練集根據(jù)機器學(xué)習(xí)算法訓(xùn)練模型;(3)用測試集預(yù)測已訓(xùn)練的模型,評估模型的預(yù)測能力。
本研究從文獻[13-14]中分別搜集了2319 和670 個藥物,每個藥物由藥品通用名和對應(yīng)的fu組成。其中,文獻[13]提供了2738 個藥物,這些藥物來源于健康成年人的數(shù)據(jù)記錄,由于隱私要求的限制,只從中下載得到2319 個。文獻[14]包括670 個專門用于靜脈注射的藥物數(shù)據(jù),且不包含口服、肌肉注射或其他給藥途徑的數(shù)據(jù)。將這兩批數(shù)據(jù)整合后,先去掉重復(fù)的藥物,隨后通過Pub-Chem 網(wǎng)站(https://pubchem.ncbi.nlm.nih.gov/)下載藥物結(jié)構(gòu)信息,用于計算分子描述符。如果一個藥物在該網(wǎng)站查不到其結(jié)構(gòu)信息,則刪去。最終整理得到共計2452 條包含fu及結(jié)構(gòu)信息的藥物,作為本研究的數(shù)據(jù)集。該數(shù)據(jù)集涵蓋了藥物廣泛的理化性質(zhì)和化學(xué)結(jié)構(gòu),且包含全面的fu,數(shù)據(jù)集fu的分布如圖1-A 所示,可以發(fā)現(xiàn),超過50%的化合物fu集中在0 ~0.1。文獻[13]指出,在構(gòu)建回歸模型中,對分布不均勻的數(shù)據(jù)集采用對數(shù)化操作能緩解fu的強偏置分布,從而提高模型在低值范圍內(nèi)的預(yù)測準確率。為此,將fu以2為底取對數(shù),記為log2fu。數(shù)據(jù)集的log2fu的分布如圖1-B所示。
Figure 1 Distribution histogram of the fraction unbound in plasma (fu) (A) and the logarithm of fu.(log2 fu)(B)
分別使用商業(yè)軟件MOE(2014版)和Python開源庫Mordred(1.2.0 版)[17]通過藥物的結(jié)構(gòu)信息計算分子描述符,以此作為特征提取方法。對于每個藥物,使用MOE 可以得到365 個分子描述符。由于機器學(xué)習(xí)中的輸入特征只支持數(shù)值型,因此將顯示為非數(shù)值類型或空值的分子描述符去除,最終保留了278個分子描述符。使用Mordred可以得到1613 個分子描述符,對顯示為非數(shù)值類型或空值的分子描述符做相同處理,最終保留了882個分子描述符。分別將兩種方法計算得到的分子描述符作為模型的特征輸入空間。
機器學(xué)習(xí)算法需要獨立的訓(xùn)練集和測試集來進行模型訓(xùn)練和性能評估。將數(shù)據(jù)隨機劃分訓(xùn)練集和測試集,其中測試集占比為10%。同時,本文在訓(xùn)練預(yù)測模型階段使用十折交叉驗證方法。該方法將整體數(shù)據(jù)平均分成10 份,依次將其中的一份作為測試集,剩下的作為訓(xùn)練集。這個過程重復(fù)10 次,得到10 個訓(xùn)練模型,最終的結(jié)果取10 個模型預(yù)測結(jié)果的平均值。十折交叉驗證方法的特點是,數(shù)據(jù)中的每個樣本都有機會作為測試集參與模型的預(yù)測,從而使模型具有更好的泛化能力。十折交叉驗證方法如圖2所示。
模型參數(shù)調(diào)優(yōu)的方法一般采用網(wǎng)格搜索的方法。網(wǎng)格搜索是一種指定參數(shù)值的窮舉搜索方法,通過將參數(shù)交叉驗證的方法進行優(yōu)化來得到最優(yōu)的學(xué)習(xí)算法[18]。即將各個參數(shù)可能的取值進行排列組合,列出所有可能的組合結(jié)果形成“網(wǎng)格”,然后將各組合用機器學(xué)習(xí)的方法進行訓(xùn)練。在擬合函數(shù)嘗試了所有的參數(shù)組合后,返回一個預(yù)測結(jié)果最優(yōu)的模型,該模型下的參數(shù)組合即為最佳參數(shù)組合。在數(shù)據(jù)預(yù)處理階段,本研究使用MOE 和Mordred 計算分子描述符作為特征提取方法,構(gòu)建了兩個特征輸入空間,所以相應(yīng)地構(gòu)建了基于MOE的預(yù)測模型和基于Mordred的預(yù)測模型。
Figure 2 Workflow of 10-fold cross validationD: Represents the entire dataset; D1-D10: Represent the sub-datasets divided into ten parts
本研究采用決定系數(shù)(coefficient of determination,R2)和均方誤差(mean squared error,MSE)來評估模型的預(yù)測精度。R2用于衡量回歸方程整體的擬合程度,可以體現(xiàn)因變量和自變量之間的擬合關(guān)系。本研究通過比較數(shù)據(jù)中原始fu和由模型預(yù)測得到的fu間的擬合關(guān)系得到R2。MSE 表示數(shù)據(jù)估計值與數(shù)據(jù)真值之差平方的期望值,即誤差平方和的平均數(shù)。該值可以評價數(shù)據(jù)估計偏離真實值的程度,MSE 越小,說明預(yù)測模型描述的實驗數(shù)據(jù)具有更好的精確度。
表1 展示了分別使用MOE 和Mordred 特征提取方法在選擇全部特征作為輸入時,用XGBoost算法和RF 算法構(gòu)建模型的性能。通過觀察結(jié)果發(fā)現(xiàn),構(gòu)建的模型中使用Mordred 提取特征的效果優(yōu)于MOE 方法。當(dāng)聯(lián)合使用Mordred 和XGBoost 算法時,構(gòu)建的預(yù)測模型有最高的R2(0.654)。但與RF 算法相比,XGBoost 算法構(gòu)建模型表現(xiàn)出的MSE 往往更高,這表示基于XGBoost算法的模型預(yù)測精度較低。使用不同的特征提取方法,基于RF算法的模型MSE 低,反映了RF 算法能更好地利用特征,也避免了一定程度的過擬合。
Table 1 Performance of the model constructed by selecting all the features as the input space. R2 is the coefficient of determination and MSE is the mean square error
為了改進模型性能,本研究對由分子描述符構(gòu)成的特征輸入空間進行重構(gòu)。首先,通過XGBoost算法和RF 算法分別計算兩種特征提取方法得到的輸入特征的重要性。以F1評分作為評價標(biāo)準,選擇重要性排前200的特征。之后在特征數(shù)量2 ~200的范圍內(nèi),以2為步長依次改變特征數(shù)量,訓(xùn)練由不同特征數(shù)量構(gòu)建的預(yù)測模型。圖3 展示了不同特征數(shù)量構(gòu)建的模型在預(yù)測集上的R2變化。圖中分別展示了十折交叉驗證的平均結(jié)果以及表現(xiàn)最優(yōu)一折(第7 折)的結(jié)果。通過觀察圖中不同方法構(gòu)建模型的R2曲線,發(fā)現(xiàn)特征數(shù)量在200以內(nèi)可以滿足模型的收斂條件。當(dāng)特征數(shù)量在75 ~160時,模型在預(yù)測集上的R2趨于穩(wěn)定。圖中標(biāo)出了特征數(shù)量在此區(qū)間范圍內(nèi),不同數(shù)量特征構(gòu)建的模型十折交叉驗證結(jié)果的平均值以及最優(yōu)一折結(jié)果的平均值。根據(jù)圖3可發(fā)現(xiàn),使用相同的特征提取方法,XGBoost 算法構(gòu)建的模型有更高的R2,表現(xiàn)出更好的預(yù)測能力。相較于使用MOE,使用Mordred 作為特征提取方法訓(xùn)練的模型在預(yù)測集上的R2更高。當(dāng)聯(lián)合使用Mordred和XGBoost算法時,在特征數(shù)量為75 ~160之間構(gòu)建模型的平均R2最高,最優(yōu)一折的R2達到了0.701。
隨后,本研究探究了在特征數(shù)量為75 ~160之間,不同方法構(gòu)建模型的最優(yōu)性能,結(jié)果如表2 所示。對于兩種特征提取方法,使用Mordred 構(gòu)建模型的預(yù)測性能比使用MOE 更高。在選擇Mordred的基礎(chǔ)上,通過XGBoost 算法和RF 算法構(gòu)建的模型在測試集上的最高R2都達到了0.715。其中,RF 算法構(gòu)建模型的MSE 更低,為0.199。這說明相較于XGBoost 算法,基于RF 算法構(gòu)建的模型預(yù)測精度更高。各模型的擬合效果如圖4 所示??梢园l(fā)現(xiàn),XGBoost 算法構(gòu)建的模型(圖4-A、4-C)發(fā)生了明顯的過擬合,模型在訓(xùn)練集的預(yù)測效果表現(xiàn)極佳,而測試集的預(yù)測效果一般。RF 算法構(gòu)建的模型(圖4-B、4-D)沒有明顯過擬合現(xiàn)象。各模型對于log2fu高的藥物有著良好的預(yù)測性能,但在預(yù)測log2fu低的藥物上表現(xiàn)不佳。
Figure 3 Performance comparison of models with different number of featuresA: MOE was used to extract features and RF was used to build the model; B: MOE was used to extract features and XGBoost was used to build the model; C: Mordred was used to extract features and RF was used to build the model; D: Mordred was used to extract features and XGBoost was used to build the model
對于模型的構(gòu)建,在XGBoost 模型中,主要調(diào)試的參數(shù)有學(xué)習(xí)率(learning_rate)、樹的最大深度(max_depth)、樹的最小節(jié)點(min_child_weight)、預(yù)剪枝程度(gamma)、隨機采樣比例(subsample)。在RF 模型中,主要調(diào)試的參數(shù)有分類器個數(shù)(n_estimators)、最大特征數(shù)(max_features)、樹的最大深度(max_depth)、節(jié)點可分最小樣本數(shù)(min_samples_split)。在最優(yōu)結(jié)果中,XGBoost 模型和RF模型的參數(shù)設(shè)置如表2所示。
分析藥物數(shù)據(jù)集中的主要特征有助于進一步了解藥物性質(zhì)與fu之間的關(guān)系。本研究分別使用XGBoost 算法和RF 算法對特征的重要性進行排序。對于通過MOE 和Mordred 兩種方法構(gòu)建的特征,本研究分別取前5 個特征做進一步分析,結(jié)果如表3 所示。其中,SlogP 和logP(o/w)表示辛醇/水分配系數(shù)的對數(shù),其值用來確定藥物能否從膜上通過并接近靶點。logS 表示水溶性值的對數(shù),F(xiàn)ilterItLogS 表示通過Filter it 軟件計算的logS,AATS1v 表示共軛雙鍵的性能。SlogP 和logS 這兩個分子描述符在3 種方法選出的特征中有著很高的權(quán)重,這說明藥物的辛醇/水分配系數(shù)和水溶性值對于預(yù)測血漿蛋白結(jié)合率有重要意義。logP(o/w)在MOE 中有著重要的占比,而AATS1v 在Mordred 中有著與SlogP 相同重要的地位,這兩個分子描述符對預(yù)測藥物血漿蛋白結(jié)合率也顯示出一定程度的作用。
本研究以2452 條藥物信息作為數(shù)據(jù)集,使用MOE 和Mordred 計算分子描述符,采用XGBoost 算法和RF 算法,建立了預(yù)測藥物fu的回歸模型。結(jié)果表明,使用開源的描述符計算工具構(gòu)建的模型,顯示出與使用商業(yè)軟件構(gòu)建的模型相當(dāng)?shù)男阅堋M瑫r,本研究的最佳回歸模型顯示出比之前的研究(包括使用商業(yè)軟件)更好的性能。
在大多數(shù)模型中,對于預(yù)測fu影響較大的幾個特征是較為統(tǒng)一的,常見的有親脂性和共軛雙鍵的相關(guān)特征(如SlogP、AATS1v)。通常,親脂性高的藥物更傾向與血漿蛋白結(jié)合,而電負性或極化性會影響分子的酸堿性[19]。從特征重要性來看,本研究構(gòu)建的預(yù)測模型成功捕獲了這些影響fu的關(guān)鍵因素。在構(gòu)建的預(yù)測模型中,使用全部分子描述符作為輸入特征時,使用RF 算法構(gòu)建的模型表現(xiàn)出更好的性能。在確定特征數(shù)量階段,使用兩種算法構(gòu)建的模型性能相近,用XGBoost算法構(gòu)建模型的平均結(jié)果更高。
表4 展示了近幾年關(guān)于藥物的血漿蛋白結(jié)合率預(yù)測模型的研究。在現(xiàn)有的研究中,Watanabe等[13]使用的數(shù)據(jù)集規(guī)模最大,有2738 個藥物信息。對于特征提取,大多數(shù)研究使用商業(yè)軟件計算分子描述符作為模型的輸入特征。通過比較不同的機器學(xué)習(xí)算法,可以發(fā)現(xiàn)RF 算法在各研究中展示出良好的性能,該算法對于構(gòu)建藥物血漿蛋白結(jié)合率的預(yù)測模型有良好的應(yīng)用價值。另外,XGBoost 算法作為一種新興的算法,所構(gòu)建的預(yù)測模型同樣顯示出良好的性能。
數(shù)據(jù)集的質(zhì)量對模型的構(gòu)建有著重要的作用,由臨床實驗得到的藥物信息對模型構(gòu)建更具有實際價值。本研究整理得到的藥物信息均是從實際的臨床實驗中的來的,雖然數(shù)據(jù)集的規(guī)模比現(xiàn)有大多數(shù)同類型研究使用的數(shù)據(jù)集更大,但隨著臨床實驗數(shù)據(jù)量的增加,本研究所使用的方法有望取得預(yù)測性能更高的回歸模型。