#include <BALL/STRUCTURE/structureMapper.h>
Public Member Functions | |
void | set (AtomContainer &A, AtomContainer &B) |
double | calculateRMSD () |
bool | calculateTransformation () |
void | calculateDefaultBijection () |
const AtomBijection & | getBijection () 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 | |
AtomContainer * | A_ |
AtomContainer * | B_ |
AtomBijection | bijection_ |
double | rmsd_ |
Structure mapping class.
Definition at line 49 of file structureMapper.h.
BALL::StructureMapper::StructureMapper | ( | ) |
Default constructor
BALL::StructureMapper::StructureMapper | ( | AtomContainer & | A, | |
AtomContainer & | B | |||
) |
Constructor
virtual BALL::StructureMapper::~StructureMapper | ( | ) | [virtual] |
Destructor
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
Definition at line 91 of file structureMapper.h.
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
w1
onto the point v1
,w2
onto the ray that starts in v1
and goes through v2
,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
AtomContainer* BALL::StructureMapper::A_ [protected] |
Definition at line 149 of file structureMapper.h.
AtomContainer* BALL::StructureMapper::B_ [protected] |
Definition at line 153 of file structureMapper.h.
AtomBijection BALL::StructureMapper::bijection_ [protected] |
Definition at line 158 of file structureMapper.h.
double BALL::StructureMapper::rmsd_ [protected] |
Definition at line 162 of file structureMapper.h.