Loading...
Searching...
No Matches
BALL::ResidueChecker Class Reference
Molecular Modeling » Molecular Structure » Miscellaneous

`#include <BALL/STRUCTURE/residueChecker.h>`

Inheritance diagram for BALL::ResidueChecker:

## Public Types

enum | TestType { MISSING_ATOMS = 0 , EXTRA_ATOMS , ELEMENTS , SUSPECT_BOND_LENGTHS , NON_INTEGRAL_NET_CHARGE , LARGE_CHARGES , LARGE_NET_CHARGE , NAN_POSITIONS , OVERLAPPING_ATOMS , STRONGLY_OVERLAPPING_ATOMS , DUPLICATE_ATOM_NAMES , UNKNOWN_RESIDUES , NUMBER_OF_TESTS }
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

| ResidueChecker ()
| ResidueChecker (FragmentDB &fragment_db)
| ResidueChecker (const ResidueChecker &residue_checker)
virtual | ~ResidueChecker ()
void | enable (TestType t, bool enable=true)
void | disable (TestType t)
void | enableSelection ()
void | disableSelection ()
bool | isSelectionEnabled ()
bool | getStatus () const
bool | isEnabled (TestType t) const
Processor::Result | operator() (Residue &residue)
bool | start ()
bool | finish ()
Public Member Functions inherited from BALL::UnaryProcessor< Residue >
| UnaryProcessor ()
| UnaryProcessor (const UnaryProcessor &)
virtual | ~UnaryProcessor ()

## Explicit tests

FragmentDB * | fragment_db_
bool | status_
BitVector | tests_
bool | selection_
bool | checkAtomPositions (const Residue &res, const String &res_name)
bool | checkCharge (const Residue &res, const String &res_name)
bool | checkCompleteness (const Residue &res, const Residue &reference, const String &res_name)
bool | checkTemplate (const Residue &res, const Residue &reference, const String &res_name)

## Detailed Description

Residue Consistency Checker. This processor checks residues for internal consistency. It identifies missing or superfluous atoms, suspect bond lengths and non-integral or extremely large charges on the residue. Atom positions are checked as well: a warning is printed, if any of the atom's coordinates is not a number (NaN). Warnings are emitted to Log .

  The individual tests can be enabled/disabled using the enable and disable methods. Please use the enum TestTypes to refer to the appropriate tests. By default all tests are enabled except for OVERLAPPING_ATOMS.

The following tests are currently implemented:

- missing atoms in a residue

  This test checks whether all atoms contained in the fragment database for this type of residue are present in each of the residues.

- extra atoms

  This test checks whether all atoms contained in the current residue are also
  present in the template from the fragment database.

- correct elements

  Check that all atoms in a residue are of the same element as the corresponding atoms in the template from the fragment database.

- suspect bond lengths

  Check that the bond lengths encountered in each of the residues agree within 15% with the bond length in the template from the reference database.

- non-integral net charge

  Check that the sum of charges of a residue is integral, i.e. the sum of all charges is an integer (+/- 0.05 elementary charges).

- large charges

  Check that the none of the atoms bears a charge with an absolute value above 4.0 elementary charges.

- large net charge

  Check that the net charge of the residue is between -2 and +2 elementary charges.

- NaN atom positions

  Check whether any atom has NaN (not a number) as any of its corrdinates. This is a frequent source of error after failing simulations, minimizations, etc.

- strongly overlapping atoms

  Check whether any pair of atoms within a residue is closer than 0.5 Angstrom.

- overlapping atoms

  Check whether any pair of atoms not sharing a bond is further apart then the sum of their vdW radii minus 0.4 Ansgtrom

- duplicate atom names

  Check whether two atoms within the residue have the same name.

- unknown residues

  If unknown residues are encountered (i.e. residues for which no reference template exists in the fragment database), an error occurs. If this test is disabled, the tests requiring a template (missing atoms, extra atoms, suspectr bond lengths, elements) will not be executed for unknown residues.

Definition at line 126 of file residueChecker.h.

## Member Enumeration Documentation

## TestType

enum BALL::ResidueChecker::TestType

Enums Enum to refer to the individual tests. The values of this enum are used by enable , disable , and isEnabled .

Enumerator
MISSING_ATOMS |
EXTRA_ATOMS |
ELEMENTS |
SUSPECT_BOND_LENGTHS |
NON_INTEGRAL_NET_CHARGE |
LARGE_CHARGES |
LARGE_NET_CHARGE |
NAN_POSITIONS |
OVERLAPPING_ATOMS |
STRONGLY_OVERLAPPING_ATOMS |
DUPLICATE_ATOM_NAMES |
UNKNOWN_RESIDUES |
NUMBER_OF_TESTS |

Definition at line 141 of file residueChecker.h.

## Constructor & Destructor Documentation

## ResidueChecker() [1/3]

BALL::ResidueChecker::ResidueChecker | ( |  | ) |

Constructors and Destructors Default constructor

## ResidueChecker() [2/3]

BALL::ResidueChecker::ResidueChecker | ( | FragmentDB & | fragment_db | ) |

Detailed constructor

## ResidueChecker() [3/3]

BALL::ResidueChecker::ResidueChecker | ( | const ResidueChecker & | residue_checker | ) |

Copy constructor

## ~ResidueChecker()

virtual BALL::ResidueChecker::~ResidueChecker | ( |  | ) |

virtual

Destructor

## Member Function Documentation

## checkAtomPositions()

bool BALL::ResidueChecker::checkAtomPositions | ( | const Residue & | res,
|  | const String & | res_name )

## checkCharge()

bool BALL::ResidueChecker::checkCharge | ( | const Residue & | res,
|  | const String & | res_name )

## checkCompleteness()

bool BALL::ResidueChecker::checkCompleteness | ( | const Residue & | res,
|  | const Residue & | reference,
|  | const String & | res_name )

## checkTemplate()

bool BALL::ResidueChecker::checkTemplate | ( | const Residue & | res,
|  | const Residue & | reference,
|  | const String & | res_name )

## disable()

void BALL::ResidueChecker::disable | ( | TestType | t | ) |

Disable a specific test

## disableSelection()

void BALL::ResidueChecker::disableSelection | ( |  | ) |

inline

Disable selection of problematic atoms

Definition at line 211 of file residueChecker.h.

## enable()

void BALL::ResidueChecker::enable | ( | TestType | t,
|  | bool | enable = true )

Accessors Enable a specific test

## enableSelection()

void BALL::ResidueChecker::enableSelection | ( |  | ) |

inline

Enable selection of problematic atoms

Definition at line 207 of file residueChecker.h.

## finish()

bool BALL::ResidueChecker::finish | ( |  | ) |

virtual

finish method

Reimplemented from BALL::UnaryProcessor< Residue >.

## getStatus()

bool BALL::ResidueChecker::getStatus | ( |  | ) | const

Return true if the last application did not produce any warning. The getStatus method may be called after applying the ResidueChecker to a kernel object.

Returns
  bool true if no warnings occurred, false otherwise

## isEnabled()

bool BALL::ResidueChecker::isEnabled | ( | TestType | t | ) | const

Check whether a specific test is enabled

## isSelectionEnabled()

bool BALL::ResidueChecker::isSelectionEnabled | ( |  | ) |

inline

Return the status of the selection

Definition at line 215 of file residueChecker.h.

## operator()()

Processor::Result BALL::ResidueChecker::operator() | ( | Residue & | residue | ) |

virtual

Processor-related methods

Reimplemented from BALL::UnaryProcessor< Residue >.

## start()

bool BALL::ResidueChecker::start | ( |  | ) |

virtual

start method

Reimplemented from BALL::UnaryProcessor< Residue >.

## Member Data Documentation

## fragment_db_

FragmentDB* BALL::ResidueChecker::fragment_db_

protected

Definition at line 277 of file residueChecker.h.

## selection_

bool BALL::ResidueChecker::selection_

protected

Definition at line 286 of file residueChecker.h.

## status_

bool BALL::ResidueChecker::status_

protected

Definition at line 280 of file residueChecker.h.

## tests_

BitVector BALL::ResidueChecker::tests_

protected

Definition at line 283 of file residueChecker.h.