BALL  1.5.0
List of all members

#include <BALL/STRUCTURE/structureMapper.h>

Inheritance diagram for BALL::StructureMapper:
BALL::TransformationProcessor BALL::UnaryProcessor< Atom > BALL::UnaryFunctor< ArgumentType, ResultType >

Constructors and Destructors

AtomContainerA_
 
AtomContainerB_
 
AtomBijection bijection_
 
double rmsd_
 
 StructureMapper ()
 
 StructureMapper (AtomContainer &A, AtomContainer &B)
 
virtual ~StructureMapper ()
 
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)
 
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)
 
Size countFragments_ (const AtomContainer &ac) const
 

Additional Inherited Members

- Public Types inherited from BALL::UnaryFunctor< ArgumentType, ResultType >
typedef ResultType result_type
 
typedef ArgumentType argument_type
 
typedef ArgumentType & argument_reference
 
typedef const ArgumentType & const_argument_reference
 
typedef ArgumentType * argument_pointer
 
typedef const ArgumentType * const_argument_pointer
 
- 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 ()
 
- Protected Attributes inherited from BALL::TransformationProcessor
Matrix4x4 transformation_
 

Detailed Description

Structure mapping class.

Definition at line 49 of file structureMapper.h.

Constructor & Destructor Documentation

◆ StructureMapper() [1/2]

BALL::StructureMapper::StructureMapper ( )

Default constructor

◆ StructureMapper() [2/2]

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

Constructor

◆ ~StructureMapper()

virtual BALL::StructureMapper::~StructureMapper ( )
virtual

Destructor

Member Function Documentation

◆ calculateDefaultBijection()

void BALL::StructureMapper::calculateDefaultBijection ( bool  limit_to_selection = false)

Calculate a reasonable bijection for the mapping of A and B

◆ calculateFragmentBijection()

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

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

◆ calculateRMSD() [1/2]

double BALL::StructureMapper::calculateRMSD ( )

Calculate the root mean squared deviation

◆ calculateRMSD() [2/2]

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

Calculate the root mean squared deviation given a AtomBijection

◆ calculateTransformation()

bool BALL::StructureMapper::calculateTransformation ( )

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

◆ countFragments_()

Size BALL::StructureMapper::countFragments_ ( const AtomContainer ac) const
protected

◆ getBijection()

const AtomBijection& BALL::StructureMapper::getBijection ( ) const
inline

Return the current bijection

Definition at line 95 of file structureMapper.h.

◆ mapFragments()

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

◆ mapProteins()

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.

◆ mapResiduesByBackbone()

Size BALL::StructureMapper::mapResiduesByBackbone ( const list< Residue * > &  l1,
const list< Residue * > &  l2 
)

◆ matchBackboneAtoms()

static Matrix4x4 BALL::StructureMapper::matchBackboneAtoms ( const Residue r1,
const Residue r2 
)
static

◆ matchPoints()

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.

◆ searchPattern()

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 
)

◆ set()

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

Assign the two objects to be mapped

Member Data Documentation

◆ A_

AtomContainer* BALL::StructureMapper::A_
protected

Definition at line 153 of file structureMapper.h.

◆ B_

AtomContainer* BALL::StructureMapper::B_
protected

Definition at line 157 of file structureMapper.h.

◆ bijection_

AtomBijection BALL::StructureMapper::bijection_
protected

Definition at line 162 of file structureMapper.h.

◆ rmsd_

double BALL::StructureMapper::rmsd_
protected

Definition at line 166 of file structureMapper.h.