Skip to content

๐Ÿงฌ Pocket Visualizer is a Streamlit-powered tool that highlights hydrogen bond interactions in docked protein-ligand complexes and automatically identifies the interacting protein residues.

License

Notifications You must be signed in to change notification settings

usman4373/Pocket-Visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

17 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Pocket-Visualizer

๐Ÿงฌ Pocket Visualizer is a Streamlit-powered workflow that highlights hydrogen bond interactions in docked protein-ligand complexes and automatically identifies the interacting protein residues.

It leverages PyMOL for high-quality molecular visualization, operating entirely through PyMOL command-line functions, without requiring the PyMOL GUI, to efficiently render and generate publication-ready figures. Designed for fast-paced workflows, it enables quick, automated analysis of large numbers of complexes with minimal user intervention.

For each input complex, the app:

  1. Generates a zoomed-in image of the ligand-binding pocket, showing:

a). Protein-ligand interactions (Hydrogen bonds)

b). Bond lengths

c). Interacting residues

  1. ๐ŸŒ Creates a surface view image of the complete protein-ligand complex.
  2. ๐Ÿ’ป Saves PyMOL session files (.pse) for both views.
  3. ๐Ÿ“„ Outputs a CSV file listing the names and positions of interacting protein residues for each complex.

This tool is ideal for analyzing docking results and gaining insights into molecular interactions in drug discovery workflows.

๐Ÿ“š Citation

If you use Pocket Visualizer in your research, presentations, or publications, please consider citing it to acknowledge the effort behind its development.

Pocket Visualizer. GitHub. https://github.com/usman4373/Pocket-Visualizer

๐Ÿ›  Installation

To run Pocket Visualizer, you need to have the following Python packages installed:

  1. Biopython (for parsing protein structure files)
  2. PyMOL (for molecular visualization)
  3. Streamlit (for the web-based interface)

You can install the required packages as follows:

  1. Biopython:

    pip install biopython
    
  2. Streamlit:

    pip install streamlit
    
  3. PyMOL:

PyMOL is not available via standard pip in some environments. You can install it using one of the following methods:

Option A: Using Anaconda (Recommended)

If you're using Anaconda, run:

conda install -c schrodinger pymol

Option B: Using pip (Open-Source Version)

For the open-source version, you can try:

pip install pymol-open-source

Note: Ensure that the PyMOL GUI is installed and properly configured if you plan to use the session (.pse) file generation.

Option C: Download from Official Website

You can download the official installer for PyMOL from the Schrรถdinger website:

๐Ÿ”— PyMOL Download

After installation, add the PyMOL installation directory to your system's PATH so that it can be accessed from the terminal or command line.

๐Ÿ“„ Input Requirements

Please ensure the following conditions are met before using Pocket Visualizer:

๐Ÿ”น Accepted format: Only .pdb (Protein Data Bank) files are supported.

๐Ÿ”น Each .pdb file must contain a single header.

๐Ÿ”น The app can process a single complex containing upto 6 proteins within a single .pdb file.

๐Ÿ”น Protein chains must be explicitly defined within the .pdb file.

๐Ÿ”น Ligand identifiers must also be correctly annotated in the .pdb file.

These requirements ensure correct parsing and accurate visualization of interactions.

๐ŸŽจ Visualization Themes

Pocket Visualizer offers five pre-defined color themes for customizing the appearance of your protein-ligand complexes:

Theme Description
Ocean Blue-based color palette
Verdant Green color scheme for a natural look
Crimson Bold red-themed appearance
Ash Clean and minimal white theme
Blossom Vibrant hot pink color palette for eye-catching visualization

Each theme adjusts molecular surfaces, backgrounds, and highlights to enhance interpretability.

๐Ÿš€ How to Use the App

  1. Navigate to the directory containing the main.py file using your terminal or command prompt, then execute the following command to start the app:
streamlit run main.py

This will launch Pocket Visualizer in your default web browser at http://localhost:8501/. 01

  1. Specify the input directory where your .pdb files are located.
  2. Specify the output directory where results will be saved (images, session files, CSV).
  3. Select a visualization theme from the available options.
  4. Set custom image parameters, including size and DPI.
  5. Click "Run Visualizations" to generate figures:
Untitled design

For optimal performance, especially with higher resolutions and DPI settings, it's recommended to use a system equipped with a GPU.

Rendered Figures:

03-1A7X-Interactions 03-1A7X-Surface 10 9 14 11 05-1A7X-Interactions 05-1A52-Surface 16 15

Interacting Residues CSV

image

It shows interacting protein residue (three letter code) with position followed by the Chain ID.

About

๐Ÿงฌ Pocket Visualizer is a Streamlit-powered tool that highlights hydrogen bond interactions in docked protein-ligand complexes and automatically identifies the interacting protein residues.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages