Classes | |
| class | BoundsMatrix |
| Class to store the distance bound. More... | |
| class | ChiralSet |
| Class used to store a quartet of points and chiral volume bounds on them. More... | |
| class | ChiralViolationContrib |
| class | DistViolationContrib |
| class | FourthDimContrib |
Typedefs | |
| typedef boost::shared_ptr < BoundsMatrix > | BoundsMatPtr |
| typedef boost::shared_ptr < ChiralSet > | ChiralSetPtr |
| typedef std::vector < ChiralSetPtr > | VECT_CHIRALSET |
Functions | |
| double | pickRandomDistMat (const BoundsMatrix &mmat, RDNumeric::SymmMatrix< double > &distmat, int seed=-1) |
| bool | computeInitialCoords (const RDNumeric::SymmMatrix< double > &distmat, RDGeom::PointPtrVect &positions, bool randNegEig=false, unsigned int numZeroFail=2) |
| Compute an initial embedded in 3D based on a distance matrix. | |
| bool | computeRandomCoords (RDGeom::PointPtrVect &positions, double boxSize) |
| places atoms randomly in a box | |
| ForceFields::ForceField * | constructForceField (const BoundsMatrix &mmat, RDGeom::PointPtrVect &positions, const VECT_CHIRALSET &csets, double weightChiral=1.0, double weightFourthDim=0.1, std::map< std::pair< int, int >, double > *extraWeights=0, double basinSizeTol=5.0) |
| Setup the error function for violation of distance bounds as a forcefield. | |
| bool | triangleSmoothBounds (BoundsMatrix *boundsMat) |
| bool | triangleSmoothBounds (BoundsMatPtr boundsMat) |
| typedef boost::shared_ptr<BoundsMatrix> DistGeom::BoundsMatPtr |
Definition at line 110 of file BoundsMatrix.h.
| typedef boost::shared_ptr<ChiralSet> DistGeom::ChiralSetPtr |
Definition at line 47 of file ChiralSet.h.
| typedef std::vector<ChiralSetPtr> DistGeom::VECT_CHIRALSET |
Definition at line 48 of file ChiralSet.h.
| bool DistGeom::computeInitialCoords | ( | const RDNumeric::SymmMatrix< double > & | distmat, | |
| RDGeom::PointPtrVect & | positions, | |||
| bool | randNegEig = false, |
|||
| unsigned int | numZeroFail = 2 | |||
| ) |
Compute an initial embedded in 3D based on a distance matrix.
This function follows the embed algorithm mentioned in "Distance Geometry and Molecular Conformation" by G.M.Crippen and T.F.Havel (pages 312-313)
| distmat | Distance matrix | |
| positions | A vector of pointers to Points to write out the resulting coordinates | |
| randNegEig | If set to true and if any of the eigen values are negative, we will pick the corresponding components of the coordinates at random | |
| numZeroFail | Fail embedding is more this many (or more) eigen values are zero |
| bool DistGeom::computeRandomCoords | ( | RDGeom::PointPtrVect & | positions, | |
| double | boxSize | |||
| ) |
places atoms randomly in a box
| positions | A vector of pointers to Points to write out the resulting coordinates | |
| boxSize | If set to true and if any of the eigen values are negative, we will pick the corresponding components of the coordinates at random |
| ForceFields::ForceField* DistGeom::constructForceField | ( | const BoundsMatrix & | mmat, | |
| RDGeom::PointPtrVect & | positions, | |||
| const VECT_CHIRALSET & | csets, | |||
| double | weightChiral = 1.0, |
|||
| double | weightFourthDim = 0.1, |
|||
| std::map< std::pair< int, int >, double > * | extraWeights = 0, |
|||
| double | basinSizeTol = 5.0 | |||
| ) |
Setup the error function for violation of distance bounds as a forcefield.
This is based on function E3 on page 311 of "Distance Geometry in Molecular Modeling" Jeffrey M.Blaney and J.Scott Dixon, Review in Computational Chemistry, Volume V
| mmat | Distance bounds matrix | |
| positions | A vector of pointers to Points to write out the resulting coordinates | |
| csets | The vector of chiral points (type: ChiralSet) | |
| weightChiral | weight to be used to enforce chirality | |
| weightFourthDim | another chiral weight | |
| extraWeights | an optional set of weights for distance bounds violations | |
| basinSizeTol | Optional: any distance bound with a basin (distance between max and min bounds) larger than this value will not be included in the force field used to cleanup the structure. |
| double DistGeom::pickRandomDistMat | ( | const BoundsMatrix & | mmat, | |
| RDNumeric::SymmMatrix< double > & | distmat, | |||
| int | seed = -1 | |||
| ) |
Pick a distance matrix at random such that the distance satisfy the bounds in the BoundsMatrix
| mmat | Bounds matrix | |
| distmat | Storage for randomly chosen distances | |
| seed | Optional value to seed the random number generator |
| bool DistGeom::triangleSmoothBounds | ( | BoundsMatPtr | boundsMat | ) |
| bool DistGeom::triangleSmoothBounds | ( | BoundsMatrix * | boundsMat | ) |
Smooth the upper and lower bound in a metric matrix so that triangle inequality is not violated
This an implementation of the O(N^3) algorithm given on pages 252-253 of "Distance Geometry and Molecular Conformation" by G.M.Crippen and T.F.Havel Research Studies Press, 1988. There are other (slightly) more implementations (see pages 301-302 in the above book), but that is for later
| boundsMat | A pointer to the distance bounds matrix |
1.5.3