AlloViz is 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 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.
- Clone the repository
The repository must be cloned along with all the submodules using the --recursive
flag.
Additional flags are recommended for speed:
git clone --recursive --shallow-submodules -j 9 https://github.com/frannerin/AlloViz
- Create the virtual environment
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
If you wish to create a virtual environment without conda, see below for the alternative procedure.
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 follow:
CONDA_SUBDIR=osx-64 conda create -n alloviz -c conda-forge --solver libmamba --file AlloViz/conda_environment.txt
Then activate the environment and install AlloViz using pip install ./AlloViz
2.1 Create the virtual environment - alternative procedure
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). pytraj
and 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.
Check the tutorial notebooks or the quickstart.
Nerín-Fonz, F., Caprai, C., Morales-Pastor, A., Lopez-Balastegui, M., Aranda-García, D., Giorgino, T., & Selent, J. (2024). AlloViz: a tool for the calculation and visualisation of protein allosteric communication networks. Computational and Structural Biotechnology Journal. https://doi.org/10.1016/j.csbj.2024.04.047