AutoDock Vina与LeDock对接口袋参数文件互转

AutoDock Vina与LeDock对接口袋参数文件互转

1. AutoDock Vina与LeDock简介

AutoDock Vina 是一个用于进行分子对接的开源程序。它最初是由分子图形实验室(现为CCSB)设计和实现。与 AutoDock 4 相比,AutoDock Vina 显着提高了结合模式预测的平均准确度和对接速度。受到X-Score启发,其打分方程是一种混合函数(经验+基于知识的函数)。

LeDock是苏黎世大学ZHAO Hongtao博士开发的一款分子对接软件,在构象搜索和打分方程中均呈现出优势。LeDock采用模拟退火-遗传算法交叉的算法进行构象搜索,对接打分涵盖范德华相互作用(vdw),静电相互作用(Coulombic interaction),氢键贡献(Hbond)以及分子间(inter-)和配体分子内(intra-)的冲突(clash)几项的和做为打分方程。

2. AutoDock Vina与LeDock口袋参数

2.1. AutoDock Vina口袋参数:vian.in

receptor=5tf9_pro.pdbqt
center_x=21.408
center_y=12.224
center_z=8.102
size_x=22.374
size_y=16.942
size_z=22.009

2.2. LeDock口袋参数:dock.in

Receptor 5tf9_pro.pdb

RMSD
1.0

Binding pocket
11.67 33.078
10.83 23.054
17.958 26.06

Number of binding poses 20

Ligands list ligands

END

2.3 口袋选取原理(基于配体)

以小分子配体为中心,向外扩展一定距离(extending)形成的口袋位置。首先获取小分子的坐标后取得X/Y/Z的最大(max)、最小值(min),然后用最小值减去扩展距离、最大值加扩展距离。LeDock对接软件的口袋参数文件如2.2中所示,在Binding pocket行后的三行中,以最终加减过扩展距离后X/Y/Z各自的“最小值 最大值”定义了最终的口袋大小。而AutoDock Vina是在此基础上对最大值和最小值进行换算获得最终的Size和Center值。如下面图片来自GetBox-PyMOL-Plugin
在这里插入图片描述
a. LeDock对接口袋计算原理

minX = minX - float(extending) 
minY = minY - float(extending)  
minZ = minZ - float(extending)  
maxX = maxX + float(extending)  
maxY = maxY + float(extending)  
maxZ = maxZ + float(extending)  

b. AutoDock Vina对接口袋计算原理

SizeX = maxX - minX
SizeY = maxY - minY
SizeZ = maxZ - minZ
CenterX =  (maxX + minX)/2
CenterY =  (maxY + minY)/2
CenterZ =  (maxZ + minZ)/2

3. AutoDock Vina口袋参数文件转换为LeDock

3.1 转化命令

python vina2ledock.py vina.in

3.2 转化脚本vina2ledock.py

import sys
with open(sys.argv[1], 'r') as f:
    pocket = f.readlines()
    receptor_QT=pocket[0].split('=')[1]
    receptor=receptor_QT.split('qt')[0]
    center_x=pocket[1].split('=')[1]
    center_y=pocket[2].split('=')[1]
    center_z=pocket[3].split('=')[1]
    size_x=pocket[4].split('=')[1]
    size_y=pocket[5].split('=')[1]
    size_z=pocket[6].split('=')[1]
f.close()
max_x=float(center_x)+float(size_x)/2
min_x=float(center_x)-float(size_x)/2

max_y=float(center_y)+float(size_y)/2
min_y=float(center_y)-float(size_y)/2

max_z=float(center_z)+float(size_z)/2
min_z=float(center_z)-float(size_z)/2

with open('./dock.in','w+') as file_out:
    print('Receptor\n{}'.format(receptor), file=file_out)
    print('\nRMSD\n1.0\n\nBinding pocket', file=file_out)
    print('{}'.format(round(min_x,3)), '{}'.format(round(max_x,3)), file=file_out)
    print('{}'.format(round(min_y,3)), '{}'.format(round(max_y,3)), file=file_out)
    print('{}'.format(round(min_z,3)), '{}'.format(round(max_z,3)), file=file_out)
    print('\nNumber of binding poses\n20\n\nLigands list\nligands\n\nEND', file=file_out)
file_out.close()

4. LeDock口袋参数文件转换为AutoDock Vina

4.1 转化命令

bash docktovian.sh dock.in

4.2 转化脚本docktovian.sh

#!/bin/bash
rcpt=`cat $1 |grep -i -A 1 "Receptor"`
rcpt_name=`echo ${rcpt}|awk {'print $2'}`
echo "receptor = " ${rcpt_name}qt

bdst=`cat $1 |grep -i -A 3 "Binding pocket"`
min_x=`echo ${bdst}|awk '{print $3}'`
max_x=`echo ${bdst}|awk '{print $4}'`
min_y=`echo ${bdst}|awk '{print $5}'`
max_y=`echo ${bdst}|awk '{print $6}'`
min_z=`echo ${bdst}|awk '{print $7}'`
max_z=`echo ${bdst}|awk '{print $8}'`

center_x_1=`expr ${max_x%.*} + ${min_x%.*}` 
center_x=`expr ${center_x_1} / 2`
echo center_x = ${center_x}

center_y_1=`expr ${max_y%.*} + ${min_y%.*}`
center_y=`expr ${center_y_1} / 2`
echo center_y = ${center_y} 

center_z_1=`expr ${max_z%.*} + ${min_z%.*}`
center_z=`expr ${center_z_1} / 2`
echo center_z = ${center_z} 

size_x=`expr ${max_x%.*} - ${min_x%.*}`
echo size_x = ${size_x}

size_y=`expr ${max_y%.*} - ${min_y%.*}`
echo size_y = ${size_y}

size_z=`expr ${max_z%.*} - ${min_z%.*}`
echo size_z = ${size_z}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Autodock Vina 是一款常用的分子对接软件,可以用于计算分子间的相互作用力和能量,从而预测小分子与靶标蛋白的结合方式和亲和力。下面是使用 Autodock Vina 进行批量对接的步骤: 1. 准备数据:需要有待对接的小分子和靶标蛋白的pdb文件,以及Autodock Vina的执行文件和配置文件。 2. 准备目录:在一个新的工作目录下,新建三个文件夹,分别为 ligands、receptor 和 output,将待对接的小分子文件放在 ligands 目录下,将靶标蛋白文件放在 receptor 目录下。 3. 编写配置文件:新建一个名为 config.txt 的文本文件,写入以下内容: ``` receptor = receptor/your_protein.pdbqt center_x = 0.00 center_y = 0.00 center_z = 0.00 size_x = 20.00 size_y = 20.00 size_z = 20.00 out = output/your_output_file.pdbqt ``` 其中,your_protein.pdbqt 为靶标蛋白的pdbqt文件名,your_output_file.pdbqt 为输出文件名。 4. 执行批量对接:在命令行窗口中切换到工作目录下,输入以下命令进行批量对接: ``` for ligand in ligands/*.pdbqt do echo Processing $ligand ./vina --config config.txt --ligand $ligand done ``` 其中,ligands/*.pdbqt 表示对 ligands 目录下的所有小分子文件进行对接。 5. 查看结果:对接完成后,在 output 目录下可以找到生成的 pdbqt 文件,用分子可视化软件打开即可查看对接结果。 需要注意的是,Autodock Vina 对接的结果并不一定是最优解,需要结合实验结果和其他计算方法进行验证和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值