BALL 1.5.0
Loading...
Searching...
No Matches

#include <BALL/STRUCTURE/structureMapper.h>

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

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