dptech-corp / Uni-Dock

Uni-Dock: a GPU-accelerated molecular docking program
188 stars 40 forks source link

An error occurred: basic_string::_M_replace_aux. #7

Closed Zehui7Zhou closed 1 year ago

Zehui7Zhou commented 1 year ago

INPUT: unidock --receptor ./indata/def.pdbqt --ligand ./indata/def_unique_charged actives1.pdbqt --center_x -36.01 --center_y 25.63 --center_z 67.49 --size_x 22 --size_y 22 --size_z 22 --out ./result/ligand --exhaustiveness 128 --max_step 20 --num_modes 9 --scoring vina --refine_step 3 --seed 5 > ligand.log

OUTPUT: Uni-Dock v0.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: ./indata/def.pdbqt Ligands:

ERROR: An error occurred: basic_string::_M_replace_aux.

Please report bugs through the Issue Tracker on GitHub (https://github.com/dptech-corp/Uni-Dock/issues)., so that this problem can be resolved. The reproducibility of the error may be vital, so please remember to include the following in your problem report:

Thank you!

Zehui7Zhou commented 1 year ago

The error fixed when I copy the actives1.pdbqt into the current directory.

Zehui7Zhou commented 1 year ago

But another error occured when --gpu_batch was used and all the inputs were from Uni-Dock/example/screening_test/indata.

INPUT: unidock --receptor ./indata/def.pdbqt --gpu_batch actives1.pdbqt actives3.pdbqt actives4.pdbqt --center_x -36.01 --center_y 25.63 --center_z 67.49 --size_x 22 --size_y 22 --size_z 22 --dir ./result/gpu_batch --exhaustiveness 128 --max_step 20 --num_modes 9 --scoring vina --refine_step 3 --seed 5 > gpu_batch.log

OUTPUT: Uni-Dock v0.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: ./indata/def.pdbqt Grid center: X -36.01 Y 25.63 Z 67.49 Grid size : X 22 Y 22 Z 22 Grid space : 0.375 Exhaustiveness: 128 CPU: 0 Verbosity: 1

Computing Vina grid ... entering done done. exiting done Total ligands: 3 Avaliable Memory = 5169MiB Total Memory = 5937MiB Batch 1 size: 0

ERROR: Empty ligand list.

pkuyyj commented 1 year ago

Please provide us the type and CUDA version of your GPU. It seems that global memory is less than required (about 8GB). BTW, basic_string::_M_replace_aux is caused by missing / in ligand path.

pkuyyj commented 1 year ago

Also, --ligand is not for GPU mode, please use gpu_batch.

Zehui7Zhou commented 1 year ago

Please provide us the type and CUDA version of your GPU. It seems that global memory is less than required (about 8GB). BTW, basic_string::_M_replace_aux is caused by missing / in ligand path.

RTX3060 & CUDA11.4. Indeed, the global memory of the GPU influences the program. I reduced the number of ligands and used the --ligand_index option, and UniDock ran well. I also discovered that UniDock returns a 'segmentation fault (core dumped)' error if the grid size is too large. As for the 'ERROR: Empty ligand list.', it may also be due to the low memory of my laptop.

pkuyyj commented 1 year ago

Yes, we have hard constraints for grid size, which is 30A^3, and the largest length of either x, y or z is 48A. Please use 3090 or T4. We have tested Uni-Dock on these GPUs.