BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BALL::StructureMapper Class Reference

#include <BALL/STRUCTURE/structureMapper.h>

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

Public Member Functions

void set (AtomContainer &A, AtomContainer &B)
 
double calculateRMSD ()
 
double calculateRMSD (const AtomBijection &new_bijection)
 
bool calculateTransformation ()
 
void calculateDefaultBijection (bool limit_to_selection=false)
 
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 ()
 
- Public Member Functions inherited from BALL::TransformationProcessor
 TransformationProcessor ()
 
 TransformationProcessor (const Matrix4x4 &transformation)
 
void setTransformation (const Matrix4x4 &transformation)
 
const Matrix4x4getTransformation () const
 
virtual Processor::Result operator() (Atom &atom)
 Applicator method. More...
 
- Public Member Functions inherited from BALL::UnaryProcessor< Atom >
 UnaryProcessor ()
 
 UnaryProcessor (const UnaryProcessor &)
 
virtual ~UnaryProcessor ()
 
virtual bool start ()
 
virtual bool finish ()
 

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_
 
- Protected Attributes inherited from BALL::TransformationProcessor
Matrix4x4 transformation_
 

Additional Inherited Members

- Public Types inherited from BALL::UnaryFunctor< Atom, Processor::Result >
typedef Processor::Result result_type
 
typedef Atom argument_type
 
typedef Atomargument_reference
 
typedef const Atomconst_argument_reference
 
typedef Atomargument_pointer
 
typedef const Atomconst_argument_pointer
 

Detailed Description

Structure mapping class.

Definition at line 49 of file structureMapper.h.

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 ( bool  limit_to_selection = false)

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

double BALL::StructureMapper::calculateRMSD ( const AtomBijection new_bijection)

Calculate the root mean squared deviation given a AtomBijection

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

  • 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

AtomContainer* BALL::StructureMapper::A_
protected

Definition at line 153 of file structureMapper.h.

AtomContainer* BALL::StructureMapper::B_
protected

Definition at line 157 of file structureMapper.h.

AtomBijection BALL::StructureMapper::bijection_
protected

Definition at line 162 of file structureMapper.h.

double BALL::StructureMapper::rmsd_
protected

Definition at line 166 of file structureMapper.h.