python中cock什么意思_[转载]原创脚本逐步实现Autodcock-Vina的虚拟筛选及筛选后分析...

[转载]原创脚本逐步实现Autodcock-Vina的虚拟筛选及筛选后分析

a4c26d1e5885305701be709a3d33442f.png

(2013-07-03 11:31:56)

标签:

转载

Vina是在Autodock4基础上改进的算法,相比autodock4而言,具体优势:准确,并行计算(官网数据):AutoDock

Vina is a new open-source program for drug discovery, molecular docking and

virtual screening, offering multi-core capability, high performance

and enhanced accuracy and ease of use.

相应参考文献:O. Trott, A. J. Olson,

AutoDock Vina: improving the speed and accuracy of docking with a

new scoring function, efficient optimization and multithreading,

Journal of Computational Chemistry 31 (2010)

455-461

最近用了Vina做了一次对接,我只对接了几百个化合物,发现这软件,现在还不太智能,比如说前期处理,对接结果处理,我始终认为与典型的mol2或者sdf格式文件相比,PDBQT+dlg格式文件不是很好处理,最近和一个师弟写了几个脚本程序,用来处理Vina对接问题:主要的程序如下:

对接软件:Autdock-Vina (http://vina.scripps.edu/)

PDBQT生成脚本程序:LigPrep.sh or LigPrep.py (shell 和

python,见附件):可以实现mol2、sdf、PDB、PDBQT等格式文件的虚拟库,转化成Autodock或者Vina需要的单个分子的PDBQT文件,还写了一个插件,自动去除重复分子。

结果处理程序:ARC-1.2.py (Autodock and Vina Result Conversion,

python版本,见附件):实现Dlg文件、单个分子的PDBQT对接结果转化成集成的PDBQT、sdf等格式文件。还可以根据命令提示,提取打分最好的构想及打分,或者排名前十的分子,这对处理大规模虚拟筛选十分关键。

接口程序:Vina-1.4.sh (shell

版本):主要实现自动对接,只要用这个接口就可以实现,就像商业的软件的按钮操作一样,简单方便~

obabel 软件:我们的脚本需要调用此软件里面的插件来实现功能,关于这个插件,现在自己准备后面的时间来写这段代码。

我下面结合具体例子来说:

1、蛋白受体的处理:

这个不需要多说了,ADT或者PyRx,都可以生成受体的PDBQT文件(建议),或者就自己手动生成一个(不建议),然后确定盒子中心。按照Vina的输入文件要去制作.cgf文件,例如:

config.cgf

#######################################################

receptor = rec.pdbqt //受体的名称

center_x = -2

center_y = 0 //盒子的质心

center_z = -4

size_x = 30

size_y = 32 //盒子的大小

size_z = 46

exhaustiveness = 20 //计算的复杂度

cpu = 16 //并行计算

energy_range = 4 //作用能间距等级,这个我到现在也没搞懂

a4c26d1e5885305701be709a3d33442f.png

num_modes = 20 //保留构想数目,这个是cluster之后的结果,实际构想可能很多

#######################################################

2、虚拟库小分子文件的准备

首先把虚拟库转化成mol2格式文件(里面包含很多分子),其实这个处理还需注意一些事项,如加氢、电荷、去除自身小分子、离子、无机盐等等,对接前的构想最好是3D构想

然后启动脚本LigPrep.sh,根据提示操作:

###################################################################

# sh LigPrep.sh [option] argument #

# Usage: LigPrep.sh prepares autodock input files (PDBQT).

# Requirement:

# 1.Ensure that molecules in the input file are of 3D prior to

preparation. //需要小分子的3D构象

# 2.Each molecule should have a unique internal name. //需要小分子唯一的内部名字

# 3.obabel is in use and its environment varible set. //需要安装obabel软件

# Option:

# -i input_file (*.sdf, *.mol2, *.pdb, *.pdbqt)

# -o output_directory (default is '__pdbqt_files__')

# -n Number of molecules to divide into each group

# (default is 1500)

# -h display this message

# -help alias of '-h'

###################################################################

例如:

sh LigPrep.sh -i ***.sdf

(这样就可以生成一个默认的文件夹,里面包含虚拟库的单个小分子的PDBQT格式文件,即可以用于Autodock或者vina进行虚拟筛选)

3、虚拟筛选

启动脚本:vina-1.4.sh

#################################################################

# Usage: #

# sh vina-1.4.sh working_direcotry [option] #

# Option: #

# --help display this message #

# -h alias of "--help" #

# Note: #

# working_directory contains input and output folders. Receptor

file (e.g. receptor.pdbqt ), ligand file(s)

(e.g ligand_01.pdbqt or ligands.mol2 ) and configuration file (e.g

config.cfg) must be put in the "input" folder;

all output files (*_out.pdbqt, *.log and *.txt) will be generated

in the "output" folder.

# The hierarchy relationship of the above folders and files can be

depicted as follow: #

# ROOT

# |__ Group1 Group2 Group3 ... vina vina-1.2.sh

# |__ input

# | ___ *.pdbqt config.cfg

# |__ output

# ___ *_out.pdbqt *.log *.txt

#################################################################

这里面要搞清楚程序放的位置关系:

例如:

sh vina-1.4.sh UCSD/ &

这表明 vina-1.4.sh 和vina这2个程序

放在UCSD这个文件外面,UCSD文件里面有个input文件,里面放的是第一步产生的.cfg文件、蛋白的PDBQT文件,以及第二步产生的小分子的PDBQT文件

运行命令,即可筛选~

这样就在input文件夹同级产生output文件夹,里面就是对接结果,有几个文件解释一下:

all.log : 所有对接进度记录;

all_xtr.txt :所有对接打分记录

best_xtr.txt :所有小分子对接打分最好的记录

4、结果分析:

Vina产生的pdbqt文件和Autodock产生的dlg文件,都可以经过我们写的脚本进行处理,实现数据整合,可以用商业软件处理分析、可视化等等

#################################################################

arc-1.2.py [option] argument

Usage:

arc-1.2.py is an Autodock Result Converter that converts autodock

(AD4 or vina)

output file(s) to SDF file(s) via arcing DLG to PDBQT, modifying

PDBQT and

externally-generated SDF. Either an input file or a folder that

contains input

files is required. The output file or folder is optional, and

default name is

used if not specified.

Option:

-i [input_file] (*.dlg of AD4, *.pdbqt of vina or *.sdf) or

[input_directory]

-o [output_file] (default is *_out.pdbqt, *_mod.pdbqt or *_mod.sdf)

or

[output_directory]

-m [Num]; extract the [Num]th mode/model of each molecule

--mode alias of "-m"

--model alias of "-m"

-h display this message

--help alias of "-h"

#################################################################

例子:

python arc-1.2.py -i ***.dlg -o ***.sdf

(对Autodock产生的dlg文件的处理),sdf文件很多软件都可以打开

python arc-1.2.py -i input_directory -o ***.sdf(对Vina结果进行处理)

除此之外,还可以提取打分最好的分子,排序,等等功能

以上是我对Vina虚拟筛选的总结以及如何使用脚本程序来辅助智能化前处理和结果的后分析,花了一天的时间来准备这个,所有本帖提供的程序

都经过一天的测试,希望对大家有所帮助!

我要谢谢跟着我的一个本科生(SheldonCelan),提供技术支持!

有什么问题可以P me~

QQ:42131899

Phone:15626172279

E-mail:Babybluechina@gmail.com

分享:

a4c26d1e5885305701be709a3d33442f.png喜欢

0

a4c26d1e5885305701be709a3d33442f.png赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Entity Framework 4.1 : 贪婪加载和延迟加载

这篇文章将讨论查询结果的加载控制。 EF4.1 允许控制对象之间的关系,当我们进行查询的时候,哪些关系的数据将会被加载到内存呢?所有相关的对象都需要吗?在一些场合可能有意义,例如,当查询的实体仅仅拥有一个…

python数据结构编程_写给Python编程高手之 数据结构

python视频教程栏目介绍Python编程需要注意的关键点。如何在列表,字典,集合中根据条件筛选数据案例:如何在下列列表data中筛选出大于0的数data [1, -1, 2, 3, 4, 7]复制代码使用filter函数,第一个参数为一个函数,也可…

python编写下载器可暂停_Python编写一个优美的下载器

本文实例为大家分享了python编写下载器的具体代码,供大家参考,具体内容如下 #!/bin/python3# author: lidawei# create: 2016-07-11# version: 1.0# 功能说明:# 从指定的URL将文件取回本地#################################################…

修改页面后获得flag_简单的CTF-从JS中获取flag

本文是一篇从合天网安实验室进行实验操作的笔记,一次非常简单地从JS中获取到flag的操作。1. 进入题目页(10.1.1.219:20123)看到一段话,还有一句很明显的提示语句“The evil url is the passkey”,翻译出来就是损坏的url就是flag。下面的英文…

快速下载助手1.1--添加断点下载

在上一章中实现了多线程的断点下载,将快速下载助手添加断点下载功能,明天实现了速率统计功能 效果图如下: 打印信息如下: 欢迎使用快速下载助手-->并不是线程多就下载的快! 文件夹已经存在 默认的线程个数:3 保存路…

mysql查询自定义数据_实现自定义查询的数据库设计及实现(一)

需求先说一下需求:实现用户自定义的查询,用户可以自定义要查询的列、自定义条件条件、自定义排序。除了查询使用外,还可以使用于各个需要根据条件进行约束的业务,如权限;本设计和实现,很大部分是通过数据库…

java 合并流_Java Stream 流实现合并操作示例

本文实例讲述了Java Stream 流实现合并操作。分享给大家供大家参考,具体如下:1. 前言Java Stream Api提供了很多有用的 Api 让我们很方便将集合或者多个同类型的元素转换为流进行操作。今天我们来看看如何合并 Stream 流。2. Stream 流的合并Stream 流合…

java 去掉 t_java中的“\t”

对于初学者来说,java中的"\t"和空格总是让人迷惑,其实很简单,通过一个例子就能很快明白!比如说打印九九乘法表!先来看用空格的效果!1 package cn.edu.nwpu.java;23 public class MultiplicationT…

java service层 事务_Java高并发秒时啊API之Service层1

---2-1 使用Spring托管Service依赖理论----------------------------spring ioc优势(工厂模式):1.对象创建统一托管2.规范的生命周期管理3.灵活的依赖注入4.一致的获取对象Spring IOC 功能的理解DAO依赖Service依赖最终形成一致访问接口;随意访问依赖对象Spring IOC…

zoj 3720

为什么注释掉的地方是错的&#xff1f; 自己的代码好糟烂..... 直接枚举点 判是否在多边形内 加起来求概率 求面积的时候代码写搓了.... 比不过别人两行的代码 而且到现在还找不到错..... #include <iostream> #include <fstream> #include <cstri…

void在java中是什么意思_java中void什么意思

在java中&#xff0c;void代表的意思是“空”&#xff0c;即“什么都不返回”&#xff0c;在方法申明的时候表示该方法没有返回值。void对应着一个Void类&#xff0c;Void类是用final修饰的&#xff0c;是一个不可实例化的占位符类。之前&#xff0c;在学C的数据类型的时候发现…

《设计模式》-模板模式

玩物丧志啊&#xff01;&#xff01;&#xff01;最近总想着玩&#xff0c;休息&#xff0c;结果又耽误了半个月。。唉&#xff01; 惭愧啊。 今天是设计模式的倒数第二个了。。 虽然前面的 忘得差不多了。不过等看完了 要进行总复习&#xff0c;再复习&#xff0c;再回归&…

一看就会之—利用IIS服务发布网站(实践篇)上

转自&#xff1a;http://blog.csdn.net/zwk626542417/article/details/9796259 概述 IIS全称为互联网信息服务&#xff0c;是由微软公司提供的基于运行MicrosoftWindows的互联网基本服务&#xff0c;今天我们主要来看下如何用win7系统自带的IIS服务来发布我们开发的一个简单的…

xp变量 java_winxp系统设置java环境变量的详细教程

我们都知道想要进行java的程序编辑&#xff0c;就要首先在电脑上设置环境变量&#xff0c;这样才能够运行java程序&#xff0c;下面一起看看xp系统的电脑如何设置java变量。1、设置环境变量之前&#xff0c;我们肯定首先需要安装java&#xff0c;首先&#xff0c;找到你安装jav…

java按钮随机移动_java – 使按钮移动触摸我们触摸的确切位置

我创建了一个应用程序,其中有一个按钮在触摸它时移动.现在对于onTouch,我实现了一个不同的类.有两个类,一个是主要的CircleMActivity.java,另一个是onTouch.现在应用程序运行正常,但有一个问题.当我点击按钮并移动它时它正在移动,但按钮和屏幕触摸之间有一个间隙.我想要的是将它…

MySQL性能优化的最佳经验

今天&#xff0c;数据库的操作越来越成为整个应用的性能瓶颈了&#xff0c;这点对于Web应用尤其明显。关于数据库的性能&#xff0c;这并不只是DBA才需要担心的事&#xff0c;而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构&#xff0c;对操作数据库时&#xf…

jspstudy mysql_使用JspStudy集成环境快速部署jsp项目

标签&#xff1a;1. 安装jdk本人网盘资源&#xff1a;https://yunpan.cn/ckZLNbqxkDYYe (提取码&#xff1a;b5e8)去jdk官网下载最新的jdk: http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html2. 配置环境变量&#xff1a;1) 系统变量→新…

IOS7的蛋疼各种收集

------------------ ios7基于viewController隐藏状态条:通过ViewController重载方法返回枚举值的方法来控制状态栏的隐藏和样式。首先&#xff0c;需要在Info.plist配置文件中&#xff0c;增加键&#xff1a;UIViewControllerBasedStatusBarAppearance&#xff0c;并设置为YES&…

php java c_当PHP、Java、C、C++ 这几种编程语言变成汽车是什么样的场景?

在学习和工作中&#xff0c;人们常常会把各种编程语言拿出来做对比&#xff0c;特别是刚刚开始入门学习IT的同学。实际上&#xff0c;每门语言自己的优缺点有时候也正是语言本身的特性&#xff0c;在学习中&#xff0c;我们更应该关心的是应用场景&#xff0c;哪门语言适合哪个…

C#回顾 - 3.NET的IO:字节流

使用 Stream 类管理字节流 使用 FileStream 类管理文件数据 使用 MemoryStream 类管理内存数据 使用 BufferedSream 类提高流性能 3.1 FileStream MemoryStream Seek 定位&#xff0c;寻址 BufferedStream 3.2 管理应用程序数据 文本、流、字符串和二进制数据 管理文本数据和字…