O3AAlignMolecules.h File Reference
`#include <RDGeneral/Invariant.h>`
`#include <Geometry/Transform3D.h>`
`#include <Geometry/point.h>`
`#include <Numerics/Vector.h>`
`#include <GraphMol/ROMol.h>`
`#include <GraphMol/Conformer.h>`
`#include <GraphMol/ForceFieldHelpers/MMFF/AtomTyper.h>`
`#include <GraphMol/MolAlign/AlignMolecules.h>`
`#include <vector>`
`#include <cmath>`
`#include <boost/shared_ptr.hpp>`
`#include <boost/multi_array.hpp>`
`#include <boost/dynamic_bitset.hpp>`

Go to the source code of this file.

## Classes

struct | RDKit::MolAlign::O3AFuncData
class | RDKit::MolAlign::O3AConstraint
class | RDKit::MolAlign::O3AConstraintVect
class | RDKit::MolAlign::MolHistogram
class | RDKit::MolAlign::LAP
class | RDKit::MolAlign::SDM
class | RDKit::MolAlign::O3A

## Namespaces

| RDKit
| Includes a bunch of functionality for handling Atom and Bond queries.
| RDKit::MolAlign

## Typedefs

typedef struct RDKit::MolAlign::O3AFuncData | RDKit::MolAlign::O3AFuncData

## Enumerations

enum | { RDKit::MolAlign::O3_USE_MMFF_WEIGHTS = (1<<0), RDKit::MolAlign::O3_ACCURACY_MASK = (1<<0 | 1<<1), RDKit::MolAlign::O3_LOCAL_ONLY = (1<<2) }

## Functions

bool | RDKit::MolAlign::isDoubleZero (const double x)
void | RDKit::MolAlign::randomTransform (ROMol &mol, const int cid=-1, const int seed=-1)
const RDGeom::POINT3D_VECT * | RDKit::MolAlign::reflect (const Conformer &conf)
int | RDKit::MolAlign::o3aMMFFCostFunc (const unsigned int prbIdx, const unsigned int refIdx, double hSum, void *data)
double | RDKit::MolAlign::o3aMMFFWeightFunc (const unsigned int prbIdx, const unsigned int refIdx, void *data)
double | RDKit::MolAlign::o3aMMFFScoringFunc (const unsigned int prbIdx, const unsigned int refIdx, void *data)
int | RDKit::MolAlign::o3aCrippenCostFunc (const unsigned int prbIdx, const unsigned int refIdx, double hSum, void *data)
double | RDKit::MolAlign::o3aCrippenWeightFunc (const unsigned int prbIdx, const unsigned int refIdx, void *data)
double | RDKit::MolAlign::o3aCrippenScoringFunc (const unsigned int prbIdx, const unsigned int refIdx, void *data)

void

RDKit::MolAlign::getO3AForProbeConfs (ROMol &prbMol, const ROMol &refMol, void *prbProp, void *refProp, std::vector< boost::shared_ptr< O3A > > &res, unsigned int numThreads=1, O3A::AtomTypeScheme atomTypes=O3A::MMFF94, const int refCid=-1, const bool reflect=false, const unsigned int maxIters=50, unsigned int options=0, const MatchVectType *constraintMap=NULL, const RDNumeric::DoubleVector *constraintWeights=NULL)

## Variables

const int | RDKit::MolAlign::O3_DUMMY_COST = 100000
const int | RDKit::MolAlign::O3_LARGE_NEGATIVE_WEIGHT = -1e9
const int | RDKit::MolAlign::O3_DEFAULT_CONSTRAINT_WEIGHT = 100.0
const unsigned int | RDKit::MolAlign::O3_MAX_H_BINS = 20
const unsigned int | RDKit::MolAlign::O3_MAX_SDM_ITERATIONS = 100
const unsigned int | RDKit::MolAlign::O3_MAX_SDM_THRESHOLD_ITER = 3
const double | RDKit::MolAlign::O3_RANDOM_TRANS_COEFF = 5.0
const double | RDKit::MolAlign::O3_THRESHOLD_DIFF_DISTANCE = 0.1
const double | RDKit::MolAlign::O3_SDM_THRESHOLD_START = 0.7
const double | RDKit::MolAlign::O3_SDM_THRESHOLD_STEP = 0.3
const double | RDKit::MolAlign::O3_CHARGE_WEIGHT = 10.0
const double | RDKit::MolAlign::O3_CRIPPEN_WEIGHT = 10.0
const double | RDKit::MolAlign::O3_RMSD_THRESHOLD = 1.0e-04
const double | RDKit::MolAlign::O3_SCORE_THRESHOLD = 0.01
const double | RDKit::MolAlign::O3_SCORING_FUNCTION_ALPHA = 5.0
const double | RDKit::MolAlign::O3_SCORING_FUNCTION_BETA = 0.5
const double | RDKit::MolAlign::O3_CHARGE_COEFF = 5.0
const double | RDKit::MolAlign::O3_CRIPPEN_COEFF = 1.0
const int | RDKit::MolAlign::O3_MAX_WEIGHT_COEFF = 5