A Python package to interactively compute, analyze and visualize protein allosteric communication (residue interaction) networks and delta-networks.
AlloViz binds together some newly written modules with 8 Python packages that provide different ways of calculating residue interactions: GetContacts, correlationplus, dynetan, PyInteraph2, pytraj, MD-TASK, MDEntropy and CARDS.
For the same topology and molecular dynamics (MD) trajectory, the network can be constructed based on residue contacts, correlation of atom movement or dihedrals, or interaction energies, depending on the package selected. Moreover, for example for movement correlation, the movement tracked can be that of the whole residue, its center of mass, its alpha-C or its beta-C; and it can be calculated as the Pearson’s correlation coefficient, Mutual Information (MI) or Linear MI (LMI). See all the options.
The resulting network can be analyzed with edge centrality metrics algorithms provided by the Python package NetworkX, and they can be visualized in an interactive Python Notebook (i.e., Jupyter) using nglview.
AlloViz can also be use through a GUI.
The repository must be cloned along with all the submodules using the
Additional flags are recommended for speed:
git clone --recursive --shallow-submodules -j 9 https://github.com/frannerin/AlloViz
It is recommended to create a virtual environment with Miniconda
or similars using the
conda-forge channel (a fast dependency solver is recommended for speed:
libamba solver for Miniconda
or the Mamba version of Conda):
conda create -n AlloViz -c conda-forge --solver libmamba --file AlloViz/conda_environment.txt conda activate AlloViz
Finally, AlloViz is installed into the environment with
pip install ./AlloViz.
Note for MacOS M1/M2 (ARM) users: porting of conda software to the ARM architecture is hit-and-miss, and numerous dependencies are missing. You may want to install x64 packages instead, as follows…
CONDA_SUBDIR=osx-64 conda create -n AlloViz -c conda-forge --solver libmamba --file AlloViz/conda_environment.txt
Although not recommended, the virtual environment can also be created with pip:
python -m venv AlloViz/env source AlloViz/env/bin/activate pip install -r AlloViz/pip_requirements.txt pip install ./AlloViz
Python <3.10 is recommended (i.e., 3.9.16).
pytrajand the construction of delta-networks won’t be available in a pip environment, as AmberTools and pymol-open-source are needed (respectively) for that, and they aren’t distributed through PyPi. Other additional dependencies might also need to be installed by hand.