IMP logo
IMP Reference Guide  develop.b79bf0c255,2019/12/05
The Integrative Modeling Platform
IMP::EMageFit Namespace Reference

Build assembly models consistent with EM images (class averages). More...

Detailed Description

Build assembly models consistent with EM images (class averages).

EMageFit is an application to build models of macromolecular assemblies using restraints from EM images (class averages).

Apart from EM images, the method relies on other types of restraints:

  • Maximum distance restraints imposing a maximum distance between a pair of residues, as derived from cross-linking experiments. You can of course impose maximum distance between any part of the complex. As shown in the paper, this type of restraint is required to accurately determine the orientation between the subunits of an assembly.
  • Proximity restraints forcing a pair of subunits to be within a certain distance, suitable for proteomics data.
  • Excluded volume restraints preventing the components of the assembly from interpenetrating.
  • Geometric complementarity restraints favoring large contact surfaces between interacting subunits. These restraints can be somewhat useful if the subunits of the assembly are expected to have large contact surfaces. Among all of the restraints considered here, they are the least useful.

EMageFit samples for good conformations of the macromolecular assembly using multiple molecular docking (optional, but it can be very useful), Simulated Annealing Monte Carlo optimization, and sampling with the discrete optimizer DOMINO. It is also straightforward to incorporate other restraints to the method.

If available, EMageFit will use the docking program HEXDOCK to do docking between subunits that are related by cross-links. But it is worth mentioning that EMageFit can also work with any other docking program, or simply using the cross-linking restraints and no docking at all.

More detail on the functioning of EMageFit can be found on the protocol page, and many of the scripts and utilities are documented on the scripts page.

Examples:

Info

Author(s): Javier Velázquez-Muriel

Maintainer: benmwebb

License: GPL This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Publications:

  • Javier A. Velázquez-Muriel, Keren Lasker, Daniel Russel, Jeremy Phillips, Benjamin M. Webb, Dina Schneidman, Andrej Sali, “Assembly of macromolecular complexes by satisfaction of spatial restraints from electron microscopy images”, Proc Natl Acad Sci USA 109(46), 18821-18826, 2012.

Namespaces

 argminmax
 Utility functions to extract min/max from the inputs.
 
 
 
 database
 Utility functions to manage SQL databases with sqlite3.
 
 domino_model
 Classes to manage a model using DOMINO.
 
 imp_general
 Utility functions that are supposedly not EMageFit-specific.
 
 monte_carlo
 Classes for Monte Carlo sampling using rigid body relative moves.
 
 restraints
 Utility functions to handle restraints.
 
 sampling
 Utility functions to handle sampling.
 
 solutions_io
 Utility functions to store and retrieve solution information.
 
 utility
 Utility functions.
 

Standard module functions

All IMP modules have a set of standard functions to help get information about the module and about files associated with the module.

std::string get_module_version ()
 
std::string get_module_name ()
 
std::string get_data_path (std::string file_name)
 Return the full path to one of this module's data files. More...
 
std::string get_example_path (std::string file_name)
 Return the full path to one of this module's example files. More...
 

Function Documentation

std::string IMP::EMageFit::get_data_path ( std::string  file_name)

Return the full path to one of this module's data files.

To read the data file "data_library" that was placed in the data directory of this module, do something like

std::ifstream in(IMP::EMageFit::get_data_path("data_library"));

This will ensure that the code works both when IMP is installed or if used via the setup_environment.sh script.

Note
Each module has its own data directory, so be sure to use this function from the correct module.
std::string IMP::EMageFit::get_example_path ( std::string  file_name)

Return the full path to one of this module's example files.

To read the example file "example_protein.pdb" that was placed in the examples directory of this module, do something like

std::ifstream in(IMP::EMageFit::get_example_path("example_protein.pdb"));

This will ensure that the code works both when IMP is installed or if used via the setup_environment.sh script.

Note
Each module has its own example directory, so be sure to use this function from the correct module.