pybel 可以使用的力场
2014-01-06 08:52
141 查看
pybel是一种常用的python库,提供化学信息学常用的功能,如转换SMILE编码,生成化学结构式,使用某种力场、算法进行初步结构优化,计算fingerprints等。
1. 安装
a. 首先安装openbabel (http://openbabel.org/docs/2.3.1/Installation/install.html)
如果是windows下,直接下载安装包http://sourceforge.net/projects/openbabel/files/openbabel/2.3.1/OpenBabel2.3.1_Windows_Installer.exe/download
如果是linux下,下载源码编译,见压缩包内介绍。需要使用cmake,如果系统没有,要事先安装。在编译时指明激活python库接口:
configure --prefix=/usr/local
cmake -DPYTHON_BINDINGS=ON -DCMAKE_BUILD_TYPE=DEBUG
make && make install
b. 安装pybel库http://openbabel.org/docs/2.3.1/UseTheLibrary/PythonInstall.html
如果是linux则可省略这一步,只需要在安装时激活python库借口即可。
windows版本则需要安装:python2.7版本:http://sourceforge.net/projects/openbabel/files/openbabel-python/1.7/openbabel-python-1.7.py27.exe/download
python3.2版本:http://sourceforge.net/projects/openbabel/files/openbabel-python/1.7/openbabel-python-1.7.py32.exe/download
c. 测试
2. 初步优化
目前版本提供的力场包括:
使用 :
print(pybel.forcefileds)
查询,给出:
gaff
ghemical
mmff94
mmff94s
uff
从SMILE生成初步分子结构的过程:
import pybel
SMILE_code="C=CC=C"
molecule=pybel.readstring("smi",SMILE_code)
molecule.make3D(forcefield='UFF',steps=100)
生成Gaussian 输入文件,略过前面软件声明部分
print (molecule.write("gjf")[55:])
也可以使用最陡降线算法优化http://openbabel.org/docs/2.3.1/UseTheLibrary/Python_Pybel.html
molecule_descent=molecule.calcdesc()
molecule.data.update(molecule_descent)
print
或者局部最优法http://openbabel.org/docs/2.3.1/UseTheLibrary/Python_PybelAPI.html#pybel.Molecule.localopt
localopt(forcefield='mmff94', steps=500)
1. 安装
a. 首先安装openbabel (http://openbabel.org/docs/2.3.1/Installation/install.html)
如果是windows下,直接下载安装包http://sourceforge.net/projects/openbabel/files/openbabel/2.3.1/OpenBabel2.3.1_Windows_Installer.exe/download
如果是linux下,下载源码编译,见压缩包内介绍。需要使用cmake,如果系统没有,要事先安装。在编译时指明激活python库接口:
configure --prefix=/usr/local
cmake -DPYTHON_BINDINGS=ON -DCMAKE_BUILD_TYPE=DEBUG
make && make install
b. 安装pybel库http://openbabel.org/docs/2.3.1/UseTheLibrary/PythonInstall.html
如果是linux则可省略这一步,只需要在安装时激活python库借口即可。
windows版本则需要安装:python2.7版本:http://sourceforge.net/projects/openbabel/files/openbabel-python/1.7/openbabel-python-1.7.py27.exe/download
python3.2版本:http://sourceforge.net/projects/openbabel/files/openbabel-python/1.7/openbabel-python-1.7.py32.exe/download
c. 测试
C:\Documents and Settings\Noel> obabel -V Open Babel 2.3.1 -- Oct 9 2011 -- 17:57:01 C:\Documents and Settings\Noel> obabel -Hsdf sdf MDL MOL format Reads and writes V2000 and V3000 versions Read Options, e.g. -as s determine chirality from atom parity flags ... ... C:\Documents and Settings\Noel> dir "%BABEL_DATADIR%"\mr.txt Volume in drive C has no label. Volume Serial Number is 68A3-3CC9 Directory of C:\ProgramData\OpenBabel-2.3.1\data 26/10/2010 16:37 4,295 mr.txt 1 File(s) 4,295 bytes 0 Dir(s) 58,607,575,040 bytes free C:\Documents and Settings\Noel> C:\Python26\python Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import pybel >>> mol = pybel.readstring("smi", "CC(=O)Br") >>> mol.make3D() >>> print(mol.write("sdf")) OpenBabel01010918183D 7 6 0 0 0 0 0 0 0 0999 V2000 1.0166 -0.0354 -0.0062 C 0 0 0 0 0 2.5200 -0.1269 0.0003 C 0 0 0 0 0 3.0871 -1.2168 0.0026 O 0 0 0 0 0 3.2979 1.4258 0.0015 Br 0 0 0 0 0 0.6684 1.0007 0.0052 H 0 0 0 0 0 0.6255 -0.5416 0.8803 H 0 0 0 0 0 0.6345 -0.5199 -0.9086 H 0 0 0 0 0 1 2 1 0 0 0 1 5 1 0 0 0 1 6 1 0 0 0 1 7 1 0 0 0 2 4 1 0 0 0 2 3 2 0 0 0 M END $$$$
2. 初步优化
目前版本提供的力场包括:
使用 :
print(pybel.forcefileds)
查询,给出:
gaff
ghemical
mmff94
mmff94s
uff
从SMILE生成初步分子结构的过程:
import pybel
SMILE_code="C=CC=C"
molecule=pybel.readstring("smi",SMILE_code)
molecule.make3D(forcefield='UFF',steps=100)
生成Gaussian 输入文件,略过前面软件声明部分
print (molecule.write("gjf")[55:])
也可以使用最陡降线算法优化http://openbabel.org/docs/2.3.1/UseTheLibrary/Python_Pybel.html
molecule_descent=molecule.calcdesc()
molecule.data.update(molecule_descent)
或者局部最优法http://openbabel.org/docs/2.3.1/UseTheLibrary/Python_PybelAPI.html#pybel.Molecule.localopt
localopt(forcefield='mmff94', steps=500)
相关文章推荐
- ubuntu 下 cocos2dx游戏引擎搭建 编译和使用(可以在linux桌面 安卓手机运行)
- 使用Jquery来实现可以输入值的下拉选单 雏型
- Android 使用变形矩阵实现可以拖拽,缩放,旋转的图像
- 使用nginx如何让一个tomcat下的多个应用可以被多个域名绑定
- 还是mui的日期选择插件使用,可以在弹出日期选择之前提问他是否想修改
- Ubuntu 下误改sudoers权限 导致无法使用sudo解决 (忘记root密码时也可以这...
- (Leetcode)判断一个图是否是可以拓扑排序的——使用Queue
- 为什么Java同包目录下的类不需要引入就可以直接使用
- 为什么其他类没继承System类 ,也可以直接使用System.exit()方法??
- eclipse的源代码编辑窗口可以拖出来单独使用的哦
- 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站
- Windows Form 应用程序里也可以使用Cache数据
- Win10 th2正式版可以直接更新这和和使用ISO有何区别?
- 使用YYAnimatedImageView加载GIF图,并且可以控制只播放一次
- IOS 6已经可以使用个人热点了!
- 经测试可以使用的rtsp流地址
- 在WEB-INF下的某个页面里使用<jsp:include page="/WEB-INF/personal/yhhead.jsp">,竟然可以访问到
- Apache 使用localhost(127.0.0.1)可以访问,使用本机IP(局域网)不能访问
- php使用curl可以get 模拟post
- linux 环境下web工程使用IPv6无法打开界面IPv4却可以