梁禮,鄧成龍,張艷敏,滑藝,劉海春,陸濤,陳亞東
(中國藥科大學理學院,江蘇 南京 211198)
隨著疾病多樣性和藥物耐藥問題頻出,藥物需求日益增加,但新藥研發(fā)存在研發(fā)周期長、成本高和成功率低等風險。一般而言,一個創(chuàng)新藥從研發(fā)到最后上市,需要花費數十億美元和10 ~ 15 年的時間[1]。盡管投入高,耗時長,小分子藥物最終上市的成功率僅為13%,失敗風險較高[2]。計算機輔助藥物設計能極大地縮短藥物研發(fā)時間,提高藥物研發(fā)成功率。傳統的藥物篩選方法有分子對接、藥效團匹配和相似性搜索等。近年來隨著計算機計算能力的高速發(fā)展和大數據時代的到來,人工智能助力藥物研發(fā)迎來了極大的發(fā)展機遇。
近年來計算機輔助藥物設計在藥物發(fā)現領域也不乏一些成功的案例。中國藥科大學陸濤教授課題組[3]的Flt3(Fms-like tyrosine kinase)小分子抑制劑正在進行I 期臨床試驗,該抑制劑從先導化合物的發(fā)現到后續(xù)的優(yōu)化評價均是在計算機輔助藥物設計的指導下完成。英屬哥倫比亞大學Li 等[4]利用計算機輔助藥物設計方法,從苗頭化合物發(fā)現到候選化合物性質評價,完成雄激素受體抑制劑的臨床前研究,并已將成果轉讓。加州大學Manglik 等[5]利用基于結構的藥物設計方法發(fā)現了一類新型的具有止痛作用的阿片受體激動劑。來自Insilico Medicine 和藥明康德等機構的研究人員[6]開發(fā)了一種人工智能算法(GENTRL 模型),在21 天內就設計出了DDR1(discoidin domain receptor 1)激酶抑制劑的潛在分子結構,并在46 天內完成初步生物學驗證。GENTRL 模型只用了46 天的時間,就完成了傳統方法用數月到數年的時間所完成的工作,大大節(jié)省了藥物的研發(fā)時間和高昂的研發(fā)費用。
人工智能與藥物研發(fā)相結合應用的主要場景包括藥物靶點預測、高通量篩選、藥物設計和藥物的吸收、分配、代謝、排泄和毒性(absorption,distribution, metabolism,excretion and toxicity,ADMET)等性質預測。人工智能涵蓋了機器學習和深度學習,而深度學習又屬于機器學習的子領域。機器學習算法在藥物研發(fā)領域被廣泛用于分類和回歸預測等方面。與機器學習相比,深度學習適合處理大數據,模型也相對復雜。隨著大數據時代的到來和計算機性能的不斷增強,近年來越來越多的人工智能算法模型被提出、如圖1 所示,最早應用于藥物發(fā)現領域的有決策樹,隨機森林和支持向量機等機器學習模型,隨著計算機性能的不斷提高和大數據時代的到來,深度神經網絡、卷積深度網絡和循環(huán)神經網絡等深度學習算法逐漸發(fā)展,其在藥物發(fā)現領域的應用也越來越廣泛。本文將主要介紹機器學習和深度學習方法在藥物發(fā)現領域的應用。
在過去的10 年間,人工智能在很多領域都有廣泛的應用。繼機器學習后,深度學習模型被提出并應用于藥物發(fā)現領域。常見的機器學習算法包括決策樹(decision tree)、隨機森林(random forest)、支持向量機(support vector machine,SVM),k-最近鄰算法(k-nearest neighbor model)和樸素貝葉斯(Na?ve Bayes)算法。深度學習和機器學習的主要區(qū)別是數據量的大小及模型的復雜度,深度學習模型更復雜,需要的數據量也更大。深度學習屬于機器學習的子領域,近年來隨著計算性能的高速發(fā)展及圖形處理單元(graphics processing unit,GPU)的應用,深度學習模型的應用越來越廣泛,主要有深度神經網絡、卷積神經網絡、循環(huán)神經網絡和自編碼器。
決策樹是一種將決策流程以樹狀結構清晰表示的機器學習方法,本質上是通過一系列規(guī)則對數據進行分類的過程。如圖2a 所示,在決策樹模型中,每個決策樹的非葉節(jié)點表示一個特征屬性上的測試,每個分支代表這個特征屬性在某個值域上的輸出,而每個葉子節(jié)點存放一個類別。選擇屬性和剪枝是構建決策樹的2 個基本步驟。首先,選擇根節(jié)點屬性對輸入分子進行測試,依據是否符合根節(jié)點屬性將分子劃分到下一個決策節(jié)點,再根據決策節(jié)點的屬性向下劃分子節(jié)點,重復該過程直到最終劃分到葉子節(jié)點。其次,決策樹分支過多容易導致模型過擬合,需要使用修剪算法對生成的樹進行剪枝,降低樹結構的復雜性。
隨機森林是通過構建多個決策樹對樣本進行訓練并預測的一種分類器,其最終輸出的類別是由每個決策樹輸出的類別的眾數而決定,如圖2b 所示是一個隨機森林模型。每棵樹根據如下算法來建造[7]:用N來表示訓練樣本的個數,從N個訓練樣本中以有放回抽樣的方式,取樣N次,用來訓練一個決策樹;隨機從每個樣本的M個屬性中選取m個屬性,然后從m個屬性中通過信息增益選擇一個屬性作為該節(jié)點的分裂屬性,直到該節(jié)點不能分裂為止;重復以上步驟構建大量的決策樹,從而形成隨機森林。隨機森林在訓練過程中會對數據進行有放回的隨機抽樣,因此與決策樹相比隨機森林不太可能過擬合數據,而且對數據分類的準確度也較高。
SVM 由Vidyasagar 等[8]在1998 年提出,它能夠處理小數據集中的高維變量,可以用于分類和回歸問題,但更多用在分類問題上。如圖3 所示,對于線性可分數據集,SVM 模型通過映射空間中的點來分離不同的類別,這樣能使不同類別的點之間的邊界最大化。對于線性不可分數據集,SVM 使用核映射將非線性數據集放入高維特征空間用于線性分類。SVM 在數據分類領域應用廣泛,在某些方面其分類效果要強于其他 機器學習方法。
k-最近鄰算法是一種用于分類和回歸的無監(jiān)督學習算法,由Cover 和Hart 在1968 年提出[9]。如圖4 所示,k-最近鄰算法基于某種距離度量找出訓練集中與測試樣本最靠近的k個訓練樣本,然后基于這k個“鄰居”的信息來進行預測,其核心思想是如果一個樣本在k個最鄰近的大多數樣本屬于某一個類別,則該樣本也屬于這一個類別。k-最近鄰算法是所有機器學習算法中最簡單而且容易操作的一種算法,常用于化合物分類。在k-最近鄰模型中,每一個化合物代表一個樣本,分子描述符代表化學特征空間,如果一個化合物在化學特征空間中的k個最相鄰的大多數化合物屬于活性化合物,則該化合物理論上有較大的可能性也為活性化合物。
樸素貝葉斯分類器是應用最為廣泛的分類算法之一,如圖5 所示是貝葉斯公式,對于事件A 和B,P(B|A)就是指在事件A 發(fā)生的條件下,事件B 發(fā)生的概率,又稱條件概率,P(B)和P(A)是沒有前提條件時事件B 和事件A 發(fā)生的概率,又稱先驗概率。樸素貝葉斯算法最早由Duda 和Hart 在1973 年提出[10],根據貝葉斯原理來處理分類和回歸問題[11]。貝葉斯分類器只需要少量的訓練數據即可估計出一些必要的參數,能夠在許多復雜的條件中取得較好的效果。
人工神經網絡(artificial neural network,ANN),如圖6a 所示,由輸入層(藍色)、一個隱藏層(紅色)和輸出層(綠色)3 部分組成,每層都包含若干個神經元,ANN 最早來源于1943 年McCulloch 等[12]的計算模型,19 世紀60 到80 年代現代人工神經網絡開始發(fā)展并應用于不同領域,但ANN 對訓練數據容易出現過擬合問題,其很快被其他機器學習算法如支持向量機代替。隨著計算機性能的發(fā)展,新的深度學習算法開始涌現,其中包括深度神經網絡(deep neural network,DNN)。如圖6b 所示,DNN 本質上是具有多個隱藏層的ANN,它是最早應用于藥物發(fā)現的深度學習算法之一。
卷積神經網絡(convolutional neural network, CNN)是一種前饋神經網絡,它在圖像識別領域的表現優(yōu)異。如圖7 所示,CNN 的核心一般由卷積層(綠色方塊)、池化層(藍色方塊)和全連接層(藍色圓圈)3 個部分組成,最后一列為輸出層,其中卷積層是最重要的一個部分,該層的參數由一系列過濾器又稱卷積核組成,使用不同的卷積核對輸入數據進行卷積可以提取不同的特征,隨著原始特征的不斷提取壓縮,最終能提取到高層次的特征。卷積層的優(yōu)點在于其通過權值共享策略極大地縮小了參數的規(guī)模并逐漸建立空間和結構的不變性[13]。池化層也稱為下采樣層,它用來壓縮特征空間,池化層可以降低噪聲的影響和參數的規(guī)模,提高模型的魯棒性。每個卷積層連接池化層構成卷積模塊,一個CNN 通常有多個卷積模塊,用以提取特征。最后模型中會有一個或多個的全連接層,接受卷積模塊提取的特征并輸出結果。
循環(huán)神經網絡(recurrent neural network,RNN),如圖8 所示,同樣由輸入層(藍色)、隱藏層(紅色)和輸出層(綠色)3 部分組成,RNN 是一類用于處理序列數據的神經網絡,比如時間序列數據,基因和蛋白序列數據或分子線性輸入字符串(SMILES)等[14],與普通的前饋神經網絡不同,RNN 在其隱藏層的各節(jié)點之間建立了連接,使一個節(jié)點的輸入不僅包括輸入層的輸出,還包括上一時刻隱藏層節(jié)點的輸出,這是RNN 可用于處理序列數據的重要原因,同時RNN 也是唯一一個具有記憶能力的神經網絡[15],但卻受到短期記憶的影響,因此產生了一些RNN 的改進算法如長短期記憶網絡(long short-term memory,LSTM)和GRU(gated recurrent unit)算法,RNN 在自然語言處理方面得到了廣泛的應用,同時基于LSTM 和GRU 算法的RNN 在從頭藥物設計中也占據很重要的地位。
自編碼器(autoencoder,AE),是一種用于非監(jiān)督學習的神經網絡,如圖9 所示,它具有輸入層(藍色)、隱藏層(紅色)和輸出層(綠色)3 層結構,包含編碼部分和解碼部分,編碼部分是一個將輸入層接受到的數據轉化為有限數量的隱藏層的神經網絡,然后通過解碼部分與輸出層連接,自編碼器的目的在于重構輸入數據,典型的就是用于數據降維[16]。自編碼器的概念已經廣泛應用于生成學習模型,并且經過改進,產生了變分自編碼器和條件變分自編碼器等,它們在藥物分子生成方面具有廣泛的應用。
在當今大數據時代背景下,人工智能已經滲透到各個領域。在藥物發(fā)現領域,人工智能在藥物靶點識別、化合物虛擬篩選和藥物性質預測等方面得到越來越廣泛的應用,如圖10 所示。
靶點是新藥研發(fā)的基礎,因此藥物靶點的識別在藥物發(fā)現過程中尤為重要。近年來也有越來越多的靶點被發(fā)現,然而相對于未知的靶點,已發(fā)現的靶點只是冰山一角。若能在早期通過計算機預測藥物靶點,縮短靶點發(fā)現周期,對藥物研發(fā)具有重要意義。
決策樹可用于預測藥物靶點,Costa 等[17]基于決策樹分類器來預測與疾病相關的基因,最后他們發(fā)現了多種轉錄因子在代謝通路和細胞外定位中的調控作用?;诘鞍装悬c的化學結構和幾何特征,Nayal 等[18]選取了99 個蛋白的99 個藥物結合位點和1 187 個非藥物結合位點,然后構建了一個隨機森林分類器來預測成藥靶點。Kumari 等[19]結合自助法(bootstrap)采樣提升了隨機森林算法,并成功從非藥物靶點中區(qū)分出了藥物靶點。針對乳腺癌、胰腺癌和卵巢癌等疾病,Jeon等[20]利用一系列基因數據集構建了一個SVM 分類器,可將蛋白分為藥物靶點和非藥物靶點2 個類別。
藥物在人體內可以同時作用多個靶點,但如果作用于非靶向受體就會引起副作用。人工智能可以對候選化合物進行篩選,更快篩選出作用于特定靶點且具有較高活性的化合物,為后期臨床試驗做準備。
決策樹模型可用于拓撲異構酶Ⅰ抑制劑的分類和預測[21]。Neugebauer 等[22]利用低維定量構效關系描述符建立決策樹來預測與蛋白相互作用的抑制劑,并通過建模技術進一步修剪決策樹得到真陽率更高的蛋白相互作用抑制劑。王潔雪等[23]采用決策樹與隨機森林2 種機器學習方法分別對脾酪氨酸激酶(spleen tyrosine kinase,Syk)抑制劑與非抑制劑建立模型,經過對比,隨機森林具有更好的預測精度,采用隨機森林模型對Syk 抑制劑進行虛擬篩選,從ZINC 分子數據庫篩選得到潛在的Syk 抑制劑分子。Warmuth 等[24]利用SVM方法生成最大間隔超平面來從一系列化合物中分離出活性化合物,結果表明SVM 的分類效果強于其他模型。Poorinmohammad 等[25]建立SVM 分類模型對抗人類免疫缺陷病毒(human immunodeficiency virus,HIV)肽進行分類,預測準確率達到了96.76%。SVM 也可以和其他方法結合用于化合物庫的虛擬篩選,有研究顯示組合SVM 和分子對接方法篩選化合物庫可大大提高活性化合物的命中率和富集因子[26]。貝葉斯模型能夠快速有效地識別大型化合物數據庫,從化合物庫中篩選出活性化合物[27]。貝葉斯分類模型已成功用于許多抑制劑的虛擬篩選,如雷帕霉素蛋白酶抑制劑的虛擬篩選等[28]。k-最近鄰算法也可與其他特征選擇算法相結合。Weidlich 等[29]應用k-最近鄰算法,同時結合模擬退火方法與隨機森林算法,從679 個藥物分子中篩選抗病毒藥物,他們的結果表明改進的k-最近鄰算法模型優(yōu)于隨機森林算法模型。
藥代動力學性質不理想是藥物在臨床研究階段研發(fā)失敗的主要原因。因此在藥物研發(fā)早期階段對化合物成藥性和安全性進行評估,對于提高藥物研發(fā)成功率、降低研發(fā)成本具有十分重要的意義。
Newby 等[30]構建決策樹模型用來預測化合物滲透性和溶解性在藥物口服吸收過程中的作用,結果表明低滲透性高溶解性的化合物的腸道吸收率低,然而低溶解性高滲透性的化合物的腸道吸收率高。王昊等[31]利用樸素貝葉斯模型來進行藥物不良反應的預測,結果發(fā)現貝葉斯網絡預測模型對導致呼吸困難發(fā)生頻率在1%以上的藥物的預測準確率可以達到86.76%。毒性是新藥開發(fā)的一項重要指標,在早期就排除一些毒性大的化合物對于新藥研發(fā)來說非常有利。在2014 年的Tox21 數據挑戰(zhàn)賽中,Mayr 等[32]用多任務DNN建立了DeepTox 毒性評估模型從而贏得勝利,該模型在15 項挑戰(zhàn)中獲得9 項勝利,并且沒有任何一項低于前5 名。在他們的模型中使用了Dropout 方法和ReLu激活函數,并且通過GPU 并行計算進行模型訓練。CNN 在性質預測方面也有所應用,例如Wallach 等[33]使用蛋白配體復合物結合位點的三維格點作為輸入,設計了第一個基于結構的深度CNN,稱為AtomNet,該網絡被用于預測小分子的生物活性。AtomNet 可以在沒有活性化合物對照的情況下預測新的活性分子,在DUDE 基準庫測試中,其受試者工作特征(receiver operating characteristics,ROC)曲線下面積(area under the curves,AUC)達到了0.9,遠超先前的對接方法。ROC 曲線對于評價二分類模型非常有用,而且ROC 曲線可以通過其曲線下面積AUC 來解讀,理想的分類模型AUC 為1,隨機分類AUC 為0.5[34],因此AUC 越接近1 代表模型能力越強。同樣地,Goh 等[35]設計了一種通用的深度CNN,稱為Chemception,該網絡被用于預測分子的各種性質如毒性、活性和溶解性等,重要的是該網絡接受的輸入數據僅為分子的二維圖像而不需要其他任何化學信息。他們將該網絡與多層感知機深度神經網絡(multilayer perceptron DNN,MLPDNN)相比,發(fā)現Chemception 在活性與溶解度的預測方面表現更優(yōu)異。
有效地構建擁有一定規(guī)模且高質量的小分子庫是藥物研發(fā)人員一直關注的問題,組合化合物庫和枚舉化合物庫等技術能夠迅速地構建大規(guī)模的分子庫,這類化合物庫的重要不足在于分子結構缺乏一定的新穎性,為了擴充化學空間且產生高成藥性的分子,研究者們利用深度學習技術設計了不同的分子生成模型。
Segler 等[36]利用RNN 設計了分子生成模型,他們首先用大量的有效的SMILES 字符串訓練了RNN 模型,在他們的模型中使用了3 個疊加的LSTM 層,最終他們生成了847 995 個新分子,并且這些分子具有一定的多樣性,通過計算生成分子的各種性質包括分子量、氫鍵供體和受體數、脂水分配系數、可旋轉鍵及極性表面積并進行數據降維,發(fā)現生成分子的性質與訓練集分子表現出良好的相關性,同時證明這些分子適合于虛擬篩選。為了產生對特定靶點具有潛在活性的分子,Segler 等[36]使用對不同靶點有活性的小分子分別作為測試集對模型進行了微調,占測試集14%的抗金黃色葡萄球菌分子和占測試集28%的抗惡性瘧原蟲分子出現在微調后模型生成的分子中。同樣地,Yuan 等[37]介紹了一種新的分子生成方法MIMICS(machine-based identification of molecules inside characterized space),在該方法中,以給定化學子集的SMILES 字符串作為輸入,他們首先使用RNN 學習這些字符串中字符的概率分布,然后刪除無效的結構,最終在MIMICS 中生成了性質相似但骨架不同的新分子,重要的是在隨后的細胞實驗中發(fā)現新生成的分子中有能夠作為血管內皮生長因子抑制劑,證明該方法能夠生成結構新穎并且具有類藥性的分子。這2 個案例都說明基于RNN 生成的分子與模板分子性質相似但骨架新穎,為從頭藥物設計提供了強大的支持。
Gomez-Bombarelli 等[38]提出了一種使用變分自編碼器生成分子結構的新方法。與自編碼器不同的是,變分自編碼器將輸入數據編碼到隱含空間是不連續(xù)的,該方法的編碼器將輸入分子的離散表示轉換成隱含空間的連續(xù)向量,隨后解碼器可將這些連續(xù)向量還原成分子離散表示。重要之處在于隱含空間中的分子表示為連續(xù)的,因此可以通過隨機解碼、擾亂或插入等方法產生新的分子,并且通過一些優(yōu)化算法可以產生期望性質的分子。Lim 等[39]使用條件變分自編碼器設計了一種分子生成方法,與變分自編碼器不同之處在于,其可以在編碼和解碼過程中施加條件。該方法被證實可以在10%誤差范圍內生成特定屬性(如特定的分子量、脂水分配系數、氫鍵受體和供體、拓撲極性表面積等)的類藥分子,并可以在保持其他性質的情況下控制某一種性質。Skalic 等[40]提出了借助變分自編碼器使用分子三維表現和藥理特性來產生新型分子的方法,該方法同時結合了RNN 和CNN 方法,最終該方法被證實可以產生具有類藥性的分子。
了解蛋白質的結構與性質在藥物研發(fā)初級階段極為重要,在計算機輔助藥物設計中,基于受體結構的藥物設計也具有很重要的地位,其中模擬蛋白受體相互作用的分子對接技術應用廣泛,不同的對接打分函數也會一定程度影響結果。DNN 在蛋白結構預測方面也有應用,例如Qi 等[41]使用多任務DNN 構建了一個用于預測蛋白質各種局部性質的預測器,該預測器可以應用于多種目的,例如糖基化位點、扭轉角等的預測。由于CNN 在圖像識別領域比較成功,因此開始有人研究利用CNN 來評價蛋白配體相互作用,例如Ragoza等[42]將蛋白配體復合物表示為三維格點作為輸入,使用多層CNN 構建了一個打分函數,該打分函數在結合模式預測和虛擬篩選中的打分表現比AutoDock Vina 的打分函數更好,但是多層CNN 構建的打分函數也存在與一般打分函數相似的問題,因此CNN 在該方面的應用還有一定的改進空間。
新藥研發(fā)具有成本高、研發(fā)周期長、成功率低的3 大高風險性質。近年來隨著計算性能的持續(xù)提高和先進算法的開發(fā),人工智能快速發(fā)展,已應用于藥物研發(fā)的各個領域。計算機輔助藥物設計在藥物研發(fā)領域早有應用,傳統的計算機輔助藥物設計更偏向于以靶點和結構信息為核心的計算機輔助藥物設計,如基于結構的虛擬篩選和定量構效關系模型構建等,而人工智能是以數據為核心的藥物研發(fā)模式,因此其在靶點未知和機制未明的復雜疾病藥物研發(fā)中占有優(yōu)勢。新藥研發(fā)成本約為26 億美元,耗時約10 年,成功率僅有6.2%[43],而人工智能應用于藥物研發(fā)可大大節(jié)省研發(fā)成本和時間。報告顯示人工智能在化合物合成和篩選方面比傳統手段可節(jié)約40%的時間,每年可為醫(yī)藥企業(yè)節(jié)約260 億美元的化合物篩選成本。
雖然機器學習和深度學習已被用于藥物研發(fā)的各個領域,但是人工智能在新藥研發(fā)中的應用才剛剛起步,也面臨著諸多挑戰(zhàn)。在藥物研發(fā)領域,數據是人工智能的關鍵。因此作為一種數據挖掘技術,人工智能模型依賴于大數據的積累,并不能無中生有。用來學習的數據很大程度上會影響模型的性能,因此模型是否有效往往取決于數據的質量。若是數據質量不高,即使使用可靠的算法,也不會獲得良好的結果,反而會浪費大量的資源和時間。目前大多數預測模型來源于參差不齊的數據,因此如何獲得高質量的數據是人工智能面臨的一個主要問題。此外,如何學習訓練數據得到泛化能力強的模型也是人工智能的難點及熱點。
計算機輔助藥物設計在藥物研發(fā)領域的應用已經歷數十年,隨著醫(yī)藥數據的不斷積累和計算機性能的不斷增強,人工智能在藥物設計上的應用也越來越廣泛,特別是深度學習技術,為計算機輔助藥物設計注入了新的活力,極大地推進藥物研發(fā)的進程。未來隨著數據進一步積累和新的算法出現,人工智能輔助藥物設計有望在藥物發(fā)現領域得到更廣泛的應用,更多地覆蓋藥物設計與發(fā)現各個階段,更大程度地降低藥物研發(fā)的成本和周期,更好地助力我國創(chuàng)新藥物的研發(fā)。