IMP logo
IMP Reference Guide  develop.fcdab45,2019/06/18
The Integrative Modeling Platform
IMP::cnmultifit Namespace Reference

Generate cyclic atomic structures using cryo-electron microscopy data. More...

Detailed Description

Generate cyclic atomic structures using cryo-electron microscopy data.

This module implements a protocol for generating atomic structures of complexes with cyclic symmetry (such as rings), using only the atomic structure of a single subunit and a cryo-electron microscopy density map of the complex. See the IMP::multifit module for a similar protocol for handling non-symmetric complexes.

cnmultifit: command line tool

Generally, this module is not used directly; instead, the cnmultifit command line tool is used. For an example, see Modeling of GroEL.

Web server

A webserver that uses both this module and the IMP::multifit module is also available.

Info

Author(s): Keren Lasker

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:

Classes

class  AlignSymmetric
 A class for fast alignment of a cyclic model to its density. More...
 
class  CnSymmAxisDetector
 Detect cn symmetry in proteins and density maps. More...
 
class  MolCnSymmAxisDetector
 molecule symmetry detector More...
 

Typedefs

typedef IMP::Vector
< AlignSymmetric
AlignSymmetrics
 
typedef IMP::Vector
< CnSymmAxisDetector
CnSymmAxisDetectors
 
typedef IMP::Vector
< MolCnSymmAxisDetector
MolCnSymmAxisDetectors
 

Functions

em::DensityMapbuild_cn_dens_assembly (em::DensityMap *subunit_dens, const em::DensityHeader &asmb_dens_header, algebra::Transformation3D monomer_t, int symm_deg)
 
algebra::Transformation3D calc_transformation_around_axis (algebra::Vector3D a, algebra::Vector3D b, float angle_rad)
 
float cn_symm_score (atom::Hierarchies mhs, const algebra::Vector3D &center, const algebra::Vector3D &direction, int symm_deg)
 scores an input vector as a symmetry axis More...
 
void do_all_fitting (const std::string param_filename, const std::string chimera_filename="")
 High level interface to build cyclic symmetric complexes. More...
 
em::FittingSolutions fit_cn_assembly (atom::Hierarchies mhs, int dn_symm_deg, em::DensityMap *dmap, float threshold, const AlignSymmetric &aligner, bool sample_translation=false, bool fine_rotational_sampling=true)
 Fit a symmetric model to its density. More...
 
em::FittingSolutions fit_cn_assembly (em::DensityMap *asmb_map, const MolCnSymmAxisDetector &symm_mol, em::DensityMap *dmap, const CnSymmAxisDetector &symm_map, int symm_deg, float threshold)
 
algebra::Transformation3Ds generate_cn_transformations (atom::Hierarchies mhs, int symm_deg)
 
algebra::Transformation3Ds generate_translations_along_symm_axis (atom::Hierarchies mhs, int symm_deg)
 
float get_cn_rmsd (atom::Hierarchies mh1, atom::Hierarchies mh2)
 Find correspondence between the two rings and calculate rmsd. More...
 
Floats get_rmsd_for_models (const std::string param_filename, const std::string trans_filename, const std::string ref_filename, int start_model=0, int end_model=-1)
 
bool pca_matching (const algebra::PrincipalComponentAnalysis &pca1, const algebra::PrincipalComponentAnalysis &pca2, float resolution)
 
multifit::FittingSolutionRecords prune_by_pca (const std::string &param_fn, const multifit::FittingSolutionRecords &sols, int dn=1)
 
em::FittingSolutions symmetry_local_fitting (atom::Hierarchies mhs, int cn_symm_deg, int dn_symm_deg, em::DensityMap *dmap, int num_of_trans_to_consider)
 
void transform_cn_assembly (atom::Hierarchies mhs, algebra::Transformation3D monomer_t)
 

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...
 

Typedef Documentation

Pass or store a set of AlignSymmetric .

Definition at line 62 of file AlignSymmetric.h.

Pass or store a set of CnSymmAxisDetector .

Definition at line 60 of file CnSymmAxisDetector.h.

Function Documentation

float IMP::cnmultifit::cn_symm_score ( atom::Hierarchies  mhs,
const algebra::Vector3D &  center,
const algebra::Vector3D &  direction,
int  symm_deg 
)

scores an input vector as a symmetry axis

void IMP::cnmultifit::do_all_fitting ( const std::string  param_filename,
const std::string  chimera_filename = "" 
)

High level interface to build cyclic symmetric complexes.

Given a parameter file, this function does all the work to build a number of fits of the monomer into a density map of the symmetric complex.

Parameters
param_filenameName of a parameter file.
chimera_filenameIf not empty, the name of a file that will be generated containing Chimera-compatible fit information.
em::FittingSolutions IMP::cnmultifit::fit_cn_assembly ( atom::Hierarchies  mhs,
int  dn_symm_deg,
em::DensityMap *  dmap,
float  threshold,
const AlignSymmetric &  aligner,
bool  sample_translation = false,
bool  fine_rotational_sampling = true 
)

Fit a symmetric model to its density.

float IMP::cnmultifit::get_cn_rmsd ( atom::Hierarchies  mh1,
atom::Hierarchies  mh2 
)

Find correspondence between the two rings and calculate rmsd.

std::string IMP::cnmultifit::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::cnmultifit::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::cnmultifit::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::cnmultifit::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.