Bohrium
robot
新建

空间站广场

论文
Notebooks
比赛
课程
Apps
我的主页
我的Notebooks
我的论文库
我的足迹

我的工作空间

任务
节点
文件
数据集
镜像
项目
数据库
公开
使用Uni-Dock v1.1新版本开展分子对接:持续加速、优化体验、拥抱开源
docking
Uni-Dock
python
dockingUni-Dockpython
yuanyn@dp.tech
发布于 2024-02-28
推荐镜像 :unidock-tools:v1.1.0_ipykernel
推荐机型 :c8_m32_1 * NVIDIA V100
赞 1
3
Uni-Dock-TestData(v6)


Author: Yannan Yuan
Create Time:2024-02-29
License:BY-NC-SA 4.0

代码
文本

近日,高性能分子对接软件Uni-Dock发布了v1.1版本,该版本结合了近半年众多开发者贡献的新特征,进一步提高的了分子对接和虚拟筛选的效率,相比v1.0版本提升1.4倍左右。同时,本次更新还重构了Uni-Dock Tools工具包,集成了和提供了效果更好和更加易用的分子对接功能和应用;并且发布了Uni-Dock Benchmarks基准测试集,供用户进行测试比较。

代码
文本

Uni-Dock v1.1的性能评测效果如下图:

代码
文本
Image 1 Image 2
代码
文本

下面为Uni-Dock和Uni-Dock Tools的使用教程:

代码
文本

1. Uni-Dock

代码
文本

本次Uni-Dock v1.1的更新内容为:

  • 使用CUDA stream轻量化地实现单分子对接的快速计算
  • 为 GPU kernel设定合适的launch bound以规避寄存器溢出问题
  • 为对接核心算法蒙特卡洛模拟实现了Warp-level并行优化,进一步提升资源利用率以加速计算
  • 优化任务调度策略:按照配体原子数及可旋转键数量分类并使用模版生成相应的计算代码,在保持代码可读性良好的同时节省每个配体占用的显存空间,进一步提升单个批次内计算的配体数目;针对此优化更新显存预估方法,提升了显存的有效利用率,对于配体尺寸分散的小分子数据库有明显加速

以下,我们将主要基于Uni-Dock Benchmarks标准数据集,进行Uni-Dock的单分子和多分子对接。

代码
文本

1.1 单分子对接

代码
文本

Uni-Dock支持PDBQT格式的蛋白受体和PDBQT格式或者做过前处理(后续介绍)的SDF格式的小分子配体作为输入。

我们先以标准测试集中Astex的1G9V体系演示单分子对接:

代码
文本
已隐藏单元格
代码
文本
已隐藏单元格
receptor path: /bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_receptor.pdbqt
ligand path: /bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_ligand_prep.sdf
pocket info: {'center_x': 30.768664705882355, 'center_y': -29.17124705882353, 'center_z': 6.988747058823528, 'size_x': 14.530600000000003, 'size_y': 18.629199999999997, 'size_z': 14.5071}
output dir: single_docking_dir
代码
文本

单分子对接时,选择使用fast模式和vina打分函数生成10个pose,使用的命令如下:

代码
文本
[3]
search_mode = "fast"
scoring = "vina"
refine_step = 3
num_modes = 10
seed = 181129

cmd = [
"unidock",
"--receptor", str(receptor),
"--gpu_batch", str(ligand),
"--center_x", f"{pocket['center_x']:.4f}",
"--center_y", f"{pocket['center_y']:.4f}",
"--center_z", f"{pocket['center_z']:.4f}",
"--size_x", f"{pocket['size_x']:.4f}",
"--size_y", f"{pocket['size_y']:.4f}",
"--size_z", f"{pocket['size_z']:.4f}",
"--dir", str(out_dir),
"--search_mode", search_mode,
"--scoring", scoring,
"--num_modes", str(num_modes),
"--refine_step", str(refine_step),
"--seed", str(seed),
"--keep_nonpolar_H",
"--verbosity", "2",
]
print(f"cmd: \n{' '.join(cmd)}")
cmd: 
unidock --receptor /bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_receptor.pdbqt --gpu_batch /bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_ligand_prep.sdf --center_x 30.7687 --center_y -29.1712 --center_z 6.9887 --size_x 14.5306 --size_y 18.6292 --size_z 14.5071 --dir single_docking_dir --search_mode fast --scoring vina --num_modes 10 --refine_step 3 --seed 181129 --keep_nonpolar_H --verbosity 2
代码
文本
[4]
start_time = time.time()
resp = sp.run(cmd, capture_output=True, encoding="utf-8")
cost_time = time.time() - start_time
print(resp.stdout)
if resp.returncode != 0:
print(resp.stderr)

result_ligand = os.path.join(out_dir, f"{pdbid}_ligand_prep_out.sdf")
assert os.path.exists(result_ligand), "failed to generate docking output file"

print(f"Cost Time: {cost_time} seconds")
Uni-Dock v1.1.0

If you used Uni-Dock in your work, please cite:               
 
Yu, Y., Cai, C., Wang, J., Bo, Z., Zhu, Z., & Zheng, H. (2023). 
Uni-Dock: GPU-Accelerated Docking Enables Ultralarge Virtual Screening. 
Journal of Chemical Theory and Computation.                    
https://doi.org/10.1021/acs.jctc.2c01145                       

Tang, S., Chen, R., Lin, M., Lin, Q., Zhu, Y., Ding, J., ... & Wu, J. (2022). 
Accelerating autodock vina with gpus. Molecules, 27(9), 3041. 
DOI 10.3390/molecules27093041                                 

J. Eberhardt, D. Santos-Martins, A. F. Tillack, and S. Forli  
AutoDock Vina 1.2.0: New Docking Methods, Expanded Force      
Field, and Python Bindings, J. Chem. Inf. Model. (2021)       
DOI 10.1021/acs.jcim.1c00203                                  

O. Trott, A. J. Olson,                                        
AutoDock Vina: improving the speed and accuracy of docking    
with a new scoring function, efficient optimization and        
multithreading, J. Comp. Chem. (2010)                         
DOI 10.1002/jcc.21334                                         

Please refer to https://github.com/dptech-corp/Uni-Dock/ for  
bug reporting, license agreements, and more information.      

Scoring function : vina
Rigid receptor: /bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_receptor.pdbqt
Grid center: X 30.7687 Y -29.1712 Z 6.9887
Grid size  : X 14.5306 Y 18.6292 Z 14.5071
Grid space : 0.375
Exhaustiveness: 128
CPU: 0
Verbosity: 2

Computing Vina grid ... done.
Total ligands: 1
Set GPU device id to 0
Available Memory = 15840MiB   Total Memory = 16150MiB
all_ligands.size():1
max_num_atoms31
max_num_torsions:5
max_num_rigids:1
max_num_lig_pairs:56
Small Group:
Max num_atoms: -2147483648 Max num_torsions: -2147483648 Max num_rigids: -2147483648 Max num_lig_pairs: -2147483648
Group size: 0
Medium Group:
Max num_atoms: -2147483648 Max num_torsions: -2147483648 Max num_rigids: -2147483648 Max num_lig_pairs: -2147483648
Group size: 0
Large Group:
Max num_atoms: -2147483648 Max num_torsions: -2147483648 Max num_rigids: -2147483648 Max num_lig_pairs: -2147483648
Group size: 0
Extra Large Group:
Max num_atoms: 31 Max num_torsions: 5 Max num_rigids: 1 Max num_lig_pairs: 56
Group size: 1
Extra Large
Max num_atoms: 31 Max num_torsions: 5 Max num_rigids: 1 Max num_lig_pairs: 56
Group size: 1
Extra Large Batch 1 size: 1
Performing docking (random seed: 181129) ... Time spend on GPU is 222.076538 ms
Kernel running time: 492
done.
ENERGY FROM SEARCH: -10.322
FINAL ENERGY: 
Estimated Free Energy of Binding   : -8.123 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -9.785 (kcal/mol)
    Ligand - Receptor              : -9.785 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.535 (kcal/mol)
    Ligand                         : -0.535 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 1.662 (kcal/mol)
(4) Unbound System's Energy        : -0.535 (kcal/mol)
ENERGY FROM SEARCH: -10.027
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.881 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -9.720 (kcal/mol)
    Ligand - Receptor              : -9.720 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.308 (kcal/mol)
    Ligand                         : -0.308 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 1.613 (kcal/mol)
(4) Unbound System's Energy        : -0.535 (kcal/mol)
ENERGY FROM SEARCH: -9.135
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.136 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -8.609 (kcal/mol)
    Ligand - Receptor              : -8.609 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.522 (kcal/mol)
    Ligand                         : -0.522 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 1.460 (kcal/mol)
(4) Unbound System's Energy        : -0.535 (kcal/mol)
ENERGY FROM SEARCH: -9.072
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.086 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -8.532 (kcal/mol)
    Ligand - Receptor              : -8.532 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.540 (kcal/mol)
    Ligand                         : -0.540 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 1.450 (kcal/mol)
(4) Unbound System's Energy        : -0.535 (kcal/mol)
ENERGY FROM SEARCH: -8.660
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.745 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -8.225 (kcal/mol)
    Ligand - Receptor              : -8.225 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.435 (kcal/mol)
    Ligand                         : -0.435 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 1.380 (kcal/mol)
(4) Unbound System's Energy        : -0.535 (kcal/mol)
ENERGY FROM SEARCH: -8.642
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.731 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -8.101 (kcal/mol)
    Ligand - Receptor              : -8.101 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.542 (kcal/mol)
    Ligand                         : -0.542 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 1.377 (kcal/mol)
(4) Unbound System's Energy        : -0.535 (kcal/mol)
ENERGY FROM SEARCH: -8.546
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.651 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -8.078 (kcal/mol)
    Ligand - Receptor              : -8.078 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.469 (kcal/mol)
    Ligand                         : -0.469 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 1.361 (kcal/mol)
(4) Unbound System's Energy        : -0.535 (kcal/mol)
ENERGY FROM SEARCH: -8.511
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.624 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.989 (kcal/mol)
    Ligand - Receptor              : -7.989 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.525 (kcal/mol)
    Ligand                         : -0.525 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 1.355 (kcal/mol)
(4) Unbound System's Energy        : -0.535 (kcal/mol)
ENERGY FROM SEARCH: -8.367
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.499 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.942 (kcal/mol)
    Ligand - Receptor              : -7.942 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.422 (kcal/mol)
    Ligand                         : -0.422 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 1.330 (kcal/mol)
(4) Unbound System's Energy        : -0.535 (kcal/mol)
ENERGY FROM SEARCH: -8.296
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.443 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.865 (kcal/mol)
    Ligand - Receptor              : -7.865 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.432 (kcal/mol)
    Ligand                         : -0.432 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 1.318 (kcal/mol)
(4) Unbound System's Energy        : -0.535 (kcal/mol)

mode |   affinity | dist from best mode
     | (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
   1      -8.1234     0.0000     0.0000
   2      -7.8809     0.2394     1.1694
   3      -7.1356     3.7120     5.7747
   4      -7.0864     3.7523     5.7900
   5      -6.7453     4.1275     6.3272
   6      -6.7312     3.8499     5.8646
   7      -6.6512     2.9769     4.4581
   8      -6.6236     2.9475     4.4028
   9      -6.4987     3.9629     5.2110
  10      -6.4428     2.6552     3.6583
poses saveing time: 16
Batch 1 running time: 1202ms

Cost Time: 2.3191583156585693 seconds
代码
文本

在fast模式下该分子完成对接只需要不到3秒

代码
文本

接下来我们将通过计算与标准小分子的rmsd评估Uni-Dock计算得到的构象准确度

代码
文本
[5]
from rdkit.Chem import AllChem as Chem
from rdkit.Chem import rdMolAlign


def calc_rmsd(
ref_ligand: Path,
target_ligand: Path,
):
ref_mol = Chem.SDMolSupplier(str(ref_ligand), removeHs=True)[0]
target_mol = Chem.SDMolSupplier(str(target_ligand), removeHs=True)
return [rdMolAlign.CalcRMS(ref_mol, tmol) for tmol in target_mol]


label_ligand = ligand = Path(f"{datadir}/{pdbid}_ligand_ori.sdf")

print(calc_rmsd(label_ligand, result_ligand))

shutil.rmtree(out_dir, ignore_errors=True)
[0.4935751840935086, 0.4258999730674131, 5.707517076679511, 5.737334622709501, 6.184880776253539, 5.775594444373873, 4.302455426026071, 4.3056295551152965, 5.020285862320169, 3.5550901292455053]
代码
文本

由计算结果可知,Uni-Dock产生的最好构象能达到与标准配体相比RMSD值小于2.0的效果。

代码
文本

2.2 虚拟筛选

代码
文本

Uni-Dock v1.1对于一次输入多个分子做了性能优化,接下来我们以标准测试集中的D4数据集进行试验。对于多个小分子的输入,Uni-Dock接受输入一个文本文件,每行为一个小分子文件的路径,因此我们需要将数据集中的actives.sdfinactives.sdf都拆成单个sdf文件,并将文件路径写入一个文本文件中:

代码
文本
已隐藏单元格
Total Ligand Num of D4 dataset: 820
代码
文本

多分子对接场景下,使用fast模式和vina打分函数,使用命令如下:

代码
文本
[7]
with open(f"{datadir}/docking_grid.json", "r") as f:
pocket = json.load(f)

out_dir = "vs_output_dir"
os.makedirs(out_dir, exist_ok=True)

cmd = [
"unidock",
"--receptor", str(receptor),
"--ligand_index", f"{inputs_dir}/ligand_list.txt",
"--center_x", f"{pocket['center_x']:.4f}",
"--center_y", f"{pocket['center_y']:.4f}",
"--center_z", f"{pocket['center_z']:.4f}",
"--size_x", f"{pocket['size_x']:.4f}",
"--size_y", f"{pocket['size_y']:.4f}",
"--size_z", f"{pocket['size_z']:.4f}",
"--dir", str(out_dir),
"--search_mode", search_mode,
"--scoring", scoring,
"--num_modes", str(num_modes),
"--refine_step", str(refine_step),
"--seed", str(seed),
"--keep_nonpolar_H",
"--verbosity", "2",
]
print(f"cmd: \n{' '.join(cmd)}")
cmd: 
unidock --receptor /bohr/uni-dock-testdata-tn4t/v6/data/virtual_screening/D4/5WIU_receptor.pdbqt --ligand_index vs_inputs_dir/ligand_list.txt --center_x -18.0000 --center_y 15.2000 --center_z -17.0000 --size_x 25.0000 --size_y 25.0000 --size_z 25.0000 --dir vs_output_dir --search_mode fast --scoring vina --num_modes 10 --refine_step 3 --seed 181129 --keep_nonpolar_H --verbosity 2
代码
文本
[8]
start_time = time.time()
resp = sp.run(cmd, capture_output=True, encoding="utf-8")
cost_time = time.time() - start_time
if resp.returncode != 0:
print(resp.stdout)
print(resp.stderr)

result_ligands = glob.glob(os.path.join(out_dir, "*_out.sdf"))
print(f"Result ligand num: {len(result_ligands)}")

print(f"Cost Time: {cost_time} seconds")
print(f"Average Time per Ligand: {cost_time / len(result_ligands)}")
Result ligand num: 820
Cost Time: 98.77068972587585 seconds
Average Time per Ligand: 0.12045206064131202
代码
文本

对于D4数据集总计820个小分子,Uni-Dock用时不到100秒,平均每个小分子用时小于0.15秒,远快于单个小分子的速度。

代码
文本

我们还可以根据数据集小分子的是否有活性以及对接分数来评估Uni-Dock对小分子活性的富集能力,计算过程和结果如下:

代码
文本
已隐藏单元格
top 0.5% enrichment factor: 2.9156
top 1.0% enrichment factor: 2.4296
top 5.0% enrichment factor: 2.0444
top 10.0% enrichment factor: 1.8222
top 20.0% enrichment factor: 1.4667
代码
文本
[10]
shutil.rmtree(inputs_dir, ignore_errors=True)
shutil.rmtree(out_dir, ignore_errors=True)
代码
文本

2. Uni-Dock Tools

代码
文本

除了Uni-Dock v1.1的更新,我们还重构了Uni-Dock Tools的代码,现在,该工具包基于Uni-Dock集成了一系列与对接相关的功能和端到端的Uni-Dock流程,以及增强构象采样能力的新对接功能MultiConfDock,下面将对这些功能进行介绍:

代码
文本

Uni-Dock Tools的安装依赖和方法见: Uni-Dock Tools

notebook推荐镜像中已经安装好了相关包,所以下面将跳过安装流程直接使用

代码
文本

2.1 蛋白准备

代码
文本

Uni-Dock需要输入PDBQT格式的受体蛋白,而计算过程中最常用的蛋白格式为PDB,因此我们提供了快速对PDB格式蛋白进行准备并转化为对接所需的PDBQT格式的应用,命令如下:

代码
文本
[11]
receptor_pdb = "/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_receptor.pdb"
receptor_pdbqt = "output.pdbqt"

cmd = f"unidocktools proteinprep -r {receptor_pdb} -o {receptor_pdbqt}"
print(f"Command: {cmd}")

resp = sp.run(cmd, shell=True, capture_output=True, encoding="utf-8")
print(resp.stdout)
if resp.returncode != 0:
print(resp.stderr)

assert os.path.exists(receptor_pdbqt), "failed to get PDBQT protein"
Path(receptor_pdbqt).unlink(missing_ok=True)
Command: unidocktools proteinprep -r /bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_receptor.pdb -o output.pdbqt
[INFO][2024-03-01 18:27:26,442][main.py 28] [Params] {'cmd': 'proteinprep', 'receptor_file': '/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_receptor.pdb', 'output_file': 'output.pdbqt'}

代码
文本
双击即可修改
代码
文本

2.2 配体准备

代码
文本

上面的介绍有提到,Uni-Dock支持特殊处理过的SDF格式配体小分子文件,Uni-Dock Tools中就集成了处理这些小分子的能力供Uni-Dock使用,命令如下:

代码
文本
[12]
input_ligand = "/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_ligand_ori.sdf"
prepared_dir = "prepared_ligands"
os.makedirs(prepared_dir, exist_ok=True)

cmd = f"unidocktools ligandprep -l {input_ligand} -sd {prepared_dir} -ufn"
print(f"Command: {cmd}")

resp = sp.run(cmd, shell=True, capture_output=True, encoding="utf-8")
print(resp.stdout)
if resp.returncode != 0:
print(resp.stderr)

result_ligand = os.path.join(prepared_dir, "1J3J_ligand_ori.sdf")

assert os.path.exists(result_ligand), "ligandprep failed"
shutil.rmtree(prepared_dir, ignore_errors=True)
Command: unidocktools ligandprep -l /bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_ligand_ori.sdf -sd prepared_ligands -ufn
[INFO][2024-03-01 18:27:30,763][main.py 28] [Params] {'cmd': 'ligandprep', 'ligands': ['/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_ligand_ori.sdf'], 'ligand_index': '', 'savedir': 'prepared_ligands', 'batch_size': 1200, 'use_file_name': True}

代码
文本

3.3 Uni-Dock Pipeline

代码
文本

结合上面介绍的蛋白和配体准备能力,Uni-Dock Tools直接整合了端到端的Uni-Dock流程,从而实现从最常用的PDB格式蛋白受体和常用格式小分子配体完成对接流程并保留所需结果数量的过程,命令如下:

代码
文本
[13]
receptor = "/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_receptor.pdb"
ligand = "/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_ligand_ori.sdf"
with open(f"/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/docking_grid.json", "r") as f:
pocket = json.load(f)

results_dir = "docking_results"
os.makedirs(results_dir, exist_ok=True)

cmd = f"unidocktools unidock_pipeline -r {receptor} -l {ligand} -sd {results_dir} \
-cx {pocket['center_x']} -cy {pocket['center_y']} -cz {pocket['center_z']} -sx {pocket['size_x']} -sy {pocket['size_y']} -sz {pocket['size_z']} \
-sf vina -ex 128 -ms 20 -rs 3 -nm 10 -topn 2"
print(f"Command: {cmd}")

resp = sp.run(cmd, shell=True, capture_output=True, encoding="utf-8")
print(resp.stdout)
if resp.returncode != 0:
print(resp.stderr)

result_ligand = os.path.join(results_dir, "1J3J_ligand_ori.sdf")

assert os.path.exists(result_ligand), "docking pipeline failed"
shutil.rmtree(results_dir, ignore_errors=True)
Command: unidocktools unidock_pipeline -r /bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_receptor.pdb -l /bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_ligand_ori.sdf -sd docking_results   -cx 30.768664705882355 -cy -29.17124705882353 -cz 6.988747058823528 -sx 14.530600000000003 -sy 18.629199999999997 -sz 14.5071   -sf vina -ex 128 -ms 20 -rs 3 -nm 10 -topn 2
[INFO][2024-03-01 18:27:34,002][main.py 28] [Params] {'cmd': 'unidock_pipeline', 'receptor': '/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_receptor.pdb', 'ligands': ['/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_ligand_ori.sdf'], 'ligand_index': '', 'center_x': 30.768664705882355, 'center_y': -29.17124705882353, 'center_z': 6.988747058823528, 'size_x': 14.530600000000003, 'size_y': 18.629199999999997, 'size_z': 14.5071, 'workdir': 'unidock_pipeline_hsgzb', 'savedir': 'docking_results', 'batch_size': 20, 'scoring_function': 'vina', 'exhaustiveness': 128, 'max_step': 20, 'num_modes': 10, 'refine_step': 3, 'topn': 2}
[INFO][2024-03-01 18:27:34,003][unidock_pipeline.py 193] [UniDock Pipeline] 1 ligands found.
[INFO][2024-03-01 18:27:34,003][unidock_pipeline.py 195] [UniDock Pipeline] Start
[DEBUG][2024-03-01 18:27:34,176][logger.py 34] [FUNC build_topology]: 0.04 seconds
[INFO][2024-03-01 18:27:34,176][unidock_pipeline.py 208] [UniDock Pipeline] Start docking
[DEBUG][2024-03-01 18:27:34,177][logger.py 34] [FUNC init_docking_data]: 0.00 seconds
[INFO][2024-03-01 18:27:34,178][unidock.py 86] unidock cmd: ['unidock', '--receptor', '/unidock_pipeline_hsgzb/1J3J_receptor.pdbqt', '--ligand_index', 'unidock_20240301182734/ligand_index_krxr.txt', '--dir', '/unidock_pipeline_hsgzb/docking_results_20240301182734', '--exhaustiveness', '128', '--max_step', '20', '--center_x', '30.768664705882355', '--center_y', '-29.17124705882353', '--center_z', '6.988747058823528', '--size_x', '14.530600000000003', '--size_y', '18.629199999999997', '--size_z', '14.5071', '--scoring', 'vina', '--num_modes', '10', '--energy_range', '3.0', '--refine_step', '3', '--verbosity', '2', '--keep_nonpolar_H']
[INFO][2024-03-01 18:27:36,004][unidock.py 196] Run Uni-Dock log: Uni-Dock v1.1.0

If you used Uni-Dock in your work, please cite:               
 
Yu, Y., Cai, C., Wang, J., Bo, Z., Zhu, Z., & Zheng, H. (2023). 
Uni-Dock: GPU-Accelerated Docking Enables Ultralarge Virtual Screening. 
Journal of Chemical Theory and Computation.                    
https://doi.org/10.1021/acs.jctc.2c01145                       

Tang, S., Chen, R., Lin, M., Lin, Q., Zhu, Y., Ding, J., ... & Wu, J. (2022). 
Accelerating autodock vina with gpus. Molecules, 27(9), 3041. 
DOI 10.3390/molecules27093041                                 

J. Eberhardt, D. Santos-Martins, A. F. Tillack, and S. Forli  
AutoDock Vina 1.2.0: New Docking Methods, Expanded Force      
Field, and Python Bindings, J. Chem. Inf. Model. (2021)       
DOI 10.1021/acs.jcim.1c00203                                  

O. Trott, A. J. Olson,                                        
AutoDock Vina: improving the speed and accuracy of docking    
with a new scoring function, efficient optimization and        
multithreading, J. Comp. Chem. (2010)                         
DOI 10.1002/jcc.21334                                         

Please refer to https://github.com/dptech-corp/Uni-Dock/ for  
bug reporting, license agreements, and more information.      

Scoring function : vina
Rigid receptor: /unidock_pipeline_hsgzb/1J3J_receptor.pdbqt
Grid center: X 30.7687 Y -29.1712 Z 6.98875
Grid size  : X 14.5306 Y 18.6292 Z 14.5071
Grid space : 0.375
Exhaustiveness: 128
CPU: 0
Verbosity: 2

Computing Vina grid ... done.
Total ligands: 1
Set GPU device id to 0
Available Memory = 15840MiB   Total Memory = 16150MiB
all_ligands.size():1
max_num_atoms17
max_num_torsions:2
max_num_rigids:2
max_num_lig_pairs:56
Small Group:
Max num_atoms: -2147483648 Max num_torsions: -2147483648 Max num_rigids: -2147483648 Max num_lig_pairs: -2147483648
Group size: 0
Medium Group:
Max num_atoms: -2147483648 Max num_torsions: -2147483648 Max num_rigids: -2147483648 Max num_lig_pairs: -2147483648
Group size: 0
Large Group:
Max num_atoms: -2147483648 Max num_torsions: -2147483648 Max num_rigids: -2147483648 Max num_lig_pairs: -2147483648
Group size: 0
Extra Large Group:
Max num_atoms: 17 Max num_torsions: 2 Max num_rigids: 2 Max num_lig_pairs: 56
Group size: 1
Extra Large
Max num_atoms: 17 Max num_torsions: 2 Max num_rigids: 2 Max num_lig_pairs: 56
Group size: 1
Extra Large Batch 1 size: 1
Performing docking (random seed: -1102399137) ... Time spend on GPU is 172.109543 ms
Kernel running time: 443
done.
ENERGY FROM SEARCH: -8.33187
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.003 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.821 (kcal/mol)
    Ligand - Receptor              : -7.821 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.511 (kcal/mol)
    Ligand                         : -0.511 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.819 (kcal/mol)
(4) Unbound System's Energy        : -0.511 (kcal/mol)
ENERGY FROM SEARCH: -8.124
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.817 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.583 (kcal/mol)
    Ligand - Receptor              : -7.583 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.542 (kcal/mol)
    Ligand                         : -0.542 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.797 (kcal/mol)
(4) Unbound System's Energy        : -0.511 (kcal/mol)
ENERGY FROM SEARCH: -8.085
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.784 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.662 (kcal/mol)
    Ligand - Receptor              : -7.662 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.426 (kcal/mol)
    Ligand                         : -0.426 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.793 (kcal/mol)
(4) Unbound System's Energy        : -0.511 (kcal/mol)
ENERGY FROM SEARCH: -8.019
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.720 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.502 (kcal/mol)
    Ligand - Receptor              : -7.502 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.515 (kcal/mol)
    Ligand                         : -0.515 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.786 (kcal/mol)
(4) Unbound System's Energy        : -0.511 (kcal/mol)
ENERGY FROM SEARCH: -7.984
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.686 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.484 (kcal/mol)
    Ligand - Receptor              : -7.484 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.495 (kcal/mol)
    Ligand                         : -0.495 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.782 (kcal/mol)
(4) Unbound System's Energy        : -0.511 (kcal/mol)
ENERGY FROM SEARCH: -7.953
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.661 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.481 (kcal/mol)
    Ligand - Receptor              : -7.481 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.469 (kcal/mol)
    Ligand                         : -0.469 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.779 (kcal/mol)
(4) Unbound System's Energy        : -0.511 (kcal/mol)
ENERGY FROM SEARCH: -7.886
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.605 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.450 (kcal/mol)
    Ligand - Receptor              : -7.450 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.437 (kcal/mol)
    Ligand                         : -0.437 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.772 (kcal/mol)
(4) Unbound System's Energy        : -0.511 (kcal/mol)
ENERGY FROM SEARCH: -7.833
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.557 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.333 (kcal/mol)
    Ligand - Receptor              : -7.333 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.501 (kcal/mol)
    Ligand                         : -0.501 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.767 (kcal/mol)
(4) Unbound System's Energy        : -0.511 (kcal/mol)
ENERGY FROM SEARCH: -7.587
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.331 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.392 (kcal/mol)
    Ligand - Receptor              : -7.392 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : -0.190 (kcal/mol)
    Ligand                         : -0.190 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.740 (kcal/mol)
(4) Unbound System's Energy        : -0.511 (kcal/mol)

mode |   affinity | dist from best mode
     | (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
   1      -7.0026     0.0000     0.0000
   2      -6.8172     3.8888     5.8843
   3      -6.7838     0.4993     1.2590
   4      -6.7202     4.0330     5.8695
   5      -6.6864     4.4580     6.6206
   6      -6.6606     3.8441     5.9018
   7      -6.6046     2.9449     4.5331
   8      -6.5566     2.9062     4.3872
   9      -6.3307     3.3443     4.5395
poses saveing time: 13
Batch 1 running time: 767ms

[DEBUG][2024-03-01 18:27:36,005][logger.py 34] [FUNC run_unidock]: 1.83 seconds
[DEBUG][2024-03-01 18:27:36,007][unidock_pipeline.py 120] 1J3J_ligand_ori
[DEBUG][2024-03-01 18:27:36,007][unidock_pipeline.py 121] [(<rdkit.Chem.rdchem.Mol object at 0x7fd0cb81bca0>, -7.003), (<rdkit.Chem.rdchem.Mol object at 0x7fd0cb81bd80>, -6.817), (<rdkit.Chem.rdchem.Mol object at 0x7fd0cb81bdf0>, -6.784), (<rdkit.Chem.rdchem.Mol object at 0x7fd0cb81be60>, -6.72), (<rdkit.Chem.rdchem.Mol object at 0x7fd0cb81bed0>, -6.686), (<rdkit.Chem.rdchem.Mol object at 0x7fd0cb81bf40>, -6.661), (<rdkit.Chem.rdchem.Mol object at 0x7fd0cb71c040>, -6.605), (<rdkit.Chem.rdchem.Mol object at 0x7fd0cb71c0b0>, -6.557), (<rdkit.Chem.rdchem.Mol object at 0x7fd0cb71c120>, -6.331)]
[DEBUG][2024-03-01 18:27:36,007][mol_group.py 72] {'1J3J_ligand_ori': 0}
[DEBUG][2024-03-01 18:27:36,008][mol_group.py 80] {'1J3J_ligand_ori': 0}
[DEBUG][2024-03-01 18:27:36,008][logger.py 34] [FUNC postprocessing]: 0.00 seconds
[DEBUG][2024-03-01 18:27:36,008][logger.py 34] [FUNC run_unidock]: 1.83 seconds
[DEBUG][2024-03-01 18:27:36,009][logger.py 34] [FUNC save_results]: 0.00 seconds
[INFO][2024-03-01 18:27:36,009][unidock_pipeline.py 220] UniDock Pipeline finished (2.01 s)

代码
文本

3.4 Uni-Dock Tools还提供了一种基于前置构象采样增强对接效果的功能MultiConfDock(下面将简写为mcdock),该方法的详细介绍和细节均可见MultiConfDock

我们提供了一键跑完mcdock的应用,使用方法如下:

代码
文本
[14]
receptor = "/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_receptor.pdb"
ligand = "/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_ligand_ori.sdf"
with open(f"/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/docking_grid.json", "r") as f:
pocket = json.load(f)

results_dir = "mc_results"
os.makedirs(results_dir, exist_ok=True)

cmd = f"unidocktools mcdock -r {receptor} -l {ligand} -sd {results_dir} -g \
-cx {pocket['center_x']} -cy {pocket['center_y']} -cz {pocket['center_z']} -sx {pocket['size_x']} -sy {pocket['size_y']} -sz {pocket['size_z']} \
-sf_rd vina -ex_rd 128 -ms_rd 20 -rs_rd 5 -nm_rd 3 -topn_rd 3 -sf_lr vina -ex_lr 512 -ms_lr 40 -rs_lr 5 -nm_lr 3 -topn_lr 3"
print(f"Command: {cmd}")

resp = sp.run(cmd, shell=True, capture_output=True, encoding="utf-8")
print(resp.stdout)
if resp.returncode != 0:
print(resp.stderr)

result_ligand = os.path.join(results_dir, "1J3J_ligand_ori.sdf")

assert os.path.exists(result_ligand), "docking pipeline failed"
shutil.rmtree(results_dir, ignore_errors=True)
Command: unidocktools mcdock -r /bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_receptor.pdb -l /bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_ligand_ori.sdf -sd mc_results -g   -cx 30.768664705882355 -cy -29.17124705882353 -cz 6.988747058823528 -sx 14.530600000000003 -sy 18.629199999999997 -sz 14.5071   -sf_rd vina -ex_rd 128 -ms_rd 20 -rs_rd 5 -nm_rd 3 -topn_rd 3 -sf_lr vina -ex_lr 512 -ms_lr 40 -rs_lr 5 -nm_lr 3 -topn_lr 3
[INFO][2024-03-01 18:27:41,566][main.py 28] [Params] {'cmd': 'mcdock', 'receptor': '/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_receptor.pdb', 'ligands': ['/bohr/uni-dock-testdata-tn4t/v6/data/molecular_docking/Astex/1J3J/1J3J_ligand_ori.sdf'], 'ligand_index': '', 'gen_conf': True, 'max_num_confs_per_ligand': 200, 'min_rmsd': 0.3, 'center_x': 30.768664705882355, 'center_y': -29.17124705882353, 'center_z': 6.988747058823528, 'size_x': 14.530600000000003, 'size_y': 18.629199999999997, 'size_z': 14.5071, 'workdir': 'mcdock_jsoft', 'savedir': 'mc_results', 'batch_size': 20, 'scoring_function_rigid_docking': 'vina', 'exhaustiveness_rigid_docking': 128, 'max_step_rigid_docking': 20, 'num_modes_rigid_docking': 3, 'refine_step_rigid_docking': 5, 'topn_rigid_docking': 3, 'exhaustiveness_local_refine': 512, 'max_step_local_refine': 40, 'scoring_function_local_refine': 'vina', 'num_modes_local_refine': 3, 'refine_step_local_refine': 5, 'topn_local_refine': 3}
[INFO][2024-03-01 18:27:41,568][mcdock.py 92] [MultiConfDock] 1 ligands found.
[INFO][2024-03-01 18:27:41,568][mcdock.py 94] [MultiConfDock] Start
[DEBUG][2024-03-01 18:27:41,735][logger.py 34] [FUNC build_topology]: 0.03 seconds
[DEBUG][2024-03-01 18:27:42,233][cdpkit.py 48] 
[INFO][2024-03-01 18:27:42,234][cdpkit.py 55] ConfGen generated 2 conformers
[DEBUG][2024-03-01 18:27:42,235][logger.py 34] [FUNC generate_conformation]: 0.50 seconds
[INFO][2024-03-01 18:27:42,235][mcdock.py 110] [MultiConfDock] Start rigid docking
[DEBUG][2024-03-01 18:27:42,235][logger.py 34] [FUNC init_docking_data]: 0.00 seconds
[INFO][2024-03-01 18:27:42,237][unidock.py 86] unidock cmd: ['unidock', '--receptor', '/mcdock_jsoft/1J3J_receptor.pdbqt', '--ligand_index', 'unidock_20240301182742/ligand_index_qsqd.txt', '--dir', '/mcdock_jsoft/docking_results_20240301182742', '--exhaustiveness', '128', '--max_step', '20', '--center_x', '30.768664705882355', '--center_y', '-29.17124705882353', '--center_z', '6.988747058823528', '--size_x', '14.530600000000003', '--size_y', '18.629199999999997', '--size_z', '14.5071', '--scoring', 'vina', '--num_modes', '3', '--energy_range', '3.0', '--refine_step', '5', '--verbosity', '2', '--keep_nonpolar_H']
[INFO][2024-03-01 18:27:44,132][unidock.py 196] Run Uni-Dock log: Uni-Dock v1.1.0

If you used Uni-Dock in your work, please cite:               
 
Yu, Y., Cai, C., Wang, J., Bo, Z., Zhu, Z., & Zheng, H. (2023). 
Uni-Dock: GPU-Accelerated Docking Enables Ultralarge Virtual Screening. 
Journal of Chemical Theory and Computation.                    
https://doi.org/10.1021/acs.jctc.2c01145                       

Tang, S., Chen, R., Lin, M., Lin, Q., Zhu, Y., Ding, J., ... & Wu, J. (2022). 
Accelerating autodock vina with gpus. Molecules, 27(9), 3041. 
DOI 10.3390/molecules27093041                                 

J. Eberhardt, D. Santos-Martins, A. F. Tillack, and S. Forli  
AutoDock Vina 1.2.0: New Docking Methods, Expanded Force      
Field, and Python Bindings, J. Chem. Inf. Model. (2021)       
DOI 10.1021/acs.jcim.1c00203                                  

O. Trott, A. J. Olson,                                        
AutoDock Vina: improving the speed and accuracy of docking    
with a new scoring function, efficient optimization and        
multithreading, J. Comp. Chem. (2010)                         
DOI 10.1002/jcc.21334                                         

Please refer to https://github.com/dptech-corp/Uni-Dock/ for  
bug reporting, license agreements, and more information.      

Scoring function : vina
Rigid receptor: /mcdock_jsoft/1J3J_receptor.pdbqt
Grid center: X 30.7687 Y -29.1712 Z 6.98875
Grid size  : X 14.5306 Y 18.6292 Z 14.5071
Grid space : 0.375
Exhaustiveness: 128
CPU: 0
Verbosity: 2

Computing Vina grid ... done.
Total ligands: 2
Set GPU device id to 0
Available Memory = 15840MiB   Total Memory = 16150MiB
all_ligands.size():2
max_num_atoms17
max_num_torsions:2
max_num_rigids:2
max_num_lig_pairs:58
Small Group:
Max num_atoms: -2147483648 Max num_torsions: -2147483648 Max num_rigids: -2147483648 Max num_lig_pairs: -2147483648
Group size: 0
Medium Group:
Max num_atoms: -2147483648 Max num_torsions: -2147483648 Max num_rigids: -2147483648 Max num_lig_pairs: -2147483648
Group size: 0
Large Group:
Max num_atoms: -2147483648 Max num_torsions: -2147483648 Max num_rigids: -2147483648 Max num_lig_pairs: -2147483648
Group size: 0
Extra Large Group:
Max num_atoms: 17 Max num_torsions: 2 Max num_rigids: 2 Max num_lig_pairs: 58
Group size: 2
Extra Large
Max num_atoms: 17 Max num_torsions: 2 Max num_rigids: 2 Max num_lig_pairs: 58
Group size: 2
Extra Large Batch 1 size: 2
Performing docking (random seed: -1892794516) ... Time spend on GPU is 187.510880 ms
Kernel running time: 459
done.
ENERGY FROM SEARCH: 0.142693
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.178 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.178 (kcal/mol)
    Ligand - Receptor              : -7.178 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.317 (kcal/mol)
    Ligand                         : 7.317 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.317 (kcal/mol)
ENERGY FROM SEARCH: 0.463
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.853 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.205 (kcal/mol)
    Ligand - Receptor              : -7.205 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.669 (kcal/mol)
    Ligand                         : 7.669 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.317 (kcal/mol)
ENERGY FROM SEARCH: 0.465
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.867 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -6.962 (kcal/mol)
    Ligand - Receptor              : -6.962 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.412 (kcal/mol)
    Ligand                         : 7.412 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.317 (kcal/mol)

mode |   affinity | dist from best mode
     | (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
   1      -7.1783     0.0000     0.0000
   2      -6.8672     3.1548     5.8074
   3      -6.8529     3.3147     4.8063
ENERGY FROM SEARCH: 0.2407
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.123 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.123 (kcal/mol)
    Ligand - Receptor              : -7.123 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.348 (kcal/mol)
    Ligand                         : 7.348 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.348 (kcal/mol)
ENERGY FROM SEARCH: 0.302
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.069 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.260 (kcal/mol)
    Ligand - Receptor              : -7.260 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.538 (kcal/mol)
    Ligand                         : 7.538 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.348 (kcal/mol)
ENERGY FROM SEARCH: 0.315
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.054 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.097 (kcal/mol)
    Ligand - Receptor              : -7.097 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.392 (kcal/mol)
    Ligand                         : 7.392 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.348 (kcal/mol)

mode |   affinity | dist from best mode
     | (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
   1      -7.1229     0.0000     0.0000
   2      -7.0695     3.4070     5.9286
   3      -7.0537     2.7611     4.0995
poses saveing time: 7
Batch 1 running time: 796ms

[DEBUG][2024-03-01 18:27:44,133][logger.py 34] [FUNC run_unidock]: 1.90 seconds
[DEBUG][2024-03-01 18:27:44,135][unidock_pipeline.py 120] 1J3J_ligand_ori
[DEBUG][2024-03-01 18:27:44,135][unidock_pipeline.py 121] [(<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf1d20>, -7.123), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf3d80>, -7.123), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf3ca0>, -7.069), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf3df0>, -7.069), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf3d10>, -7.054), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf3e60>, -7.054)]
[DEBUG][2024-03-01 18:27:44,135][mol_group.py 72] {'1J3J_ligand_ori': 0}
[DEBUG][2024-03-01 18:27:44,136][mol_group.py 80] {'1J3J_ligand_ori': 0}
[DEBUG][2024-03-01 18:27:44,136][logger.py 34] [FUNC postprocessing]: 0.00 seconds
[DEBUG][2024-03-01 18:27:44,136][logger.py 34] [FUNC run_unidock]: 1.90 seconds
[INFO][2024-03-01 18:27:44,136][mcdock.py 120] [MultiConfDock] Start local refine
[DEBUG][2024-03-01 18:27:44,137][logger.py 34] [FUNC init_docking_data]: 0.00 seconds
[INFO][2024-03-01 18:27:44,139][unidock.py 86] unidock cmd: ['unidock', '--receptor', '/mcdock_jsoft/1J3J_receptor.pdbqt', '--ligand_index', 'unidock_20240301182744/ligand_index_zhvm.txt', '--dir', '/mcdock_jsoft/docking_results_20240301182744', '--exhaustiveness', '512', '--max_step', '40', '--center_x', '30.768664705882355', '--center_y', '-29.17124705882353', '--center_z', '6.988747058823528', '--size_x', '14.530600000000003', '--size_y', '18.629199999999997', '--size_z', '14.5071', '--scoring', 'vina', '--num_modes', '3', '--energy_range', '3.0', '--refine_step', '5', '--verbosity', '2', '--keep_nonpolar_H', '--local_only']
[INFO][2024-03-01 18:27:46,119][unidock.py 196] Run Uni-Dock log: Uni-Dock v1.1.0

If you used Uni-Dock in your work, please cite:               
 
Yu, Y., Cai, C., Wang, J., Bo, Z., Zhu, Z., & Zheng, H. (2023). 
Uni-Dock: GPU-Accelerated Docking Enables Ultralarge Virtual Screening. 
Journal of Chemical Theory and Computation.                    
https://doi.org/10.1021/acs.jctc.2c01145                       

Tang, S., Chen, R., Lin, M., Lin, Q., Zhu, Y., Ding, J., ... & Wu, J. (2022). 
Accelerating autodock vina with gpus. Molecules, 27(9), 3041. 
DOI 10.3390/molecules27093041                                 

J. Eberhardt, D. Santos-Martins, A. F. Tillack, and S. Forli  
AutoDock Vina 1.2.0: New Docking Methods, Expanded Force      
Field, and Python Bindings, J. Chem. Inf. Model. (2021)       
DOI 10.1021/acs.jcim.1c00203                                  

O. Trott, A. J. Olson,                                        
AutoDock Vina: improving the speed and accuracy of docking    
with a new scoring function, efficient optimization and        
multithreading, J. Comp. Chem. (2010)                         
DOI 10.1002/jcc.21334                                         

Please refer to https://github.com/dptech-corp/Uni-Dock/ for  
bug reporting, license agreements, and more information.      

Scoring function : vina
Rigid receptor: /mcdock_jsoft/1J3J_receptor.pdbqt
Grid center: X 30.7687 Y -29.1712 Z 6.98875
Grid size  : X 14.5306 Y 18.6292 Z 14.5071
Grid space : 0.375
Exhaustiveness: 512
CPU: 0
Verbosity: 2

Computing Vina grid ... done.
Total ligands: 3
Set GPU device id to 0
Available Memory = 15840MiB   Total Memory = 16150MiB
all_ligands.size():3
max_num_atoms17
max_num_torsions:2
max_num_rigids:2
max_num_lig_pairs:58
Small Group:
Max num_atoms: -2147483648 Max num_torsions: -2147483648 Max num_rigids: -2147483648 Max num_lig_pairs: -2147483648
Group size: 0
Medium Group:
Max num_atoms: -2147483648 Max num_torsions: -2147483648 Max num_rigids: -2147483648 Max num_lig_pairs: -2147483648
Group size: 0
Large Group:
Max num_atoms: -2147483648 Max num_torsions: -2147483648 Max num_rigids: -2147483648 Max num_lig_pairs: -2147483648
Group size: 0
Extra Large Group:
Max num_atoms: 17 Max num_torsions: 2 Max num_rigids: 2 Max num_lig_pairs: 58
Group size: 3
Extra Large
Max num_atoms: 17 Max num_torsions: 2 Max num_rigids: 2 Max num_lig_pairs: 58
Group size: 3
Extra Large Batch 1 size: 3
Performing docking (random seed: 124470447) ... Time spend on GPU is 321.401276 ms
Kernel running time: 607
done.
ENERGY FROM SEARCH: 0.133703
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.178 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.178 (kcal/mol)
    Ligand - Receptor              : -7.178 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.301 (kcal/mol)
    Ligand                         : 7.301 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.301 (kcal/mol)
ENERGY FROM SEARCH: 0.318
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.958 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.075 (kcal/mol)
    Ligand - Receptor              : -7.075 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.418 (kcal/mol)
    Ligand                         : 7.418 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.301 (kcal/mol)
ENERGY FROM SEARCH: 0.443
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.841 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.039 (kcal/mol)
    Ligand - Receptor              : -7.039 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.499 (kcal/mol)
    Ligand                         : 7.499 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.301 (kcal/mol)

mode |   affinity | dist from best mode
     | (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
   1      -7.1775     0.0000     0.0000
   2      -6.9577     3.3923     5.7588
   3      -6.8409     3.3076     4.5500
ENERGY FROM SEARCH: 0.1668
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.133 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.133 (kcal/mol)
    Ligand - Receptor              : -7.133 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.293 (kcal/mol)
    Ligand                         : 7.293 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.293 (kcal/mol)
ENERGY FROM SEARCH: 0.195
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.086 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.108 (kcal/mol)
    Ligand - Receptor              : -7.108 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.315 (kcal/mol)
    Ligand                         : 7.315 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.293 (kcal/mol)
ENERGY FROM SEARCH: 0.431
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.874 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.021 (kcal/mol)
    Ligand - Receptor              : -7.021 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.440 (kcal/mol)
    Ligand                         : 7.440 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.293 (kcal/mol)

mode |   affinity | dist from best mode
     | (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
   1      -7.1334     0.0000     0.0000
   2      -7.0864     3.4773     5.8756
   3      -6.8743     3.2984     4.5807
ENERGY FROM SEARCH: 0.1338
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.171 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.171 (kcal/mol)
    Ligand - Receptor              : -7.171 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.297 (kcal/mol)
    Ligand                         : 7.297 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.297 (kcal/mol)
ENERGY FROM SEARCH: 0.244
FINAL ENERGY: 
Estimated Free Energy of Binding   : -7.043 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.054 (kcal/mol)
    Ligand - Receptor              : -7.054 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.308 (kcal/mol)
    Ligand                         : 7.308 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.297 (kcal/mol)
ENERGY FROM SEARCH: 0.385
FINAL ENERGY: 
Estimated Free Energy of Binding   : -6.896 (kcal/mol) [=(1)+(2)+(3)+(4)]
(1) Final Intermolecular Energy    : -7.056 (kcal/mol)
    Ligand - Receptor              : -7.056 (kcal/mol)
    Ligand - Flex side chains      : 0.000 (kcal/mol)
(2) Final Total Internal Energy    : 7.457 (kcal/mol)
    Ligand                         : 7.457 (kcal/mol)
    Flex   - Receptor              : 0.000 (kcal/mol)
    Flex   - Flex side chains      : 0.000 (kcal/mol)
(3) Torsional Free Energy          : 0.000 (kcal/mol)
(4) Unbound System's Energy        : 7.297 (kcal/mol)

mode |   affinity | dist from best mode
     | (kcal/mol) | rmsd l.b.| rmsd u.b.
-----+------------+----------+----------
   1      -7.1706     0.0000     0.0000
   2      -7.0432     3.4860     5.9018
   3      -6.8958     3.3400     5.7455
poses saveing time: 14
Batch 1 running time: 920ms

[DEBUG][2024-03-01 18:27:46,120][logger.py 34] [FUNC run_unidock]: 1.98 seconds
[DEBUG][2024-03-01 18:27:46,123][unidock_pipeline.py 120] 1J3J_ligand_ori
[DEBUG][2024-03-01 18:27:46,123][unidock_pipeline.py 121] [(<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf1d20>, -7.171), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf3d10>, -7.171), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf3c30>, -7.171), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf3d80>, -7.043), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf3e60>, -7.043), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bce8040>, -7.043), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf3df0>, -6.896), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bdf3bc0>, -6.896), (<rdkit.Chem.rdchem.Mol object at 0x7f2e5bce80b0>, -6.896)]
[DEBUG][2024-03-01 18:27:46,123][mol_group.py 72] {'1J3J_ligand_ori': 0}
[DEBUG][2024-03-01 18:27:46,124][mol_group.py 80] {'1J3J_ligand_ori': 0}
[DEBUG][2024-03-01 18:27:46,124][logger.py 34] [FUNC postprocessing]: 0.00 seconds
[DEBUG][2024-03-01 18:27:46,124][logger.py 34] [FUNC run_unidock]: 1.99 seconds
[DEBUG][2024-03-01 18:27:46,125][logger.py 34] [FUNC save_results]: 0.00 seconds
[INFO][2024-03-01 18:27:46,125][mcdock.py 133] [MultiConfDock] Workflow finished (4.56 s)

代码
文本
docking
Uni-Dock
python
dockingUni-Dockpython
已赞1
本文被以下合集收录
unidock
董诗杰
更新于 2024-09-10
3 篇0 人关注
CADD
9c5545
更新于 2024-04-03
7 篇0 人关注
推荐阅读
公开
OpenAI「终结扩散模型」的 Consistency Model 是什么,又跟 AIGC 和 AI4S 有什么关系
CV Consistency Model Diffusion Model
CV Consistency Model Diffusion Model
Roger
发布于 2023-07-12
1 赞6 转存文件1 评论
公开
10分钟快速搭建自己的LLAMA3 8B 服务器
Llama3Ollama
Llama3Ollama
01
发布于 2024-04-24
2 赞2 转存文件