RDKit中的分子3D构象生成_rdkit 3d重构坐标_朝花夕拾,谈一地毛线。~的博客-程序员秘密

技术标签: DRUG AI  

一、构象生成算法概述

1.基于距离

  1. 生成分子的连接边界矩阵
  2. 对边界矩阵进行平滑处理
  3. 根据边界矩阵,随机产生一个距离矩阵。
  4. 把产生的距离矩阵映射到三维空间中,并为每个原子计算坐标。
  5. 对计算的坐标结果使用力场和边界矩阵进行粗略的优化。

2.基于知识

代码实现

>>> from rdkit import Chem
>>> from rdkit.Chem import AllChem
>>> from rdkit.Chem import Draw
>>> m = Chem.MolFromSmiles('c1ccccc1')
>>> m3d=Chem.AddHs(m)
>>> AllChem.EmbedMolecule(m3d, randomSeed=1)
>>> Draw.MolToImage(m3d, size=(250,250)

二、代码实现

1.添加氢原子

  • 加氢:Chem.AddHs()
    在rdkit中,分子在默认情况下是不显示氢的,但氢原子对于真实的几何构象计算有很大的影响,所以在计算3D构象前,需要使用Chem.AddHs()方法加上氢原子。

2.距离几何算法生成3D结构

  • 生成3D构象:AllChem.EmbedMolecule(mol, randomSeed, clearConfs, useExpTorsionAnglePrefs, useBasicKnowledge, …)
    mol:传入mol对象
    randomSeed:随机种子,方便结果重复
    clearConfs:清除已有构象,默认True
    useExpTorsionAnglePrefs和useBasicKnowledge两个参数即控制是否使用ETKDG,默认都为True

3.距离几何+ETKDG生成3D构象

代码实现

>>> AllChem.EmbedMolecule(m3d, randomSeed=10)
>>> Draw.MolToImage(m3d, size=(250,250))

查看结果
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44251938/article/details/113831186

智能推荐

Cause: org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found_Huang煌辉的博客-程序员秘密

org.apache.ibatis.exceptions.PersistenceException: ### Error updating database.  Cause: org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped State...

PHP笔记——Yii2学习笔记4(视图入门之布局,前端资源)_yii框架 前端资源使用_Myron.Maoyz的博客-程序员秘密

一、视图通过之前的笔记,以及参考:应用结构(Application Structure): 视图(Views) - Yii 2.0 权威指南 - 文档 - Yii Framework 中文网3 Yii2.0灵活使用AppAssets管理CSS样式及JS脚本_眼镜君-程序员秘密应用结构(Application Structure): 前端资源(Assets) - Yii 2.0 权威指南 - 文档 - Yii Framework 中文网...

轻松掌握Windows窗体间的数据交互_weixin_30369087的博客-程序员秘密

作者:郑佐原文地址:http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx日期:2004-04-05Windows 窗体是用于 Microsoft Windows 应用程序开发的、基于 .NET Framework 的新平台。此框架提供一个有条理的、面向对象的、可扩展的类集,它使您得以开发丰富的 Windows 应用程序。一...

82 - 删除排序链表中的重复元素 II - python_Forlogen的博客-程序员秘密

给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有重复出现的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3这道题和83题相同之处在于,都是给一个排序链表。要求删除链表中重复的元素;不同之处...

Maven项目下java.lang.ClassNotFoundException的解决方法_zym2895857的博客-程序员秘密

转自 http://www.cnblogs.com/prettymdx/p/5951715.html问题背景:Maven的project下,项目中已经引用了相应的jar包。Java class中没有语法错误,在执行时报ClassNotFound。检查了Maven的pom.xml,依赖引入正常。错误原因:进入到tomcat的部署路径C:\eclipseworksp

NYOJ 954 N! (数学)_Strokess的博客-程序员秘密

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=954N!时间限制:1000 ms  |  内存限制:65535 KB难度:3描述阶乘(Factorial)是一个很有意思的函数,但是不少人都比较怕它。现在这里有一个问题,给定一个N(0输入本题有多组测试数据,每组数

随便推点

返回页面顶部模块_iteye_3607的博客-程序员秘密

1.js事件<a class="back-top" href="#top" onclick="window.scrollTo(0,0);return false;" title="返回顶部"style="position:fixed;right:0px;">返回顶部</a>也可采用如下写法<a href="javasc

[/usr/share/doc/pcre-8.32/Makefile] Error 127解决办法_luffy5459的博客-程序员秘密

安装nginx提示需要pcre库,需要通过参数--with-pcre来指定,通过rpm -ql命令查看系统已经安装了pcre,如下图所示:在通过configurer配置nginx选项时,指定pcre目录为/usr/share/doc/pcre-8.32,不会出错,但是make时就出现如题所示错误。这个错误的原因是通过--with-pcre需要指定pcre的源码目录,而不是安装目录,下载pc...

linux没有WideCharToMultiByte,MultiByteToWideChar,换用mbstowcs,wcstombs_NOHACKCC的博客-程序员秘密

1,wcstombssize_t wcstombs (char* dest, const wchar_t* src, size_t max);Convert wide-character string to multibyte stringdestPointer to an array of char elements long enough to contain the res

Secure CRT 本地文件上传至远程服务器_Francis Einscan的博客-程序员秘密

本文将介绍如何使用secure crt 将本地文件上传至虚拟机或远程linux 服务器(即下文所讲的远程端),这仅是本人平常喜欢使用的一种方式。用secure crt 连接、登录虚拟机鼠标右键,并选中Connect SFTP Tab,如图:切换至SFTP 窗口几个常用命令:lpwd :查看本地当前所在目录 pwd :查看远程端所在目录lls :查看本地当前目录下内容 ...

腾讯会员下载本地视频,非会员观看_chongsi1881的博客-程序员秘密

我是腾讯会员,我一个朋友不是。他想看一个会员电影,我在自己电脑上下载了这个电影。是qlv格式,只支持腾讯视频播放。</br>这时候,他要看有两种方式:<br>一是使用格式工厂等转换工具转换为MP4等常见视频格式,再使用任意支持该视频格式的播放器观看。<br&...

BZOJ 3944 - Sum(杜教筛)_3944: sum_歪歪扣的博客-程序员秘密

题目戳这里子问题:    ∑i=1nφ(i)~~~~\sum_{i=1}^{n}\varphi(i)    ∑i=1n​φ(i)因为    ∑i∣nφ(i)=n~~~~\sum_{i|n}\

推荐文章

热门文章

相关标签