WaterNetworkAnalysis
WaterNetworkAnalysis copied to clipboard
Set of tools for input preparation for conserved water search from MD trajectories (gromacs, amber) and their analysis
WaterNetworkAnalysis
.. image:: https://readthedocs.org/projects/waternetworkanalysis/badge/?version=latest :target: https://waternetworkanalysis.readthedocs.io/en/latest/?badge=latest .. image:: https://badge.fury.io/py/WaterNetworkAnalysis.svg :target: https://badge.fury.io/py/WaterNetworkAnalysis .. image:: https://img.shields.io/conda/vn/conda-forge/waternetworkanalysis.svg :target: https://anaconda.org/conda-forge/waternetworkanalysis
The WaterNetworkAnalysis (WNA) Python package serves as a set of tools for input preparation and further analysis for ConservedWaterSearch <https://conservedwatersearch.readthedocs.io/en/latest/>
__ (CWS) python package which identifies conserved water molecules from Molecular Dynamics (MD) trajectories.
.. image:: https://raw.githubusercontent.com/JecaTosovic/WaterNetworkAnalysis/master/docs/source/figs/Scheme.png :width: 600
Important links
- `Documentation <https://waternetworkanalysis.readthedocs.io/en/latest/>`_: hosted on Read The Docs
- `GitHub repository <https://github.com/JecaTosovic/WaterNetworkAnalysis>`_: source code/contribute code
- `Issue tracker <https://github.com/JecaTosovic/WaterNetworkAnalysis/issues>`_: Report issues/ request features
Related Tools
- `ConservedWaterSearch <https://github.com/JecaTosovic/ConservedWaterSearch>`__: Analysis of conserved waters from simulation trajectories. For docs see `here <https://conservedwatersearch.readthedocs.io/en/latest/>`__.
Citation
For citations and more infromation see ConservedWaterSearch citation <https://conservedwatersearch.readthedocs.io/en/latest/citing.html>
_.
Installation of the Python package
The easiest ways to install WaterNetworkAnalysis is using :code:conda
from conda-forge:
.. code:: bash
conda install -c conda-forge WaterNetworkAnalysis
Alternatively, WNA is also available on PyPi via :code:pip
:
.. code:: bash
pip install WaterNetworkAnalysis
Pymol <https://pymol.org/2/>
__ is an optional dependency for visualisation and is not present on PyPi, however WNA can be installed and used without it (bar pymol visualisation features). Pymol can be installed using :code:conda
:
.. code:: bash
conda install -c conda-forge pymol-open-source
For more information on CWS dependencies also see CWS installation guide <https://conservedwatersearch.readthedocs.io/en/latest/installation.html>
__.
Installation of the PyMOL plugin
See documentation for detailed instructions <https://waternetworkanalysis.readthedocs.io/en/latest/quickstart.html#installation-of-the-pymol-plugin>
__.
Known Issues with dependencies
:code:AttributeError: 'super' object has no attribute '_ipython_display_'
Some versions of Jupyter notebook are incpompatible with ipython (see here <https://stackoverflow.com/questions/74279848/nglview-installed-but-will-not-import-inside-juypter-notebook-via-anaconda-navig>
__). To resolve install version of :code:ipywidgets<8
using :code:conda
:
.. code:: bash
conda install "ipywidgets <8" -c conda-forge
or :code:pip
:
.. code:: bash
pip install ipywidgets==7.6.0
Example
The following example shows how to use WaterNetworkAnalysis to prepare a MD trajectory and analyse the results for determination of conserved water networks.
.. code:: python
from WaterNetworkAnalysis import align_trajectory from WaterNetworkAnalysis import get_center_of_selection from WaterNetworkAnalysis import get_selection_string_from_resnums from WaterNetworkAnalysis import extract_waters_from_trajectory from ConservedWaterSearch.water_clustering import WaterClustering from ConservedWaterSearch.utils import get_orientations_from_positions
MD trajectory filename
trajectory="md.xtc"
topology filename
topology="md.gro"
aligned trajectory filename
alignedtrj = "aligned_trj.xtc"
aligned snapshot filename
aligned_snap = "aligned.pdb"
distance to select water molecules around
distance = 12.0
align the trajectory and save the alignment reference configuration
align_trajectory( trajectory=trajectory, topology=topology, align_target_file_name=aligned_snap, output_trj_file=alignedtrj, )
define active site by aminoacid residue numbers
active_site_resnums = [111, 112, 113, 122, 133, 138, 139, 142, 143, 157, 166, 167, 169, 170, 203, 231, 232, 238]
find centre of the active site in aligned trajectory
selection_centre = get_center_of_selection( get_selection_string_from_resnums(active_site_resnums), trajectory=alignedtrj, topology=topology, )
extract water coordinates of interest around selection centre
coordO, coordH = extract_waters_from_trajectory( trajectory=alignedtrj, topology=topology, selection_center=selection_centre, dist=distance )
start the clustering procedure
Nsnaps = 200 WC=WaterClustering(nsnaps=Nsnaps)
perform multi stage reclustering
WC.multi_stage_reclustering(*get_orientations_from_positions(coordO,coordH))
visualise results with pymol
WC.visualise_pymol(aligned_snap, active_site_ids=active_site_resnums, dist=distance)
.. image:: https://raw.githubusercontent.com/JecaTosovic/WaterNetworkAnalysis/master/docs/source/figs/Results.png :width: 600