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)
或者局部最优法http://openbabel.org/docs/2.3.1/UseTheLibrary/Python_PybelAPI.html#pybel.Molecule.localopt
localopt(forcefield='mmff94', steps=500)
pybel是Python中用于化学信息学的库,能够进行化学结构转换、力场优化和指纹计算。本文介绍了如何安装pybel及其依赖的openbabel,并展示了如何利用UFF力场对分子进行初步结构优化。

893

被折叠的 条评论
为什么被折叠?



