Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

StructureMapper Class Reference
[Mapping of molecular structures]

Structure mapping class. More...

#include <structureMapper.h>

Inheritance diagram for StructureMapper:

TransformationProcessor UnaryProcessor< Atom > UnaryFunctor< Atom, Processor::Result > List of all members.

Public Member Functions

void set (AtomContainer &A, AtomContainer &B)
 Assign the two objects to be mapped.
double calculateRMSD ()
 Calculate the root mean squared deviation.
bool calculateTransformation ()
 Calculate the transformation to map the first of two isomorphous AtomContainer objects onto the second.
void calculateDefaultBijection ()
 Calculate a reasonable bijection for the mapping of A and B.
const AtomBijectiongetBijection () const
 Return the current bijection.
AtomBijection calculateFragmentBijection (const vector< Fragment * > &A, const vector< Fragment * > &B)
 Calculates a bijection to map two arrays of fragments onto each other.
bool mapFragments (const vector< Fragment * > &A, const vector< Fragment * > &B, Matrix4x4 *transformation, double upper_bound=8.0, double lower_bound=2.5)
 Maps two fragments onto each other.
Size mapResiduesByBackbone (const list< Residue * > &l1, const list< Residue * > &l2)
vector< vector< Fragment * > > & searchPattern (vector< Fragment * > &pattern, AtomContainer &composite, double max_rmsd=4.0, double max_center_tolerance=2.0, double upper_bound=8.0, double lower_bound=4.0)
Matrix4x4 mapProteins (Protein &P1, Protein &P2, std::map< String, Size > &type_map, Size &no_matched_ca, double &rmsd, double upper_bound=8.0, double lower_bound=4.0, double tolerance=0.6)
 Map two proteins onto each other.
Constructors and Destructors
 StructureMapper ()
 Default constructor.
 StructureMapper (AtomContainer &A, AtomContainer &B)
 Constructor.
virtual ~StructureMapper ()
 Destructor.

Static Public Member Functions

Matrix4x4 matchPoints (const Vector3 &w1, const Vector3 &w2, const Vector3 &w3, const Vector3 &v1, const Vector3 &v2, const Vector3 &v3)
 Map three points onto each other.
Matrix4x4 matchBackboneAtoms (const Residue &r1, const Residue &r2)

Protected Member Functions

Size countFragments_ (const AtomContainer &ac) const

Protected Attributes

AtomContainerA_
AtomContainerB_
AtomBijection bijection_
double rmsd_

Detailed Description

Structure mapping class.


Member Function Documentation

AtomBijection StructureMapper::calculateFragmentBijection const vector< Fragment * > &  A,
const vector< Fragment * > &  B
 

Calculates a bijection to map two arrays of fragments onto each other.

Matrix4x4 StructureMapper::mapProteins Protein P1,
Protein P2,
std::map< String, Size > &  type_map,
Size no_matched_ca,
double &  rmsd,
double  upper_bound = 8.0,
double  lower_bound = 4.0,
double  tolerance = 0.6
 

Map two proteins onto each other.

Matrix4x4 StructureMapper::matchPoints const Vector3 w1,
const Vector3 w2,
const Vector3 w3,
const Vector3 v1,
const Vector3 v2,
const Vector3 v3
[static]
 

Map three points onto each other.

Computes a transformation that maps

  • the point w1 onto the point v1,
  • the point w2 onto the ray that starts in v1 and goes through v2,
  • the point w3 into the plane generated by v1, v2, and v3.