IMP
2.4.0
The Integrative Modeling Platform
|
Generate cyclic atomic structures using cryo-electron microscopy data. More...
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.
Generally, this module is not used directly; instead, the cnmultifit
command line tool is used. For an example, see Modeling of GroEL.
A webserver that uses both this module and the IMP::multifit module is also available.
Author(s): Keren Lasker
Maintainer: benmwebb
License: LGPL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser 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::base::Vector < AlignSymmetric > | AlignSymmetrics |
typedef IMP::base::Vector < CnSymmAxisDetector > | CnSymmAxisDetectors |
typedef IMP::base::Vector < MolCnSymmAxisDetector > | MolCnSymmAxisDetectors |
Functions | |
em::DensityMap * | build_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 ¢er, 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 ¶m_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 | |
std::string | get_module_version () |
std::string | get_module_name () |
std::string | get_data_path (std::string file_name) |
Return the full path to installed data. More... | |
std::string | get_example_path (std::string file_name) |
Return the path to installed example data for this module. More... | |
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.
Pass or store a set of MolCnSymmAxisDetector .
Definition at line 46 of file MolCnSymmAxisDetector.h.
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.
param_filename | Name of a parameter file. |
chimera_filename | If 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 installed data.
Each module has its own data directory, so be sure to use the version of this function in the correct module. To read the data file "data_library" that was placed in the data
directory of module "mymodule", do something like
This will ensure that the code works when IMP
is installed or used via the setup_environment.sh
script.
std::string IMP::cnmultifit::get_example_path | ( | std::string | file_name | ) |
Return the path to installed example data for this module.
Each module has its own example directory, so be sure to use the version of this function in the correct module. For example to read the file example_protein.pdb
located in the examples
directory of the IMP::atom module, do
This will ensure that the code works when IMP
is installed or used via the setup_environment.sh
script.