GithubHelp home page GithubHelp logo

paiardin / dockingpie Goto Github PK

View Code? Open in Web Editor NEW
62.0 4.0 12.0 217.36 MB

A Consensus Docking Plugin for PyMOL

License: GNU General Public License v3.0

Python 99.94% MATLAB 0.06%
molecular-modeling pymol pymol-extension pymol-plugin ligand molecular molecular-docking molecular-dynamics

dockingpie's Introduction

immagine

DockingPie is a plugin of the popular molecular graphics system PyMOL [1] that offers a versatile and user-friendly graphical user interface for assisting molecular and consensus docking analyses.

At the current, and first release, the implemented docking programs are Smina, Autodock Vina, RxDock and ADFR [2-5].

Providing an easy interface to four docking programs, DockingPie is particularly suited as a platform to carry out consensus docking and scoring analyses.

Known Issue

"Check for updates" functionality in the CONFIGURATION TAB is currently out of use.

Cite

If you use DockingPie in your work, please cite:

Serena Rosignoli and Alessandro Paiardini, DockingPie: a consensus docking plugin for PyMOL, Bioinformatics, 2022, btac452, DOI

Requirements

Minimal requirement: a recent version of PyMOL installed on your computer.

DockingPie is compatible with incentive PyMOL builds distributed by Schrodinger (required PyMOL version >= 2.3.4) and open source builds (required PyMOL version >= 2.3.0).

DockingPie is distributed freely to the public and it has been tested and runs on Windows, macOS and Linux versions of PyMOL.

(Some incompatibilities may arise with the usage of PyMOL version 2.5.x if ‘undo’ function is enabled, which in PyMOL 2.5.2 still shows some shortcomings. Therefore, when the plugin is opened, the ‘undo’ function is automatically disabled and it is strongly suggested to keep it disabled when using the plugin.)

Download

DockingPie plugin ZIP file: download from here

Installation

DockingPie is installed, as any other PyMOL [1] plugin, via the PyMOL plugin manager:

  • First download the latest version of the plugin ZIP file here

  • Launch PyMOL and use the PluginPlugin Manager command from the main menu of PyMOL. The plugin manager window of PyMOL will open.

  • Click on Install New Plugin and press the Choose File… button. Select the DockingPie ZIP file which you have downloaded before. You will be asked to give the path of the directory in which to install the plugin files. Just select the default option if you are unsure about what to do (the location of the plugin files does not make any difference when running the plugin).

Configuration

DockingPie, at the current and first release, integrates four different docking programs: RxDock [2], Vina [3], Smina [4] and ADFR [5]; several chemo-informatics python modules (i.e. AutoDockTools [6], Openbabel [7], sPyRMSD [8]) and other external tools like sdsorter [9]. The CONFIGURATION tab provides an easy way for the installation of the needed tools from within the plugin in two steps, as reported next.

  • Configure external tools: CONFIGURATION tab → ConfigureStart DownloadFinish Download

  • Install external tools: If the needed tools are not currently installed on the user’s machine, the Install button is enabled and it can be used to install the external components.

How to use DockingPie

A detailed explanation on how to use DockingPie, some videos and tutorials can be found at the following links.

User's Guide: download from here

DockingPie GitHub Wiki: Home; User's Guide; Tutorials

Website: Structural Bioinformatics Group at Sapienza

Tested platforms

PyMOL version Operating system PyMOL source
3.0.0 Linux (Ubuntu 22.04.3 LTS), 64-bit Incentive
3.0.0 Windows (v.11), 64-bit Incentive
3.0.0 MacOS (High Sierra and above) Incentive
2.6.0 Linux (Ubuntu 22.04.3 LTS), 64-bit Incentive
2.6.0 Windows (v.11), 64-bit Incentive
2.6.0 MacOS (High Sierra and above) Incentive
2.5.7 Linux (Ubuntu 22.04.3 LTS), 64-bit Incentive
2.5.7 Windows (v.11), 64-bit Incentive
2.5.7 MacOS (High Sierra v.10.13.6) Incentive
2.5.5 Linux (Ubuntu 22.04.3 LTS), 64-bit Incentive
2.5.5 Windows (v.11), 64-bit Incentive
2.5.5 MacOS (High Sierra v.10.13.6) Incentive
2.5.2 Linux (Ubuntu 20.04.3 LTS), 64-bit Incentive
2.5.1 Linux (Ubuntu 21.04), 64-bit Incentive (Conda package)
2.5.2 Linux (Ubuntu 18.04.2 LTS), 64-bit Incentive
2.5.0 Linux (Ubuntu 21.04), 64-bit Open source (Conda package)
2.5.0 Linux (Ubuntu 20.04.3 LTS), 64-bit Open source (Conda package)
2.4.1 Windows (v.10 Home), 64-bit Incentive
2.5.2 Windows (v.10 Pro), 64-bit Incentive
2.5.0 Windows (v.10 Pro), 64-bit Open source (Conda package)
2.5.2 MacOS (High Sierra v.10.13.6) Incentive
2.4.0 MacOS (High Sierra v.10.13.6) Open source (Conda package)
2.5.2 MacOS (Monterey v.12.2.1) Incentive
2.5.2 MacOS (Big Sur v.11.6.5) Incentive
2.4.0 MacOS (Big Sur v.11.6.5) Open source (Conda package)

DockingPie in open-source PyMOL version

DockingPie is fully compatible with open-source PyMOL version. However, since the “Conda Package Manager” is not integrated in open-source PyMOL, the automatic installation of the dependencies is not fully supported from within DockingPie. Thought that RxDock, sPyRMSD and OpenBabel would be manually installed by the User, we have added a section in the User's Guide (section 2.3) to help handling DockingPie and its dependencies on open-source PyMOL.

Licence

DockingPie is distributed under GPL-3.0 License

Version

Current Release: DockingPie 1.0.1

Version legend

Major changes (1.x.x): a complete new version of the plugin is provided. Re-installation is needed.

Minor changes (x.0.x): bug fixes, minor GUI changes, minor added functionalities. Re-installation is needed.

Micro changes (x.x.1): external tools update (e.g. Vina, Smina, ADFR). The Check for Updates function can be used to update the plugin. See the User's Guide for further details.

References

[1] DeLano, WL. (2002). “The PyMOL Molecular Graphics System on World Wide Web.” CCP4 Newsletter On Protein Crystallography

[2] Ruiz-Carmona, S., Alvarez-Garcia, D., Foloppe, N., Garmendia-Doval, A. B., Juhos, S., Schmidtke, P., Barril, X., Hubbard, R. E., & Morley, S. D. (2014). rDock: a fast, versatile and open source program for docking ligands to proteins and nucleic acids. PLoS computational biology, 10(4), e1003571. https://doi.org/10.1371/journal.pcbi.1003571

[3] O. Trott, A. J. Olson, AutoDock Vina: improving the speed and accuracy of docking with a new scoring function, efficient optimization and multithreading, Journal of Computational Chemistry 31 (2010) 455-461

[4] Koes, David Ryan et al. “Lessons learned in empirical scoring with smina from the CSAR 2011 benchmarking exercise.”Journal of chemical information and modeling vol. 53,8 (2013): 1893-904. doi:10.1021/ci300604z

[5] Ravindranath PA, Forli S, Goodsell DS, Olson AJ, Sanner MF. AutoDockFR: Advances in Protein-Ligand Docking with Explicitly Specified Binding Site Flexibility. PLoS Comput Biol. 2015;11(12):e1004586. Published 2015 Dec 2. doi:10.1371/journal.pcbi.1004586

[6] Morris, G. M., Huey, R., Lindstrom, W., Sanner, M. F., Belew, R. K., Goodsell, D. S., & Olson, A. J. (2009). AutoDock4 and AutoDockTools4: Automated docking with selective receptor flexibility. Journal of Computational Chemistry, 30(16), 2785–2791.

[7] O'Boyle, N.M., Banck, M., James, C.A. et al. Open Babel: An open chemical toolbox. J Cheminform 3, 33 (2011). https://doi.org/10.1186/1758-2946-3-33

[8] Meli, R., Biggin, P.C. spyrmsd: symmetry-corrected RMSD calculations in Python. J Cheminform 12, 49 (2020). https://doi.org/10.1186/s13321-020-00455-2

[9] https://sourceforge.net/projects/sdsorter/

[10] Anaconda Software Distribution. (2020). Anaconda Documentation. Anaconda Inc. Retrieved from https://docs.anaconda.com/

Acknowledgments

The authors are grateful to Giacomo Janson for assistance with Python. The authors are grateful to Vedran Miletić for assistance with RxDock.

dockingpie's People

Contributors

paiardin avatar serenarosi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dockingpie's Issues

Any way to manually define ligands/receptors?

Plug-in automatically detects ligands and receptors. The ligand (peptide) I'm attempting to use is recognized as a receptor and I'm therefore unable to dock with it. Is there any way around this?

generate ligand is seemingly busted for me, please help resolve asap

PyMOL>fetch 7roq
TITLE Alternative Structure of Human ABCA1
ExecutiveLoad-Detail: Detected mmCIF
CmdLoad: "./7roq.cif" loaded as "7roq".
CmdLoad: "/home/scientist/Downloads/Conformer3D_COMPOUND_CID_4912-2.sdf" loaded as "Conformer3D_COMPOUND_CID_4912-2".
Executive: object "temp_obj" created.
Executive: object temp_obj created.
Traceback (most recent call last):
File "/home/scientist/.pymol/startup/DockingPie1/lib/docking_program_main/docking_program_gui/tabs.py", line 2188, in generate_ligand_func
is_receptor = False)
File "/home/scientist/.pymol/startup/DockingPie1/lib/docking_program_main/Functions/general_docking_func.py", line 284, in init
self.generate_receptor()
File "/home/scientist/.pymol/startup/DockingPie1/lib/docking_program_main/Functions/general_docking_func.py", line 306, in generate_receptor
self.generate_checked_object()
File "/home/scientist/.pymol/startup/DockingPie1/lib/docking_program_main/Functions/general_docking_func.py", line 412, in generate_checked_object
os.rename(old_name, new_name)
FileNotFoundError: [Errno 2] No such file or directory: 'Conformer3D_COMPOUND_CID_4912-2.pdbqt' -> '01_Conformer3D-COMPOUND-CID-4912-2_Vina.pdbqt'
INFO and CONTACTS
Copyright (C): 2022 Serena Rosignoli, Alessandro Paiardini
Contacts: [email protected], [email protected]
For information on DockingPie 1.0 visit:
https://github.com/paiardin/DockingPie

DockingPie

  • Version: 1.2.1
  • Plugin path: /home/scientist/.pymol/startup/DockingPie1/lib/docking_program_main
  • Config directory: /home/scientist/.pymol/startup/DockingPie1/lib/docking_program_main/config

PyMOL

  • Version: 2.5.2
  • Path: /home/scientist/pymol/bin/python
  • Qt: PyQt5
  • Has Conda: True

Python

  • Version: 3.7.10 | packaged by conda-forge | (default, Feb 19 2021, 16:07:37)
    [GCC 9.3.0]
  • Arch: 64
  • Path: /home/scientist/pymol/bin/python

Operating system

  • Platform: linux
  • Arch: 64

Python libs

  • PyQt5: 5.12.3
  • Conda version: 4.10.3
  • Numpy version: 1.21.2
  • Biopython version: 1.79

Mistakes of v1.0.1 source codes in released page

I've used source codes from released page to install DockingPie plugin. And when I try to install packages with "configure" button. A 404 error was reported since that the given link is not correct.
This issue is just to remind somebody like me who tried that copy of source codes and got this error.
If the developers can notice this issue and updated a newer version of released source codes, it will be much better.

The error comes from a small mistake in the codes below.
The codes of the latest commit in branch "main", which is the same in the source codes from user guide

if sys.platform == "linux":
dir_link = "https://github.com/paiardin/DockingPie/releases/download/" + str(self.files_version) + "/external_tools_linux.zip"
dir_name = "external_tools_linux"
if sys.platform == "darwin":
dir_link = "https://github.com/paiardin/DockingPie/releases/download/" + str(self.files_version) + "/external_tools_macOS.zip"
dir_name = "external_tools_macOS"
if sys.platform == "win32":
dir_link = "https://github.com/paiardin/DockingPie/releases/download/" + str(self.files_version) + "/external_tools_windows.zip"
dir_name = "external_tools_windows"

While the codes from released source codes is correct, as follows,

    def configure_external_tools_directory(self):

        if sys.platform == "linux":
            dir_link = "https://github.com/paiardin/DockingPie/releases/download/Files_v1.0.0/external_tools_linux.zip"
            dir_name = "external_tools_linux"
        if sys.platform == "darwin":
            dir_link = "https://github.com/paiardin/DockingPie/releases/download/Files_v1.0.0/external_tools_macOS.zip"
            dir_name = "external_tools_macOS"
        if sys.platform == "win32":
            dir_link = "https://github.com/paiardin/DockingPie/releases/download/Files_v1.0.0/external_tools_windows.zip"
            dir_name = "external_tools_windows"

The solution of this 404 error is simple, i.e., just to modify the codes and restart PyMol.

TypeError: expected str, bytes or os.PathLike object, not NoneType

I like this plugin (DockingPie) very much. However, recently, I run vina program via this plugin, PyMOL always reported the following issue. Could you help me to deal with it? Thank you!

File "d:\anaconda\lib\site-packages\pmg_tk\startup\DockingPie1\lib\docking_program_main\Functions\dockings_thread.py", line 396, in on_update_results_tab
self.tab.results_frame = ResultsFrame(parent=self.tab,
File "d:\anaconda\lib\site-packages\pmg_tk\startup\DockingPie1\lib\docking_program_main\docking_program_gui\frames.py", line 1019, in init
if Path(self.log_file).is_file():
File "d:\anaconda\lib\pathlib.py", line 1038, in new
self = cls._from_parts(args, init=False)
File "d:\anaconda\lib\pathlib.py", line 679, in _from_parts
drv, root, parts = self._parse_args(args)
File "d:\anaconda\lib\pathlib.py", line 663, in _parse_args
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType

Issue generating ligand

Hi, I am running through the tutorial example using PDB: 1OL5 but keep getting an error when clicking "Generate Ligand". All steps up to that point are fine. I have configured and installed everything as in the User Guide.

Traceback (most recent call last):
File "C:\Users\pgoldsmith\AppData\Local\anaconda3\envs\pymol_311\Lib\site-packages\pmg_tk\startup\DockingPie1\lib\docking_program_main\docking_program_gui\tabs.py", line 2183, in generate_ligand_func
generated_ligand = Generate_Object(self, dict = self.docking_programs_child_tabs.docking_programs.vina_ligands_dict,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\pgoldsmith\AppData\Local\anaconda3\envs\pymol_311\Lib\site-packages\pmg_tk\startup\DockingPie1\lib\docking_program_main\Functions\general_docking_func.py", line 284, in init
self.generate_receptor()
File "C:\Users\pgoldsmith\AppData\Local\anaconda3\envs\pymol_311\Lib\site-packages\pmg_tk\startup\DockingPie1\lib\docking_program_main\Functions\general_docking_func.py", line 306, in generate_receptor
self.generate_checked_object()
File "C:\Users\pgoldsmith\AppData\Local\anaconda3\envs\pymol_311\Lib\site-packages\pmg_tk\startup\DockingPie1\lib\docking_program_main\Functions\general_docking_func.py", line 412, in generate_checked_object
os.rename(old_name, new_name)
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'obj01.pdbqt' -> '01_obj01_Vina.pdbqt'

DockingPie

  • Version: 1.2.1
  • Plugin path: C:\Users\pgoldsmith\AppData\Local\anaconda3\envs\pymol_311\Lib\site-packages\pmg_tk\startup\DockingPie1\lib\docking_program_main
  • Config directory: C:\Users\pgoldsmith\AppData\Local\anaconda3\envs\pymol_311\Lib\site-packages\pmg_tk\startup\DockingPie1\lib\docking_program_main\config

PyMOL

  • Version: 2.6.0a0
  • Path: C:\Users\pgoldsmith\AppData\Local\anaconda3\envs\pymol_311\pythonw.exe
  • Qt: PyQt5
  • Has Conda: False

Python

  • Version: 3.11.7 | packaged by Anaconda, Inc. | (main, Dec 15 2023, 18:05:47) [MSC v.1916 64 bit (AMD64)]
  • Arch: 64
  • Path: C:\Users\pgoldsmith\AppData\Local\anaconda3\envs\pymol_311\pythonw.exe

Operating system

  • Platform: win32
  • Arch: 64

Python libs

  • PyQt5: 5.15.10
  • Conda version: -
  • Numpy version: 1.26.4
  • Biopython version: 1.83

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.