使用Autodock Vina进行分子对接
AutoDock Vina 是一个用于进行分子对接的开源程序,由Molecular Graphics Lab的Oleg Trott博士开发。根据Oleg Trott等人测试结果,与 AutoDock 4 相比,AutoDock Vina 显着提高了结合模式预测的准确度。此外,Vina 可以利用系统上的多个CPU 内核来显着缩短其运行时间。
一、安装
1. 安装Auto Docking Vina
从http://vina.scripps.edu/download/ Auto Docking Vina下载页面下载Linux版本。我这里是Ubuntu18.0系统
解压:tar xzvf autodock_vina_1_1_2_linux_x86.tgz
得到autodock_vina_1_1_2_linux_x86
文件夹,
./autodock_vina_1_1_2_linux_x86/bin/vina
为执行程序,或./vina
即可运行vina程序,结果如下图:
Docking之前需要对小分子和蛋白受体进行准备,包括小分子3维构象的生成,PDB文件转化为pdbqt文件,添加H原子,添加autodocking特有的AD4原子类型,甚至还包括一些键的柔性这些。这些准备过程有大量的工具可以使用,主要是openbabel和MGLtools。
2. 安装open babel -V
可以使用conda安装,也可以源码编译安装。即使是使用conda安装,安装完以后其实也不依赖于conda环境,直接在命令行中输入obabel -V
也是可以运行的。如果采用Python中调包的形式,则要在特定的conda环境中。
我的安装方式:conda install -c openbabel openbabel
3. 安装mgltools
由于我们用的是没有图形界面的ubuntu系统,所以MGLtools安装命令行版本即可。从https://ccsb.scripps.edu/mgltools/downloads/ 下载mgltools_x86_64Linux2_1.5.7.tar.gz (Linux 64 tarball installer 108Mb)
安装包。
注意,直接wget安装包会有问题。将安装包迁移至指定路径,然后解压,例如:
tar -axvf mgltools_x86_64Linux2_1.5.7.tar_.gz #解压
cd mgltools_x86_64Linux2_1.5.7/ #进入安装文件夹
sudo bash install.sh #安装
pwd #当前的工作路径,/home/ubuntu/wufeil/Deepchem-RDKit/Autodock_Vina/MGLtools-install/mgltools_x86_64Linux2_1.5.7
添加环境变量,建立alias链接,在~/.bashrc中添加(使用sudo用户):
export PATH=/home/ubuntu/wufeil/Deepchem-RDKit/Autodock_Vina/MGLtools-install/mgltools_x86_64Linux2_1.5.7/bin:$PATH
alias pmv='/home/ubuntu/wufeil/Deepchem-RDKit/Autodock_Vina/MGLtools-install/mgltools_x86_64Linux2_1.5.7/bin/pmv'
alias adt='/home/ubuntu/wufeil/Deepchem-RDKit/Autodock_Vina/MGLtools-install/mgltools_x86_64Linux2_1.5.7/bin/adt'
alias vision='/home/ubuntu/wufeil/Deepchem-RDKit/Autodock_Vina/MGLtools-install/mgltools_x86_64Linux2_1.5.7/bin/vision'
alias pythonsh='/home/ubuntu/wufeil/Deepchem-RDKit/Autodock_Vina/MGLtools-install/mgltools_x86_64Linux2_1.5.7/bin/pythonsh'
注:/home/ubuntu/wufeil/Deepchem-RDKit/Autodock_Vina/
是我的安装目录,大家可以根据自己的情况自行指定。
保存后刷新initMGLtools.sh
文件。刷新完以后,输入pythonsh
则可以使用MGLTools的Python环境(MGLTools是自带Python环境的)。
由于MGLtools工具自带Python编译器,为了不与其他Python环境造成冲突,所以需要修改当前路径下MGLToolsPckgs/AutoDockTools/Utilities24
文件夹下的py脚本。例如:
vim ./MGLToolsPckgs/AutoDockTools/Utilities24/prepare_receptor4.py
将第一行替换为:
#!/usr/bin/env /home/ubuntu/wufeil/Deepchem-RDKit/Autodock_Vina/MGLtools-install/mgltools_x86_64Linux2_1.5.7/bin/python
再次注明,注:/home/ubuntu/wufeil/Deepchem-RDKit/Autodock_Vina/
是我的安装目录,大家可以根据自己的情况自行指定。
prepare_ligand4.py
文件也一样修改第一行。
二、使用Vina进行分子对接(基本对接)
这里的基本对接指的是单分子的对接。而不是分子库,如果是分子库就更复杂一些,需要循环语句+多线程,如果有资源可以使用集群进行对接,可那就更复杂了,具体可以参考我以后的内容。
使用Vina进行分子对接的流程如下图。
简单来说,蛋白质受体文件预处理且保存成pdbqt格式,小分子预处理且也要保存成pdbqt格式,然后对接中心需要指定。
pdbqt 格式类似于 pdb 格式,但还包含有关哪些扭转应处于活动状态以及为每个原子分配的电荷的信息。 Vina 和 Smina 不使用与 Autodock 相同的评分函数,并且在默认评分函数中根本不使用电荷。
1. 使用pymol删除不必要的水原子和重原子,添加H原子,保存成PDB文件
以1OYT蛋白为例,注:1OYT为单链分子。
在pymol的命令行下输入如下内容:
remove resn HOH #删除水分子
h_add elem O or elem N #给N原子和O原子加氢
select 1OYT-FSN, resn FSN #选择小分子
select 1OYT-receptor, 1OYT and not 1OYT-FSN #选择配体蛋白
save 1OYT.pdb, 1OYT-receptor #保存蛋白配体
save mol.pdb, 1OYT-FSN #保存小分子
2.使用MGLtools将PDB文件转化为vina需要的pdbqt文件格式
首先要先确认Utilities24
文件夹的路径,我这里是:/home/ubuntu/wufeil/Deepchem-RDKit/Autodock_Vina/MGLtools-install/mgltools_x86_64Linux2_1.5.7/MGLToolsPckgs/AutoDockTools/Utilities24
。在使用的时候可以先cd到相应的文件夹中去。然后使用如下命令将受体文件1OYT.pdb
生成1OYT.pdbqt
:
pythonsh /home/ubuntu/wufeil/Deepchem-RDKit/Autodock_Vina/MGLtools-install/mgltools_x86_64Linux2_1.5.7/MGLToolsPckgs/AutoDockTools/Utilities24/prepare_receptor4.py -r 1OYT.pdb
将小分子文件生成pdbqt
文件(-l 配体文件名,支持.pdb
or .mol2
or .pdbq
; -F
检查并使用最大的非共价片段; -A
修补添加bonds_hydrogens, bonds, hydrogens等,需要参数,默认是不修补的)
pythonsh /home/ubuntu/wufeil/Deepchem-RDKit/Autodock_Vina/MGLtools-install/mgltools_x86_64Linux2_1.5.7/MGLToolsPckgs/AutoDockTools/Utilities24/prepare_ligand4.py -l 1a3w-mol.pdb -F -A hydrogens
3.使用openbabel将PDB文件转化为vina需要的pdbqt文件格式
Open-babel 可以快速为我们提供了两个需要的 .pdbqt
文件。例如:
obabel 1OYT-FSN.pdb -O 1OYT-FSN.pdbqt
obabel 1OYT-receptor.pdb -xr -O 1OYT-receptor.pdbqt
4.使用vina进行分子对接
对接前需要先写config.txt
文件。文件中可以写入docking
需要的一些参数,当然这些参数也可以在vina命令时候输入。
例如,config.txt,我写入:
center_x = 17.057
center_y = -6.468
center_z = 23.461
size_x = 15.0
size_y = 15.0
size_z = 15.0
执行命令,进行对接:
./autodock_vina_1_1_2_linux_x86/bin/vina --ligand 1OYT-FEN.pdbqt --receptor 1OYT-receptor.pdbqt --exhaustiveness 32 --config config.txt --out result.pdbqt
三、对接结果
对接结果如下图:
上述是对接一个分子的过程,再具体的案例中,如何对接100万个分子,如果这些分子没有生成三维构象呢?对接一个分子需要1~10秒,那么对接100万的分子,显然在单台机子上难以完成,或者耗时很长。如果有大规模对接需求可以私信我。
使用Autodock Vina进行分子对接相关推荐
- 基于AutoDock进行全局分子对接筛选结合位点
1 研究背景 通过文献调研已经人凝血酶蛋白有四个潜在的结合位点,分别为位于His57和Asp102周围的活性位点,Na离子通道位点(Cys 168.Cys 182.Trp 215.Phe 227.Tr ...
- Linux中autoduck批量对接,利用AutoDOCK进行分子对接(一)
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 分子对接(Moleculer-docking)理论 分子对接就是两个或多个分子之间通过几何匹配和能量匹配相互识别找到最佳 ...
- Linux中autoduck批量对接,科学网—用AutoDock进行分子对接教程——半柔性对接 - 杜文义的博文...
以下所有内容均属于个人学习过程中的总结,如有错误,欢迎批评指正! Autodock分子对接教程 First release:2017-12-20 Last update: 2018-07-24 Au ...
- Linux中autoduck批量对接,求助:关于autodock模拟分子对接
飞小天 autodock是目前最流行的分子对接软件之一,因为开源免费,所以被学术界大量使用,并且出现了在autodock开源代码基础上改进的文章,比如改进打分函数,改进搜索算法(模拟退火,遗传算法)等 ...
- 分子对接教程 | (6) AutoDock对接操作与对接结果解读
TCGA | GEO | 文献阅读 | 数据库 | 理论知识 R语言 | Bioconductor | 服务器与Linux 接前文: 分子对接教程 | (1) 软件安装准备 分子对接教程 | (2) ...
- autodock无map文件_“分子对接技术”之使用AutoDock进行半柔性对接教程
Autodock是一款开源的分子模拟软件,最主要应用于执行配体-蛋白分子对接.它由Scripps研究所的Olson实验室开发与维护,官方网址是http://autodock.scripps.edu/, ...
- AutoDock分子对接
分子对接 一.题目要求 自己寻找一个受体+药物分子复合物体系(不同配体结合3-4个),然后拿复合物结构作为起始,做对接实验. 软件自选,Dock, AutoDock- 二.操作过程记录及结果 1.软件 ...
- 学习Autodock分子对接
下载相关软件包: 一个python2.5版本(用conda下载不了,最低是2.7版) 配置./python2.5/Tools/Scripts到环境变量path里 windows下配置临时的环境变量,这 ...
- Autodock分子对接详细步骤
Autodock蛋白配体对接主要包括两部分:一是蛋白和小分子配体的预处理.二是蛋白和配体对接.其详细步骤及注意事项如下. 一.蛋白和配体预处理 1.小分子预处理: 1.1 下载:ZINC或TCMSP官 ...
最新文章
- python中的float和eval_python中eval和float_python中eval与json.loads对json的处理
- cppunit helloworld详尽篇
- Linux学习笔记6——文本处理相关命令
- Python GUI编程(Tkinter)笔记
- 1323. 6 和 9 组成的最大数字
- 2022.管理类软件工具
- Sci-Hub又又又被起诉了!这个论文免费下载网站也太难了...
- Mac下安装git极简教程
- 在项目中如何做图片优化
- 变量之间的相关性度量
- Zemax 快捷键及使用技巧(持续更新中)
- 利用PS的磁性套索工具进行抠图
- 苹果怎么清理隐藏内存?全新手机技巧,还不会的亏大了!
- InterSystems开发者竞赛:InterSystems IRIS Analytics
- win10睡眠按啥键唤醒_win10关闭屏幕后无法唤醒怎么办?电脑黑屏只能重启的解决方法...
- RTX30系列-Ubuntu系统配置与深度学习环境Pytorch配置
- 判断一个月之前的是星期几
- 挖个坑 - 魔法画图工具的设计
- lisp和python_给Lisp程序员的Python简介
- 74hc165并行口转串口芯片学习