Vina: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 11: Line 11:
[[File:Screenshot from 2025-01-19 07-53-05.png|thumb|right|The analyzing step.]]
[[File:Screenshot from 2025-01-19 07-53-05.png|thumb|right|The analyzing step.]]
[[File:Screenshot from 2025-01-19 07-52-39.png|thumb|right|The residue interaction histogram.]]
[[File:Screenshot from 2025-01-19 07-52-39.png|thumb|right|The residue interaction histogram.]]
'''''AutoDock Vina based graphical tool with a pythonic streamlined zen powerful simplicity. Check it out!'''''


This plugin enables virtual screening with the AutoDock Vina software stack. It uses Meeko and Scrub to prepare the target receptor and molecular ligands, and PLIP and Matplotlib to analyze the results.
This plugin enables virtual screening with the AutoDock Vina software stack. It uses Meeko and Scrub to prepare the target receptor and molecular ligands, and PLIP and Matplotlib to analyze the results.


It was tested on PyMOL 3.1 with Python 3.10 on Fedora Linux 41, but Windows is partially supported and maybe Mac also works.
It was developed on PyMOL 3.1 with Python 3.10 on Fedora Linux 41, but Windows is supported and maybe Mac.


= Usage =
= Usage =


; Run docking/screening
; Run docking/screening
: Fill the ''target receptor'' and ''box center'' with . They must be selections or objects or extracted objects already loaded into PyMOL. If there are rigid ligands (e.g. a cofactor) or important water molecules, they must be on the ''receptor'' selection/object. Click on ''Run'' to start.
: The ''target receptor'' and ''box center'' must be selections or objects or extracted objects already loaded into PyMOL. If there are rigid ligands (e.g. a cofactor) or important water molecules, they must be on the ''receptor'' selection/object.
: A ligand input file on a supported format (Molscrub supports .smi, .sdf, .mol) must be supplied alongside a (preferentially) empty folder to place results. Click on ''Run'' to start.


; Analyzing results
; Analyzing results
: The top ''max load'' conformations ranked up to ''max mode'' are listed on the interface. Click on the molecule name (suffix <code>_m5</code> denotes the fifth model) to render a PLIP visualization of the docked ligand. Click on the ''export table'' to save the loaded molecule's affinity into a XLSX file.
: The top ''max load'' conformations ranked up to ''max mode'' are listed on the interface. Click on the molecule name (suffix <code>_m5</code> denotes the fifth model) to render a PLIP visualization of the docked ligand. Click on the ''export table'' to save the loaded molecule's affinity into a XLSX file.
: If the ''Intensive'' computation is enabled, the plugin will compute the PLIP interaction for loaded poses and plot an AuPosSOM-like dendogram tree based on pose similarity. A bar chart counting the number of interactions the residue does for each PLIP interaction type
: If the ''Intensive'' computation is enabled, the plugin will compute the PLIP interaction for loaded poses and plot an AuPosSOM-like dendogram tree based on pose similarity. A bar chart counting the number of interactions the residue does for each PLIP interaction type is also plotted.
 


= Input =
= Input =
Line 30: Line 32:
Supports multi-SMILES, SDF and MOL files, the same formats supported by Scrub. Make sure to store your chemical libraries so it can be reused. The snippet below illustrate a SMILES file with multiple SMILES separated from the molecule name by empty spaces.
Supports multi-SMILES, SDF and MOL files, the same formats supported by Scrub. Make sure to store your chemical libraries so it can be reused. The snippet below illustrate a SMILES file with multiple SMILES separated from the molecule name by empty spaces.


    Cc1c(Cl)cccc1Nc1ncccc1C(=O)OC[C@H](O)CO ZINC000000000171
Cc1c(Cl)cccc1Nc1ncccc1C(=O)OC[C@H](O)CO ZINC000000000171
    CN(C)CC[C@@H]1c2ccc(Cl)cc2CCc2cccnc21  ZINC000000000179
CN(C)CC[C@@H]1c2ccc(Cl)cc2CCc2cccnc21  ZINC000000000179
    CC(C)NC[C@H]1CCc2cc(CO)c([N+](=O)[O-])cc2N1    ZINC000000000570
CC(C)NC[C@H]1CCc2cc(CO)c([N+](=O)[O-])cc2N1    ZINC000000000570
    Cc1nc(NCc2ccccc2)c2cc[nH]c2n1  ZINC000000002036
Cc1nc(NCc2ccccc2)c2cc[nH]c2n1  ZINC000000002036


'''Note''': Stored libraries includes the protonation state. Using such libraries means the same hydrogens are used, ignoring the specified pH.
'''Note''': Stored libraries includes the protonation state. Using such libraries means the same hydrogens are used, ignoring the specified pH.


= Installation =
= Installation =


Install using the URL on the Plugin Manager, it should be straightforward with automatic dependency installation.
Install using the URL on the Plugin Manager, it should be straightforward with automatic dependency installation. It may require administrator privileges depending on how PyMOL were installed (i.e. run as administrator).


On the first execution, PyMOL may freeze PyMOL while downloading required Python packages (libraries). In case of <code>ImportError</code> messages, troubleshootusing the following commands in the PyMOL console.
On the first execution, PyMOL may freeze PyMOL while downloading required Python packages (libraries). In case of <code>ImportError</code> messages, troubleshoot with the following commands in the PyMOL console.


   conda install -y matplotlib openpyxl scipy meeko plip openbabel rdkit pandas lxml
   conda install -y matplotlib openpyxl scipy meeko plip openbabel rdkit pandas lxml
   pip install https://github.com/pslacerda/molscrub/archive/refs/heads/windows.exe.zip
   pip install https://github.com/pslacerda/molscrub/archive/refs/heads/windows.exe.zip
  pip install https://github.com/forlilab/Meeko/archive/refs/tags/v0.6.1.zip


The general syntax is run <code>conda install -y</code> or <code>pip install</code> prefixing the wanted/required package.
The general syntax is run <code>conda install -y</code> or <code>pip install</code> prefixing the wanted/required package.
Line 51: Line 53:
= Caveats =
= Caveats =


The main docking/screening step runs as fast as the base programs, but the analysis interface can be slow, especially when '''intensive''' computation is enabled. This is mainly due to the processing of PLIP interactions.
The main docking/screening step runs as fast as base programs, but the analysis interface can be slow, especially when '''intensive''' computation is enabled. This is mainly due to the processing of PLIP interactions.
 
= Author =
 
Pedro Sousa Lacerda, Universidade Federal da Bahia, <pslacerda@gmail.com>.

Latest revision as of 04:42, 18 February 2025

Type PyMOL Plugin
Download https://raw.githubusercontent.com/Pymol-Scripts/Pymol-script-repo/refs/heads/master/plugins/vina.py
Author(s) Pedro Sousa Lacerda
License Free Software
The preparation step.
The execution log.
The analyzing step.
The residue interaction histogram.

AutoDock Vina based graphical tool with a pythonic streamlined zen powerful simplicity. Check it out!

This plugin enables virtual screening with the AutoDock Vina software stack. It uses Meeko and Scrub to prepare the target receptor and molecular ligands, and PLIP and Matplotlib to analyze the results.

It was developed on PyMOL 3.1 with Python 3.10 on Fedora Linux 41, but Windows is supported and maybe Mac.

Usage

Run docking/screening
The target receptor and box center must be selections or objects or extracted objects already loaded into PyMOL. If there are rigid ligands (e.g. a cofactor) or important water molecules, they must be on the receptor selection/object.
A ligand input file on a supported format (Molscrub supports .smi, .sdf, .mol) must be supplied alongside a (preferentially) empty folder to place results. Click on Run to start.
Analyzing results
The top max load conformations ranked up to max mode are listed on the interface. Click on the molecule name (suffix _m5 denotes the fifth model) to render a PLIP visualization of the docked ligand. Click on the export table to save the loaded molecule's affinity into a XLSX file.
If the Intensive computation is enabled, the plugin will compute the PLIP interaction for loaded poses and plot an AuPosSOM-like dendogram tree based on pose similarity. A bar chart counting the number of interactions the residue does for each PLIP interaction type is also plotted.

Input

Supports multi-SMILES, SDF and MOL files, the same formats supported by Scrub. Make sure to store your chemical libraries so it can be reused. The snippet below illustrate a SMILES file with multiple SMILES separated from the molecule name by empty spaces.

Cc1c(Cl)cccc1Nc1ncccc1C(=O)OC[C@H](O)CO ZINC000000000171
CN(C)CC[C@@H]1c2ccc(Cl)cc2CCc2cccnc21   ZINC000000000179
CC(C)NC[C@H]1CCc2cc(CO)c([N+](=O)[O-])cc2N1     ZINC000000000570
Cc1nc(NCc2ccccc2)c2cc[nH]c2n1   ZINC000000002036

Note: Stored libraries includes the protonation state. Using such libraries means the same hydrogens are used, ignoring the specified pH.

Installation

Install using the URL on the Plugin Manager, it should be straightforward with automatic dependency installation. It may require administrator privileges depending on how PyMOL were installed (i.e. run as administrator).

On the first execution, PyMOL may freeze PyMOL while downloading required Python packages (libraries). In case of ImportError messages, troubleshoot with the following commands in the PyMOL console.

 conda install -y matplotlib openpyxl scipy meeko plip openbabel rdkit pandas lxml
 pip install https://github.com/pslacerda/molscrub/archive/refs/heads/windows.exe.zip
 pip install https://github.com/forlilab/Meeko/archive/refs/tags/v0.6.1.zip

The general syntax is run conda install -y or pip install prefixing the wanted/required package.

Caveats

The main docking/screening step runs as fast as base programs, but the analysis interface can be slow, especially when intensive computation is enabled. This is mainly due to the processing of PLIP interactions.