Classes | |
struct | is_any |
Indiscriminate predicate. More... | |
struct | is_selected |
Selection predicate. More... | |
struct | is_not_selected |
Inverse selection predicate. More... | |
struct | is_named |
Name predicate. More... | |
struct | type_is |
Type predicate. More... | |
struct | chain_id_is |
Chain ID predicate. More... | |
struct | number_is |
Number predicate. More... | |
Namespaces | |
namespace | internal |
Functions | |
template<typename AtomIterator1, typename AtomIterator2> | |
double | leastsquares_superposition (AtomIterator1 fixed_first, AtomIterator1 fixed_last, AtomIterator2 superimpose_first, AtomIterator2 superimpose_last, BTK::MATH::BTKMatrix &U, BTK::MATH::BTKVector &T) |
Calculate the transformation resulting in the least-squares superposition of two atom sets. | |
template<typename AtomIterator1, typename AtomIterator2, typename AtomIterator3> | |
double | leastsquares_superposition (AtomIterator1 fixed_first, AtomIterator1 fixed_last, AtomIterator2 superimpose_first, AtomIterator2 superimpose_last, AtomIterator3 transform_first, AtomIterator3 transform_last) |
Applies the least-squares superposition of two atom sets to a third atom set. | |
template<typename AtomIterator1, typename AtomIterator2> | |
double | get_rmsd (AtomIterator1 a1_first, AtomIterator1 a1_last, AtomIterator2 a2_first, AtomIterator2 a2_last) |
Calculate the superimposed RMSD of two atom sets. | |
template<typename AtomIterator1, typename AtomIterator2> | |
double | get_trivial_rmsd (AtomIterator1 a1_first, AtomIterator1 a1_last, AtomIterator2 a2_first, AtomIterator2 a2_last) |
calculate the trivial (non-superimposed) RMSD between two atom sets. | |
template<typename AtomIterator> | |
void | translate (AtomIterator begin, AtomIterator end, BTK::MATH::BTKVector const &T) |
Translate atoms along vector T. | |
template<typename AtomIterator> | |
void | center (AtomIterator begin, AtomIterator end) |
Center a structure. | |
template<typename AtomIterator1, typename AtomIterator2> | |
void | align_centers (AtomIterator1 fixed_begin, AtomIterator1 fixed_end, AtomIterator2 mobile_begin, AtomIterator2 mobile_end) |
Align the geometric centers of two molecules. | |
template<typename AtomIterator> | |
void | rotate (AtomIterator begin, AtomIterator end, double phi, double theta, double psi, BTK::MATH::BTKVector const &fixed_point) |
Rotate atoms about a fixed point. | |
template<typename AtomIterator> | |
void | rotate (AtomIterator begin, AtomIterator end, double phi, double theta, double psi) |
Rotate atoms about their geometric center. | |
template<typename AtomIterator> | |
void | rotate (AtomIterator begin, AtomIterator end, BTK::MATH::BTKVector const &axis, double theta, BTK::MATH::BTKVector const &fixed_point) |
Rotate atoms around an axis or vector, with respect to a point. | |
template<typename AtomIterator> | |
void | rotate (AtomIterator begin, AtomIterator end, BTK::MATH::BTKVector const &axis, double theta) |
Rotate atoms around an axis or vector, with respect to their geometric center. | |
template<typename AtomIterator> | |
void | rotate (AtomIterator begin, AtomIterator end, BTK::MATH::BTKMatrix const &R) |
Rotate atoms using a rotation matrix. | |
template<typename AtomIterator> | |
void | transform (AtomIterator begin, AtomIterator end, BTK::MATH::BTKMatrix const &R, BTK::MATH::BTKVector const &T) |
Combined translate/rotate. | |
Molecular geometric properties | |
Methods for computing geometric properties of atomic structures.
These are iterator-based methods for computing geometric properties of atomic structures, such as principal axes and geometric centers. They will work with any iterator that is a model of the AtomIterator concept. | |
template<typename AtomIterator> | |
BTK::MATH::BTKVector | geometric_center (AtomIterator begin, AtomIterator end) |
Compute the geometric center of a range of atoms. | |
Selection methods. | |
template<typename Iterator> | |
void | select (Iterator begin, Iterator end, bool select_value=true) |
Select/deselect all objects in a range. | |
template<typename Iterator, typename UnaryPredicate> | |
void | select_if (Iterator begin, Iterator end, UnaryPredicate test, bool select_value=true) |
Select/deselect objects in a range that satisfy a predicate. |
BTK::MATH::BTKVector BTK::ALGORITHMS::geometric_center | ( | AtomIterator | begin, | |
AtomIterator | end | |||
) |
Compute the geometric center of a range of atoms.
Calculates the geometric center of atoms in the range [first,last).
void BTK::ALGORITHMS::select | ( | Iterator | begin, | |
Iterator | end, | |||
bool | select_value = true | |||
) |
Select/deselect all objects in a range.
Changes the select flag for every object in the range [begin,end) to the specified value (the objects must expose the select(bool) method).
select_value | The value to assign to the select flag of every atom in the starting range. |
void BTK::ALGORITHMS::select_if | ( | Iterator | begin, | |
Iterator | end, | |||
UnaryPredicate | test, | |||
bool | select_value = true | |||
) |
Select/deselect objects in a range that satisfy a predicate.
Changes the select flag for every object in the range [begin,end) that satisfies the given predicate (the objects must expose the select(bool) method).
test | An object or function satisfying the UnaryPredicate concept. | |
select_value | The value to assign to the select flag of every object that satisfies the supplied predicate. |