使用openbabel进行小分子底物构象搜索
使用open babel产生小分子多重构象的方法有两种:
1. 使用遗传算法(Genetic algorithm)进行构象搜索,属于系统式搜索最低能量构象的方法
obabel -L conformer 命令可以详细查看conformer插件的使用方法
以下命令可以为小分子产生30个小分子构象,然后使用 -writeconformers 参数将所有的构象写成输出结构文件:
obabel startingConformer.mol2 -O ga_conformers.sdf --conformer --nconf 30 --score rmsd --writeconformers
2. 使用Confab进行构象搜索,属于随机性搜索方法
obabel -L confab 命令可以查看confab的详细用法
obabel <inputfile> -O <outputfile> --confab [confab options]
以下为几个参数的用法信息
| --rcutoff <rmsd> | RMSD cutoff (default 0.5 Angstrom) |
| --ecutoff <energy> | Energy cutoff (default 50.0 kcal/mol) |
| --conf <#confs> | Max number of conformers to test (default is 1 million) |
| --original | Include the input conformation as the first conformer |
| --verbose | Verbose - display information on torsions found |
以下命令会产生至多10000个构象,并包含初始构象( --original ):
obabel TZD.sdf -O confs.sdf --confab --conf --original
3. 使用confabreport format
obabel <inputfile> [-O <outputfile>] -o confabreport -xf <reference_file> [-xr <rmsd>]
obabel -L confabreport 输出帮助信息
Once a file containing conformers has been generated by Confab, the result can be compared to the original input structures or a set of reference structures using this output format. Conformers are matched with reference structures using the molecule title. For every conformer, there should be a reference structure (but not necessarily vice versa).
| -f <filename> | File containing reference structures |
| -r <rmsd> |
RMSD cutoff (default 0.5 Angstrom) The number of structures with conformers within this RMSD cutoff of the reference will be reported. |
详细的使用方法就是如上,但是有的时候,你运行 obabel -L conformer 命令和 obabel -L confab 命令会报没有此插件的错误:
$ obabel -L --confab
--confab is not a recognized plugin type. Those with instances of sub-types loaded are:
charges
descriptors
fingerprints
forcefields
formats
loaders
ops
并且运行产生构象命令时发现只产生一个构象,出现这个错误的原因我在网上查了很久,终于解决了这个问题!
详细查看obabel的安装说明时,发现obabel安装需要以下几个条件:
libxml2 development headers are required to read/write CML files and other XML formats (the libxml2-dev package in Ubuntu) zlib development libraries are required to support reading gzipped files (the zlib1g-dev package in Ubuntu) Eigen version 2 is required if using the language bindings in the release. In addition, if it not present, some API classes (OBAlign, OBConformerSearch) and plugins (the QEq and QTPIE charge models, the conformer operation) will not be available. Eigen may be available through your package manager (the libeigen2-dev package in Ubuntu). Alternatively, Eigen is available from http://eigen.tuxfamily.org. It doesn’t need to be compiled or installed. Just unzip it and specify its location when configuring cmake (see below) using -DEIGEN2_INCLUDE_DIR=whereever. Cairo development libraries are required to support PNG depiction (the libcairo2-dev package in Ubuntu) If using GCC 3.x to compile (and not GCC 4.x), then the Boost headers are required for certain formats (CML, Chemkin, Chemdraw CDX, MDL RXN and RSMI)
发现使用构象搜索功能时,需要安装Eigen2 or Eigen3,如果这两个软件没有安装,将用不了conformers和confab功能。
解决方法:
所以,要解决这个问题的关键,在于安装Eigen2 or Eigen3,下载地址在http://eigen.tuxfamily.org,我下载的是Eigen3
下载得到eigen-eigen-5a0156e40feb.tar.bz2
tar jxvf eigen-eigen-5a0156e40feb.tar.bz2 # 解压
mv eigen-eigen-5a0156e40feb <directory> # 移动解压后的文件夹到自己的目录
解压后的Eigen3就可以使用,无需安装。
得到Eigen3后,重新编译安装openbabel,
$ tar zxvf openbabel-2.4.1.tar.gz # 解压
$ cd openbabel-2.4.1
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=<your openbabel installation directory> -DEIGEN3_INCLUDE_DIR=<your directory prefix>/eigen-eigen-5a0156e40feb
$ make -j2
$ make test
$ make install
添加环境变量后就可以使用。
使用openbabel进行小分子底物构象搜索的更多相关文章
- 百度小程序-接入自然搜索-API提交Url-c#开发
开发百度小程序后,接下来,人们最想做的是让百度更多的录入自家内容.因为小程序资源被索引后,才可能在搜索结果中展现. 百度也提供了小程序的自然搜索提交入口.一共有两种方式: 第一种是用已有的H5网站资源 ...
- nyist oj 19 擅长排列的小明(dfs搜索+STL)
擅长排列的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描写叙述 小明十分聪明.并且十分擅长排列计算.比方给小明一个数字5,他能立马给出1-5按字典序的全排列,假设你想 ...
- Html 小插件5 百度搜索代码2
网页添加百度搜索框代码大全 ★ 用法:在下面选择合适的样式,复制代码到网页中相应位置粘贴即可. ★ 样式一(200×30)代码: <iframe id="baiduframe" ...
- linux 小技巧(磁盘空间搜索)
这里记录一些linux 管理中可能会用到的又容易忘的一些小技巧. linux磁盘写入失败,提示磁盘空间不足.一般都会用df -h 或者df -i看是不是磁盘空间不足或者是inode空间不足.发生这种情 ...
- 前端基础之BOM和DOM和三个小示例(计时器、搜索框、select联动)
一.BOM和DOM JavaScript分为 ECMAScript,DOM,BOM. BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进 ...
- 第一期chrome浏览器的小技巧------《提高搜索效率》
!!! 这次的技巧是:利用chrome提供的设置 提高你的搜索效率 !!! 我们经常遇到问题,搜索的时候很不方便 比如你在百度上搜索一个东西的时候正好没有搜到,那么你想找到这个东西的话,很明显要到其他 ...
- lucene.net 3.0.3、结合盘古分词进行搜索的小例子(转)
lucene.net 3.0.3.结合盘古分词进行搜索的小例子(分页功能) 添加:2013-12-25 更新:2013-12-26 新增分页功能. 更新:2013-12-27 新增按分类查询功能, ...
- Win10无法使用小娜搜索本地应用问题的解决方案
小娜介绍 win10的Cortana小娜是一个功能非常强大的语音和搜索助手,用户可以通过小娜助手搜索任意的文件和应用软件,不过有用户发现win10的小娜搜索不到已安装的本地软件,那么win10小娜助手 ...
- 微信小程序----搜索框input回车搜索事件
在微信小程序里的搜索框,按软键盘回车键触发搜索事件. <input type="text" placeholder="搜索" value="{ ...
随机推荐
- 泡泡一分钟:Motion Planning for a Small Aerobatic Fixed-Wing Unmanned Aerial Vehicle
Motion Planning for a Small Aerobatic Fixed-Wing Unmanned Aerial Vehicle Joshua Levin, Aditya Paranj ...
- python中的日志,logger用法
python中自带logger模块,实现方法有两种,一般使用第二种,更灵活 方法一: import logging # 通过logging.basicConfig完成 logging.basicCon ...
- Mac操作的一些技能
截图功能 通常会用到以下快捷键组合: Command+Shift+3截全屏. Command+Shift+4截屏幕选定部分. Command+Shift+4+空格截取所选窗口 在终端输入如下命令,开启 ...
- AngularJs 常用指令标签
1.ng-app:告诉Angular他应该管理页面的那一部分,可以放在html元素上也可以放在div等标签上 例:<html ng-app="problem"> 2.n ...
- c# List获取重复项
List<Test> t = new List<Test>() { ,name="车辆"}, ,name="车辆"}, ,name=&q ...
- [skill][c][ld][gcc] 明确指定gcc在链接时明确使用静态库
通常,我们这样链接: gcc -o a.out -L/usr/lib/ -ltest a.o 这样它会链接动态库 libtest.so, 可是有时候我们想在静态库与动态库同时存在时,优先使用静态库. ...
- 游戏引擎架构 && windows 核心编程
欲想正人,必先正己. 静坐当思己过,闲谈莫论人非. 垂直同步的作用: 为避免画面撕裂,许多渲染引擎会在交换缓冲区之前,等待显示器的垂直区间消隐,即电子枪重归屏幕上角的时间. 高分辨率计时器的时间漂移 ...
- 转:eclipse maven build、maven install 等区别
原文地址:eclipse maven build.maven install 等区别
- 《Linux 文本处理》- awk 分析 nginx 日志
废话不多说,简单了解一下 awk - 强大的文本分析工具,也就是分析日志 最常用的就是分析日志了吧,做统计什么,这里也拿 nginx 日志来做分析 1:统计出现次数 - 比如状态码出现次数 - 先直接 ...
- Python开发【笔记】:抓包(实时分隔)
抓包 进行linux系统抓包,并且定时分隔防止文件太大 #!/usr/bin/env python # -*- coding:utf-8 -*- import os import sys import ...