top of page


BioCodeKb - Bioinformatics Knowledgebase

PyRx is a Virtual 3D Screening software/viewer for Computational Drug Discovery that can be used to screen libraries of compounds against potential drug targets. PyRx enables Medicinal Chemists to run Virtual Screening from any platform and helps users in every step of this process - from data preparation to job submission and analysis of the results. While it is true that there is no magic button in the drug discovery process, PyRx includes docking wizard with an easy-to-use user interface which makes it a valuable tool for Computer-Aided Drug Design. PyRx also includes chemical spreadsheet-like functionality and powerful visualization engine that are essential for structure-based drug design.

PyRx is using a large body of established open source software including:

  • AutoDock 4 and AutoDock Vina are used as a docking software.

  • AutoDockTools, used to generate input files.

  • Python as a programming/scripting language.

  • wxPython for cross-platform GUI.

  • The Visualization ToolKit (VTK) by Kitware, Inc.

  • Enthought Tool Suite, including Traits, for application building blocks.

  • Opal Toolkit for running AutoDock remotely using web services.

  • Open Babel for importing SDF files, removing salts and energy minimization.

  • matplotlib for 2D plotting.

Downloading PyRx :

PyRx is an open source software to perform virtual screening. It is a combination of several softwares such as AutoDock Vina, AutoDock 4.2, Mayavi, Open Babel, etc. PyRx uses Vina and AutoDock 4.2 as docking softwares.

Loading molecules into PyRx workspace:

Use upper left button to load our protein and ligand (s) into PyRx workspace.

Converting .pdb files to .pdbqt files (Vina input file format):

After successfully loading molecules in to the workspace, convert them into AutoDock input files (pdbqt files). Right click on ligand(s) > AutoDock > Make ligand then right click on protein > AutoDock > Make Macromolecule

After converting pdb files into AutoDock input files (or .pdbqt files), we will see them under AutoDock tab.

Click on Start Here button under Vina Wizard. Then select Local button under Vina executioin Mode and click start button.

Select protein and ligand(s) by simply clicking on them. we will see a window. Click to Forward Run Vina.

Selecting Vina Search Space:

In this step we will see a grid box (white box with spherical handles) in the 3D scene. This grid box allows us to select search space (Part of the protein, where we are going to perform docking, typically the binding site) in the protein.

To help locating the binding site (or active site) we can use binding site amino acids.

Click molecules button under Navigator panel, then click on + button located in front of protein tab.

After selecting the amino acids (use shift button to select multiple amino acids) click on the Toggle selection Spheres button to see the selected amino acids as pink spheres.

Now use the spherical handles of the grid box to select the search space.

Make sure to select the grid box size big enough to allow the ligand to move freely in the search space.

Click forward button to start Vina calculations. Once the calculations are done, results will be populated in table with the Binding Affinity (kcal/mol) values. More negative the binding affinity better the orientation of the ligand in the binding site.

The user can sort the items in the table based on the values in a column by clicking the header of that column

  • On the first click, the items are sorted in ascending order. The characters >> appear in the column header to indicate that the table is sorted ascending on this column’s values.

  • On the second click, the items are sorted descending order. The characters << appear in the column header to indicate that the table is sorted descending on this column’s values.

  • On the third click, the items are restored to their original order, and the column header is undecorated.


Need to learn more about PyRx and much more?

To learn Bioinformatics, analysis, tools, biological databases, Computational Biology, Bioinformatics Programming in Python & R through interactive video courses and tutorials, Join BioCode.

bottom of page