-
Notifications
You must be signed in to change notification settings - Fork 13
User's Guide
Download the PDF version with images here
DockingPie is a plugin of the popular molecular graphics system PyMOL that offers a versatile and user-friendly graphical user interface for assisting molecular and consensus docking analyses.
It has been thought to create an interactive interface between PyMOL and any open-source docking program, so as to provide a platform for the integration of tools used for molecular visualization, molecular docking configuration and the analyses of the results.
At the current, and first release, the implemented docking programs are Smina, Autodock Vina, RxDock and ADFR. As it can be noticed, DockingPie distances itself from the implementation of AutoDock and/or AutoDock Vina, which have countless already developed GUIs, and from the implementation of a single docking program. Preciselt to exploit this latter feature, DockingPie provides the possibility to carry out combined analyses, term by which it is intended the application of alternative scoring schemes, also called Consensus Scoring functions, that take into consideration the results of different docking programs at once.
Comprehensively, with a view to creating a tool exploitable by all, independently from the expertise, it has been designed to:
- guide the users step-by-step throughout the whole docking process, by making use of PyMOL for an interactive visualization;
- provide an easy way to setup the processing of multiple docking runs at once;
- provide the first ever user interface for re-ranking the results using a consensus scoring approach.
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 Plugin → Plugin 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).
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 → Configure → Start Download → Finish 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 as follows. RxDock, Openbabel and sPyRMSD are installed in the PyMOL Conda Environment [10]. Vina, Smina and sdsorter executable are directly provided; the installation checks and, if possible, enables user permissions. Although DockingPie is cross-platform, RxDock and Smina are, by their own, not distributed for their usage on Windows.
The DockingPie main window is organized in nested tabs. The first folder of tabs contains the CONFIGURATION tab, the docking programs’ tabs (Vina, Smina, RxDock and ADFR) and the DATA ANALYSIS tab. Each docking programs’ tab contains the child tabs for carrying out the docking process: Receptors, Ligands, Grid Settings, Docking and Results.
The next sections provide an introduction to the conceptualization and usage of the plugin. For the sake of clarity, from now on the docking inputs are going to be called Receptors, Ligands and Cavities; Receptors and Ligands together are generally called Objects (or PyMOL Objects). Docking Scenario is a term by which it is meant the association between a Ligand, a Receptor and a Cavity.
DockingPie has been thought for being completely interactive with PyMOL, therefore the input files must be at first loaded in PyMOL and then imported in the plugin, making use of the Import from PyMOL button provided both in the Receptors and Ligands tabs. All file formats that are supported by PyMOL can be used. Each imported file is stored in the left side of the tab. It remains stored with its starting features, working as an input for the generation of the file adapted for docking purposes.
The generation process eventually includes:
- protonation (Receptors and Ligands)
- handling of non-standard residues (Receptors)
- handling of water molecules (Receptors)
- setting of active torsion (Ligands)
Each docking program has different requirements for the definition of the search space. DockingPie provides a peculiar Grid Settings tab for each docking program according to the different needs.
RxDock has two different algorithms for the creation of the grid, which are here adapted to be used from the plugin:
-
‘reference ligand method’ inputs are the Receptor and Ligand of interest, which are directly located in the Grid Settings tab after having been generated in the Receptors and Ligands tabs.
-
‘two spheres method’ expects only coordinates as input, which can be directly written in the input boxes or extracted from a specific object imported from PyMOL. Furthermore, when using the latter method described, the coordinates can be moved and other parameters can be easily set from within the tab (i.e. Radius, Small Sphere and Large Sphere).
Alternatively, a pre-computed grid can be externally imported in the plugin: Open from file button
With the Generate Cavity button, the grid is generated and directly visualized in PyMOL.
Vina, Smina and ADFR expect as input the coordinates of the center and the dimensions of the search space, which can be directly written in the input boxes or extracted from a specific object imported from PyMOL.
Additionally, Smina and ADFR, support the possibility to use a chemical object as a reference for the generation of the grid around it. Indeed, by clicking the Use as a Reference button, the imported Ligand is set directly in the Docking Tab, ready to be used.
The Objects and the grids generated in the Receptors, Ligands and Grid Settings tabs, once set, are available in the Docking tab to run the process. As in other tabs it is possible to scroll and click on the Objects names to visualize them in PyMOL workspace. Each docking program has its peculiarity in terms of possible protocols and parameters. Therefore, while the left part of the tab is general, the right part provides the interface for setting the peculiar parameters of each docking program.
To facilitate the running of multiple docking processes, DockingPie implements two type of protocols:
-
‘ALLvsALL’: more than one Ligand or Receptor, but only one Cavity, can be selected. By running the process with this protocol (Run Docking button), each Ligand is docked in each Receptor
-
‘Custom’: this protocol allows to set up several different Docking Scenarios. By running the process, each created Scenario is run one after the other.
RxDock supports the possibility to assign pharmacophoric restraints to certain selected atoms of the molecule of interest (see ref). In the Docking tab of RxDock, the plugin provides two ways for selecting to which atom assign some restraints:
-
Open From File : open a file in which are reported the pharmacophoric restraints to be assigned in the proper file format.
-
Set Manually : by clicking this button, from the Advanced Options window the user can import an atomic selection, previously made in PyMOL, and set the ‘Tolerance Radius’ and ‘Restrain Type’ values. It is then sufficient to click on Set button to setup the restraints (the plugin will automatically calculate the coordinates of the provided atomic selection).
The possibility to assign flexibility to certain side chains of the Receptor, which is supported by Smina, Vina and ADFR, has been implemented in the plugin. By checking Use Flex, a line for editing is visualized, where to write the side chains of interest as follow: “Chain:ResiduenamePosition” (e.g. A:ARG220, A:LYS210)
n.b.: be aware of the fact that the usage of this protocol is computationally expensive, thus it is strongly suggested to avoid the assignment of the flexibility to numerous side chains (e.g. more than 4) and to control that the grid is big enough to comprise all the side chains of interest.
Once the docking process is completed the Results tab is updated. Each run is named as follow: “Run_” + number of the runs_ + name of the docking program
The result file is parsed by DockingPie and the main information is visualized in a table. By double-clicking on the table, the specific docked pose is visualized.
-
Calculate RMSD: by clicking the Calculate RMSD button, a new window is opened, where the user can choose which molecule (necessarily loaded in PyMOL workspace) to compare with the docking results.
-
Affinity/Score vs RMSD scatter plot: once the RMSD is computed, a plot to compare the Affinity and RMSD values can be visualized by clicking the Plot button.
-
All runs affinity plot: the Plot All button shows the values of affinity for each run that has been carried out with the same docking program.
The DATA ANALYSIS tab is the meeting point between RxDock, Vina, Smina and ADFR. After having carried out at least two docking runs with different docking programs, from within the DATA ANALYSIS tab, a ‘Consensus Scoring’ (CS) analysis can be run as follow:
- Check the runs on which the CS analysis will be performed.
- By clicking the Consensus Scoring button a window to set up the parameters will be opened.
- If Filter by RMSD is checked, the results are paired according to an RMSD threshold chosen by the user in the RMSD threshold box.
- Consensus Score box is used to choose which type of score to apply
- Poses threshold box to set on which range of poses to carry out the analysis.
DockingPie is distributed under the GPL-3.0 License. The source code is hosted on GitHub at: https://github.com/paiardin/DockingPie
The DockingPie project is ongoing. For about it, please visit regularly its GitHub page and also our website: Here is a list of the platforms on which we have tested DockingPie 1.0. We have made several efforts in order to make PyMod 3 as portable as possible. However, since there is a huge number of PyMOL builds around, there is a chance that your PyMOL will not support the plugin. If PyMod 3 is not running on your PyMOL, please let us know by sending information about your system and PyMOL version, so that we may add compatibility to that particular PyMOL build.
If you encounter a bug when using DockingPie , don’t hesitate to email us at: serena.rosignoli@uniroma1.it. In order to help us to recreate the problem (and to fix it more easily), a list of useful things which you should to include in the email are:
-
Information about your PyMOL version, DockingPie version and operating system.
-
If you are able to open DockingPie, in the Configuration tab of its main window and press the Show Details… button on the about window. This will display a box containing useful information on your DockingPie/PyMOL setup. Please make sure to attach the text displayed in that box to the email, it will greatly facilitate us in order to recreate the bug.
-
If you are able to run DockingPie and encounter some problem when you are using some of its functionalities, it would be really useful to us to know the input data were using, and much more information as possible about the steps carried out.
-
You may also signal the bug by opening an issue on the DockingPie GitHub repository.
If you wish to report bugs or collaborate on the development of DockingPie with suggestions for new functionalities, better documentation or improvements, you are more than welcome! Just contact us at: serena.rosignoli@uniroma1.it
[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] Sdsorter