化学分子溶解度预测模型(python-Rdkit构建)

各位朋友好,今天我讲述如何用Rdkit构建化学分子的溶解度预测模型。首先我们要了解一个非常重要的包Rdkit。

Rdkit介绍

•Rdkit是开源的化学信息工具包

•采用了进行封装,提供Python2/Python3的接口

•通过SWIG技术提供Java 和C# 接口

•提供了大量对化学分子2D/3D的计算操作

•生成用于机器学习的分子描述商业友好的BSD协议

•核心数据结构和算法用C++实现

•通过Boost.Python技术对RDKit符

•基于PostgreSQL搭建分子数据库

•KNIME中的化学信息计算支持(https://www.knime.com/rdkit

RDKIT可以处理化学分子内容如下图

接下来,我们要探索如何用Rdkit构建化学分子的溶解度预测模型。

我们来看看术语‘溶解度solubility’是什么意思。

溶解度,符号S,在一定温度下,某固态物质在100g溶剂中达到饱和状态时所溶解的溶质的质量,叫做这种物质在这种溶剂中的溶解度。物质的溶解度属于物理性质。

溶解度的单位是克(或者是克/100克溶剂),而不是没有单位.

例如,在20°C的时候,100克水里溶解0.165克氢氧化钙,溶液就饱和了,氢氧化钙在20°C的溶解度就是0.165克,也可以写成0.165克/100克水。

每一种化学分子都有相应溶解度,那么我们可否根据已知化学分子溶解度来预测其它化学分子溶解度呢?

答案是可以的。我们可以用python的rdkit,sklearn包搭建分子溶解度预测模型。

建模过程中,我们需要解决一些难题。

难点1:化学分子如何转换为数字?用于机器学习计算。

难点2—如何构建机器学习模型?

欢迎给位朋友关注<python机器学习-乳腺癌细胞挖掘>,里面有详细讲述如何用Rdkit构建化学分子的溶解度预测模型,并解决上述难题。

python机器学习乳腺癌数据挖掘

教程计算逻辑如下图

教程有完整数据和调试好的python脚本

这是化学分子式和溶解度数据

这是通过python脚本,把dat数据保存到Excel文件。

部分python脚本把smiles字符串形式转换为分子式,并可视化展示截图

模型校验可视化

术语补充知识

SMILES(Simplified molecular input line entry specification),简化分子线性输入规范,是一种用ASCII字符串明确描述分子结构的规范。SMILES由Arthur Weininger和David Weininger于20世纪80年代晚期开发,并由其他人,尤其是日光化学信息系统有限公司(Daylight Chemical Information Systems Inc.),修改和扩展。

由于SMILES用一串字符来描述一个三维化学结构,它必然要将化学结构转化成一个生成树,此系统采用纵向优先遍历树算法。转化时,先要去掉氢,还要把环打开。表示时,被拆掉的键端的原子要用数字标记,支链写在小括号里。

SMILES字符串可以被大多数分子编辑软件导入并转换成二维图形或分子的三维模型。转换成二维图形可以使用Helson的“结构图生成算法”(Structure Diagram Generation algorithms)。


版权声明:文章来自公众号(python风控模型),未经许可,不得抄袭。遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值