Here you can find scripts and tutorials to perform single-structure model and ensemble refinement using cryo-EM maps and the EMMIVox approach introduced in:
S. E. Hoff, F. E. Thomasen, K. Lindorff-Larsen, M. Bonomi. Accurate model and ensemble refinement using cryo-electron microscopy maps and Bayesian inference. PLoS Comput. Biol. 20 (2024) e1012180. doi: 10.1371/journal.pcbi.1012180.
This repository is organized in the following two directories:
scripts: python scripts used for preprocessing and analysis of EMMIVox simulationstutorials: complete tutorials for single-structure and ensemble refinement
Make sure you have installed:
- A modern C++ compiler that supports OpenMP parallelization and C++17.
- MPI library/compilers for multi-replica ensemble simulations.
- Cuda, needed by both GROMACS and PLUMED. The exact version depends a bit on how old your GPUs are.
- LibTorch. Make sure you download the C++ version (LibTorch, not pytorch) that is supported by the Cuda version you installed;
- Conda to install the python libraries needed by the pre- and post-processing scripts. Have a look here for more info about the libraries that you need to install.
- Phenix (any recent version), if you want to validate single-structure refinement. Not really needed for ensemble modelling.
EMMIVox is currently implemented in the GitHub master branch of PLUMED, which you can obtain with:
git clone https://github.com/plumed/plumed2.git
or downloading the following zip archive:
wget https://github.com/plumed/plumed2/archive/refs/heads/master.zip
Please have a look here for detailed instructions about compiling PLUMED with Libtorch support. The main point is to enable Libtorch with:
./configure --enable-libtorch
Detailed instructions about patching GROMACS with PLUMED, configuration and installation are available here.
This material has been prepared by Samuel Hoff and Max Bonomi (Institut Pasteur, France). For any technical question, please write to mbonomi_at_pasteur.fr.