BALL::StructureMapper Class Reference
[Mapping of molecular structures]

#include <BALL/STRUCTURE/structureMapper.h>

Inheritance diagram for BALL::StructureMapper:
BALL::TransformationProcessor BALL::UnaryProcessor< Atom > BALL::UnaryFunctor< Atom, Processor::Result >

List of all members.


Public Member Functions

void set (AtomContainer &A, AtomContainer &B)
double calculateRMSD ()
bool calculateTransformation ()
void calculateDefaultBijection ()
const AtomBijectiongetBijection () const
AtomBijection calculateFragmentBijection (const vector< Fragment * > &A, const vector< Fragment * > &B)
bool mapFragments (const vector< Fragment * > &A, const vector< Fragment * > &B, Matrix4x4 *transformation, double upper_bound=8.0, double lower_bound=2.5)
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)
Constructors and Destructors
 StructureMapper ()
 StructureMapper (AtomContainer &A, AtomContainer &B)
virtual ~StructureMapper ()

Static Public Member Functions

static Matrix4x4 matchPoints (const Vector3 &w1, const Vector3 &w2, const Vector3 &w3, const Vector3 &v1, const Vector3 &v2, const Vector3 &v3)
static 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.


Constructor & Destructor Documentation

BALL::StructureMapper::StructureMapper (  ) 

Default constructor

BALL::StructureMapper::StructureMapper ( AtomContainer A,
AtomContainer B 
)

Constructor

virtual BALL::StructureMapper::~StructureMapper (  )  [virtual]

Destructor


Member Function Documentation

void BALL::StructureMapper::calculateDefaultBijection (  ) 

Calculate a reasonable bijection for the mapping of A and B

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

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

double BALL::StructureMapper::calculateRMSD (  ) 

Calculate the root mean squared deviation

bool BALL::StructureMapper::calculateTransformation (  ) 

Calculate the transformation to map the first of two isomorphous AtomContainer objects onto the second

Size BALL::StructureMapper::countFragments_ ( const AtomContainer ac  )  const [protected]
const AtomBijection& BALL::StructureMapper::getBijection (  )  const [inline]

Return the current bijection

bool BALL::StructureMapper::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

Matrix4x4 BALL::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.

Size BALL::StructureMapper::mapResiduesByBackbone ( const list< Residue * > &  l1,
const list< Residue * > &  l2 
)
static Matrix4x4 BALL::StructureMapper::matchBackboneAtoms ( const Residue r1,
const Residue r2 
) [static]
static Matrix4x4 BALL::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.
vector<vector<Fragment*> >& BALL::StructureMapper::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 
)
void BALL::StructureMapper::set ( AtomContainer A,
AtomContainer B 
)

Assign the two objects to be mapped


Member Data Documentation