#include <residueChecker.h>
Inheritance diagram for 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 } |
Enum to refer to the individual tests. More... | |
Public Member Functions | |
ResidueChecker () | |
Default constructor. | |
ResidueChecker (FragmentDB &fragment_db) | |
Detailed constructor. | |
ResidueChecker (const ResidueChecker &residue_checker) | |
Copy constructor. | |
virtual | ~ResidueChecker () |
Destructor. | |
void | enable (TestType t) throw () |
Enable a specific test. | |
void | disable (TestType t) throw () |
Disable a specific test. | |
void | enableSelection () throw () |
Enable selection of problematic atoms. | |
void | disableSelection () throw () |
Disable selection of problematic atoms. | |
bool | isSelectionEnabled () throw () |
Return the status of the selection. | |
bool | getStatus () const |
Return true if the last application did not produce any warning. | |
bool | isEnabled (TestType t) const throw () |
Check whether a specific test is enabled. | |
Processor::Result | operator() (Residue &residue) |
operator () | |
bool | start () |
start method | |
bool | finish () |
finish method | |
Explicit tests | |
bool | checkAtomPositions (const Residue &res, const String &res_name) throw () |
bool | checkCharge (const Residue &res, const String &res_name) throw () |
bool | checkCompleteness (const Residue &res, const Residue &reference, const String &res_name) throw () |
bool | checkTemplate (const Residue &res, const Residue &reference, const String &res_name) throw () |
Protected Attributes | |
FragmentDB * | fragment_db_ |
bool | status_ |
BitVector | tests_ |
bool | selection_ |
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 .
This test checks whether all atoms contained in the fragment database for this type of residue are present in each of the residues.
This test checks whether all atoms contained in the current residue are also present in the template from the fragment database.
Check that all atoms in a residue are of the same element as the corresponding atoms in the template from the fragment database.
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.
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).
Check that the none of the atoms bears a charge with an absolute value above 4.0 elementary charges.
Check that the net charge of the residue is between -2 and +2 elementary charges.
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.
Check whether any pair of atoms within a residue is closer than 0.5 Angstrom.
Check whether any pair of atoms not sharing a bond is further apart then the sum of their vdW radii minus 0.4 Ansgtrom
Check whether two atoms within the residue have the same name.
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.
|
Enum to refer to the individual tests. The values of this enum are used by enable , disable , and isEnabled . |
|
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.
|