A Python tool for identifying and mapping persistent water-sites from molecular dynamics (MD) simulations of biomolecular complexes
Project description
WaSiMap
WaSiMap is a Python tool for identifying and mapping persistent water-sites from molecular dynamics (MD) simulations of biomolecular complexes.
The software detects regions where solvent molecules repeatedly occupy similar spatial positions across simulation frames and clusters them into water-sites, enabling comparative analysis across multiple simulations.
Overview
Water molecules frequently mediate hydrogen bonding and stabilize interaction patterns that extend beyond direct residue–residue contacts in biomolecular recognition. Identifying solvent-mediated interactions is particularly important in protein–protein and protein–DNA interfaces, where conserved water-sites may contribute to binding specificity and stability.
WaSiMap analyzes explicitly solvated MD simulations to:
- Detect water molecules with increased interfacial persistence
- Determine the heavy atoms contacted by these waters
- Cluster water positions into spatial water-site centroids
- Enable visual comparison of water-sites across many closely related MD simulations
The tool is designed to facilitate post-processing of MD-based HTP mutational series, allowing researchers to investigate how solvent-mediated interactions evolve across closely related molecular systems.
Features
- Detection of persistent water molecules at biomolecular interfaces
- Identification of contacted heavy atoms for each water molecule
- Clustering of water coordinates into water-site centroids
- Aggregation of results from multiple MD simulations
- Generation of an interactive HTML visualization interface
- Compatible with multiple MD trajectory formats (based on MDTraj)
Installation
The installation of WaSiMap is straightforward.
Install directly from PIP:
pip install wasimap
Or install from source:
git clone https://github.com/pisabarro-group/WaSiMap
cd wasimap
pip install .
Example usage (with test data)
The following commands download three (3) MD simulations into the current folder (~320 Mb) and perform a WaSiMap analysis on all simulations.
wasimap --testdata
wasimap --gui
Upon completion of the wasimap routines, the WaSiMap viewer should open automatically in your default browser.
To exit the program, use CTRL-C.
Basic Usage
WaSiMap scans for MD trajectory files and topologies in the folder where it is executed. Trajectories and their corresponding topologies must have the same filename (i.e: an AMBER trajectory called SIM1 must exist as SIM1.mdcrd and SIM1.prmtop). H5 trajectories include their topology as metadata and come as a single file. WaSiMap tries to match trajectories and topologies autonatically.
Standard wasimap usage syntax:
wasimap --flag --flag ... [input]
For a fully automated execution, use:
wasimap --gui
To process a single trajectory, use:
wasimap --gui <<trajectory_filename>> (name only, no extension)
The command "wasimap" can be executed with several flags, described as follows:
-c --cuttoff H-bonding distance cutoff (default: 0.35 nm) -r --persistence Minimum percentage of frames to consider water as resident (default: 5) --gui Start the WaSiMap explorer after execution --onlygui Do not process anything. Show GUI for existing results. --testdata Download test MD simulations to the current folder -h --help Displays help -v --version Displays current version
Navigating Results
WaSiMap automatically creates a folder called ./wasimap_outputs and stores:
- A PDB file of each MD trajectory (first frame)
- A collection of water-site data, centroid coordinates and water ids in file wasimap.json
- A copy of the HTML viewer wasimap.html
A small web server is initiated and binds to all interfaces (port 8080) upon completion, and the viewer is launched on the default browser. This web application embeds a 3D viewer (based on NGLViewer) that superposes all structures. Water-sites are shown as spheres. The size of each sphere is proportional to the residence time of all waters in the water-site.
- Each structure is assigned a color for ease of identification
- Interfacial residues involved in water-sites are displayed as "ball+sticks"
- Molecular backbones are displayed as ribbons
- An intuitive menu (left panel) allows toggling structures and water-sites on/off
- The stage can be conveniently navigated with the mouse (see NGL documentation)
- Clicking on a water-site sphere shows the water-site table for the given structure.
- The table displays one water-site per row, and also its resident waters.
- Each water shows its internal AtomID
- Hovering the mouse over waters highlights its occurence around other residues.
Citation
If you use this software in academic work, please cite us. (DOI PENDING)
Contributing
Contributions, bug reports, and feature requests are welcome. Please open an issue or submit a pull request.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wasimap-0.1.1.tar.gz.
File metadata
- Download URL: wasimap-0.1.1.tar.gz
- Upload date:
- Size: 30.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb316b69bc43bfb781f458f11124887bb62a7b3aeca2047fb448b8e0d9df6258
|
|
| MD5 |
0beee324d10e50892a0c78852b6bc2ef
|
|
| BLAKE2b-256 |
80a3a2741bbc52cb2937e3ad90429f637982f169e5da00462e263f51c9e04451
|
File details
Details for the file wasimap-0.1.1-py3-none-any.whl.
File metadata
- Download URL: wasimap-0.1.1-py3-none-any.whl
- Upload date:
- Size: 29.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4ec017578a9a53ed94970509760e93762e9ab3606dbd8a25ac4280ff0e3cf89
|
|
| MD5 |
49c451dc4e16ce53cea81de9204c38ed
|
|
| BLAKE2b-256 |
0fccb17683fd4f1299f4544af3a48d55a78864e623e5029f4a76d20e7f37452b
|