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}
<think>嗯,用户想了解如何使用AutoDock Vina进行分子对接,需要提供教程或示例。首先,我应该根据提供的引用资料整理一个步骤指南。引用[1]和[2]提到了安装和项目结构,引用[4]有具体的配置参数,而引用[3]讨论了并行化方法。可能用户需要从安装开始,然后准备受体和配体文件,配置对接参数,运行对接,最后分析结果。 需要确认AutoDock Tools是否必须,因为有些用户可能不熟悉它,或者是否有替代方法。比如,使用Open Babel转换文件格式。另外,配置文件参数设置是关键,比如中心坐标和盒子大小,这些需要用户根据具体结构确定,可能需要解释如何获取这些数值,比如使用PyMOL或类似软件测量。 运行命令部分,引用[4]中的示例命令可以直接使用,但需要说明每个参数的意义。结果分析部分,输出文件的结构和如何解读结合模式和能量值也很重要。可能用户还会关心如何优化性能,引用[3]提到了多进程和GPU加速,虽然Vina本身可能不支持GPU,但可以建议多线程或拆分任务并行处理。 最后,生成相关问题时要覆盖安装、参数确定、优化、结果分析以及应用场景,这样用户能进一步探索。需要确保所有步骤清晰,代码示例正确,并且引用正确的来源,比如引用[1]、[4]等。可能还需要提醒用户注意文件格式的正确转换,避免常见错误,比如PDBQT文件的准备是否正确,坐标中心是否准确,这些都会影响对接结果。</think>### AutoDock Vina 分子对接使用教程 #### 一、环境准备 1. 安装 AutoDock Vina 从GitCode镜像仓库获取最新版本(项目地址见引用[^1]): ```bash git clone https://gitcode.com/gh_mirrors/au/AutoDock-Vina cd AutoDock-Vina && make ``` 2. 文件格式要求 - 受体(蛋白)和配体(小分子)需转换为 `.pdbqt` 格式 - 使用 AutoDock Tools 或 Open Babel 进行格式转换[^4] #### 二、对接配置 1. 创建配置文件 `config.txt` ```bash receptor = protein.pdbqt ligand = ligand.pdbqt center_x = -11.3 # 对接区域中心坐标 center_y = -9.2 center_z = 14.4 size_x = 10.0 # 对接盒子尺寸(单位:Å) size_y = 12.5 size_z = 12.5 num_modes = 9 # 输出结合模式数量 energy_range = 4 # 能量范围阈值 ``` (参数来源见引用) 2. 坐标确定方法 使用 PyMOL 或 Chimera 查看受体活性口袋的三维坐标,通过可视化软件测量中心位置 #### 三、运行对接 执行命令(多核加速可添加 `--cpu 8` 参数): ```bash vina --config config.txt --log result.log ``` 输出文件包含结合模式(`ligand_out.pdbqt`)和打分值(`result.log`) #### 四、结果解析 1. 查看结合能 ```text -----+------------+----------+---------- MODE | AFFINITY | DISTANCE | RMSD | (kcal/mol) | FROM BEST| (A) -----+------------+----------+---------- 1 -7.1 0 0.0 2 -6.8 1.23 1.5 ``` AFFINITY 值越小表示结合越强[^4] 2. 可视化分析 使用 PyMOL 加载受体和配体构象,观察氢键、疏水作用等相互作用模式 #### 五、性能优化 1. 并行计算:通过 Python 多进程拆分任务(代码示例见引用[^3]) 2. 参数调优:缩小对接盒子尺寸可减少计算时间(需保证覆盖活性位点)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值