Rdkit構(gòu)建化學(xué)分子的溶解度預(yù)測模型
各位朋友好,今天我講述如何用Rdkit構(gòu)建化學(xué)分子的溶解度預(yù)測模型。首先我們要了解一個非常重要的包Rdkit。

Rdkit介紹
?Rdkit是開源的化學(xué)信息工具包
?采用了進(jìn)行封裝,提供Python2/Python3的接口
?通過SWIG技術(shù)提供Java 和C# 接口
?提供了大量對化學(xué)分子2D/3D的計算操作
?生成用于機器學(xué)習(xí)的分子描述商業(yè)友好的BSD協(xié)議
?核心數(shù)據(jù)結(jié)構(gòu)和算法用C++實現(xiàn)
?通過Boost.Python技術(shù)對RDKit符
?基于PostgreSQL搭建分子數(shù)據(jù)庫
?KNIME中的化學(xué)信息計算支持(https://www.knime.com/rdkit)
RDKIT可以處理化學(xué)分子內(nèi)容如下圖


接下來,我們要探索如何用Rdkit構(gòu)建化學(xué)分子的溶解度預(yù)測模型。
我們來看看術(shù)語‘溶解度solubility’是什么意思。
溶解度,符號S,在一定溫度下,某固態(tài)物質(zhì)在100g溶劑中達(dá)到飽和狀態(tài)時所溶解的溶質(zhì)的質(zhì)量,叫做這種物質(zhì)在這種溶劑中的溶解度。物質(zhì)的溶解度屬于物理性質(zhì)。
溶解度的單位是克(或者是克/100克溶劑),而不是沒有單位.
例如,在20°C的時候,100克水里溶解0.165克氫氧化鈣,溶液就飽和了,氫氧化鈣在20°C的溶解度就是0.165克,也可以寫成0.165克/100克水。

每一種化學(xué)分子都有相應(yīng)溶解度,那么我們可否根據(jù)已知化學(xué)分子溶解度來預(yù)測其它化學(xué)分子溶解度呢?


答案是可以的。我們可以用python的rdkit,sklearn包搭建分子溶解度預(yù)測模型。

建模過程中,我們需要解決一些難題。
難點1:化學(xué)分子如何轉(zhuǎn)換為數(shù)字?用于機器學(xué)習(xí)計算。

難點2—如何構(gòu)建機器學(xué)習(xí)模型?

歡迎給位朋友關(guān)注<python機器學(xué)習(xí)-乳腺癌細(xì)胞挖掘>教程:
https://ke.qq.com/course/3064292?tuin=dcbf0ba
里面有詳細(xì)講述如何用Rdkit構(gòu)建化學(xué)分子的溶解度預(yù)測模型,并解決上述難題。


教程計算邏輯如下圖

教程有完整數(shù)據(jù)和調(diào)試好的python腳本

這是化學(xué)分子式和溶解度數(shù)據(jù)

這是通過python腳本,把dat數(shù)據(jù)保存到Excel文件。

部分python腳本把smiles字符串形式轉(zhuǎn)換為分子式,并可視化展示截圖

模型校驗可視化

術(shù)語補充知識
SMILES(Simplified molecular input line entry specification),簡化分子線性輸入規(guī)范,是一種用ASCII字符串明確描述分子結(jié)構(gòu)的規(guī)范。SMILES由Arthur Weininger和David Weininger于20世紀(jì)80年代晚期開發(fā),并由其他人,尤其是日光化學(xué)信息系統(tǒng)有限公司(Daylight Chemical Information Systems Inc.),修改和擴展。
由于SMILES用一串字符來描述一個三維化學(xué)結(jié)構(gòu),它必然要將化學(xué)結(jié)構(gòu)轉(zhuǎn)化成一個生成樹,此系統(tǒng)采用縱向優(yōu)先遍歷樹算法。轉(zhuǎn)化時,先要去掉氫,還要把環(huán)打開。表示時,被拆掉的鍵端的原子要用數(shù)字標(biāo)記,支鏈寫在小括號里。
SMILES字符串可以被大多數(shù)分子編輯軟件導(dǎo)入并轉(zhuǎn)換成二維圖形或分子的三維模型。轉(zhuǎn)換成二維圖形可以使用Helson的“結(jié)構(gòu)圖生成算法”(Structure Diagram Generation algorithms)。

機器學(xué)習(xí)和數(shù)據(jù)分析在生物醫(yī)藥領(lǐng)域有廣泛應(yīng)用,能治療疾病和延長人類壽命。
歡迎各位同學(xué)學(xué)習(xí)python機器學(xué)習(xí)生物信息學(xué)

