Loading...
Searching...
No Matches
RDKit::GaussianShape::SingleConformerAlignment Struct Reference

`#include <SingleConformerAlignment.h>`

## Public Member Functions

| SingleConformerAlignment ()=delete

SingleConformerAlignment (const std::vector< double > &ref, const int *refTypes, const boost::dynamic_bitset<> *refCarbonRadii, int nRefShape, int nRefColor, double refShapeVol, double refColorVol, const std::vector< double > &fit, const int *fitTypes, const boost::dynamic_bitset<> *fitCarbonRadii, int nFitShape, int nFitColor, double fitShapeVol, double fitColorVol, const std::array< double, 7 > &initQuatTrans, OptimMode optimMode, double simAlpha, double simBeta, double mixingParam, bool useCutoff, double distCutoff, double shapeConvergenceCriterion, unsigned int maxIts)

| Do the overlay for a single conformer of fit against a single conformer of ref. The output in scores is the rotation and translation that moves fit to optimise its score with ref.
| SingleConformerAlignment (const SingleConformerAlignment &other)=delete
| SingleConformerAlignment (SingleConformerAlignment &&other)=delete
SingleConformerAlignment & | operator= (const SingleConformerAlignment &other)=delete
SingleConformerAlignment & | operator= (SingleConformerAlignment &&other)=delete
| ~SingleConformerAlignment ()=default
void | setQuatTrans (const std::array< double, 7 > &quatTrans)
void | getFinalQuatTrans (RDGeom::Transform3D &xform) const
std::array< double, 5 > | calcScores (const double *ref, const double *fit, bool includeColor=false)
std::array< double, 5 > | calcScores (bool includeColor=false)
std::array< double, 5 > | calcScores (const double shapeOvVol, const double colorOvVol, bool includeColor=true) const
void | applyQuatTrans (const std::array< double, 7 > &quatTrans)
void | calcVolumeAndGradients (const std::array< double, 7 > &quatTrans, double &shapeOvlpVol, double &colorOvlpVol, std::array< double, 7 > &gradients)
bool | doOverlay (std::array< double, 20 > &scores, unsigned int cycle)
| Do the overlay, feeding the results into scores.
bool | optimise (unsigned int maxIters)

## Public Attributes

std::vector< double > | d_ref
std::vector< double > | d_refTemp
const int * | d_refTypes
const boost::dynamic_bitset * | d_refCarbonRadii
const int | d_nRefShape
const int | d_nRefColor
const double | d_refShapeVol
const double | d_refColorVol
std::vector< double > | d_fit
std::vector< double > | d_fitTemp
const int * | d_fitTypes
const boost::dynamic_bitset * | d_fitCarbonRadii
const int | d_nFitShape
const int | d_nFitColor
double | d_fitShapeVol
double | d_fitColorVol
std::array< double, 7 > | d_initQuatTrans
const OptimMode | d_optimMode
const double | d_simAlpha
const double | d_simBeta
const double | d_mixingParam
const bool | d_useCutoff
const double | d_distCutoff2
const double | d_shapeConvergenceCriterion
const unsigned int | d_maxIts
std::array< double, 7 > | d_quatTrans {1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}
double | d_qStepSize {-0.001}
double | d_tStepSize {-0.01}
std::vector< double > | d_gradConverters

## Detailed Description

Definition at line 32 of file SingleConformerAlignment.h.

## Constructor & Destructor Documentation

## SingleConformerAlignment() [1/4]

RDKit::GaussianShape::SingleConformerAlignment::SingleConformerAlignment | ( |  | ) |

delete

Referenced by operator=(), operator=(), SingleConformerAlignment(), and SingleConformerAlignment().

## SingleConformerAlignment() [2/4]

RDKit::GaussianShape::SingleConformerAlignment::SingleConformerAlignment | ( | const std::vector< double > & | ref,
|  | const int * | refTypes,
|  | const boost::dynamic_bitset<> * | refCarbonRadii,
|  | int | nRefShape,
|  | int | nRefColor,
|  | double | refShapeVol,
|  | double | refColorVol,
|  | const std::vector< double > & | fit,
|  | const int * | fitTypes,
|  | const boost::dynamic_bitset<> * | fitCarbonRadii,
|  | int | nFitShape,
|  | int | nFitColor,
|  | double | fitShapeVol,
|  | double | fitColorVol,
|  | const std::array< double, 7 > & | initQuatTrans,
|  | OptimMode | optimMode,
|  | double | simAlpha,
|  | double | simBeta,
|  | double | mixingParam,
|  | bool | useCutoff,
|  | double | distCutoff,
|  | double | shapeConvergenceCriterion,
|  | unsigned int | maxIts )

Do the overlay for a single conformer of fit against a single conformer of ref. The output in scores is the rotation and translation that moves fit to optimise its score with ref.

Parameters

  ref | - the query molecule as 1D array of 4 * N entries. Each block of 4 is the coords and atom radius
  refTypes | - the feature types for molecule ref
  refCarbonRadii | - whether each atom has a carbon radius
  nRefShape | - the number of atoms in ref
  nRefColor | - the number of features in ref
  refShapeVol | - overlap volume of ref with itself
  refColorVol | - color overlap of ref with itself
  fit | - the fit molecule as 1D array of 4 * N entries. Each block of 4 is the coords and atom radius.
  fitTypes | - the feature types for fit molecule
  fitCarbonRadii | - whether each atom has a carbon radius
  nFitShape | - the number of atoms in fit
  nFitColor | - the number of features in fit
  fitShapeVol | - overlap volume of fit with itself
  fitColorVol | - color overlap of fit with itself
  optimMode | - optimisation mode
  simAlpha | - for the Tversky similarity, the alpha value
  simBeta | - for the Tversky similarity, the beta value
  mixingParam | - how to mix the 2 Tversky values
  useCutoff | - whether to use a distance cutoff in the volume calculation
  distCutoff | - the cutoff to use if we're doing it.
  maxIts | - maximum number of iterations for optimiser of optimiser

## SingleConformerAlignment() [3/4]

RDKit::GaussianShape::SingleConformerAlignment::SingleConformerAlignment | ( | const SingleConformerAlignment & | other | ) |

delete

References SingleConformerAlignment().

## SingleConformerAlignment() [4/4]

RDKit::GaussianShape::SingleConformerAlignment::SingleConformerAlignment | ( | SingleConformerAlignment && | other | ) |

delete

References SingleConformerAlignment().

## ~SingleConformerAlignment()

RDKit::GaussianShape::SingleConformerAlignment::~SingleConformerAlignment | ( |  | ) |

default

## Member Function Documentation

## applyQuatTrans()

void RDKit::GaussianShape::SingleConformerAlignment::applyQuatTrans | ( | const std::array< double, 7 > & | quatTrans | ) |

## calcScores() [1/3]

std::array< double, 5 > RDKit::GaussianShape::SingleConformerAlignment::calcScores | ( | bool | includeColor = false | ) |

## calcScores() [2/3]

std::array< double, 5 > RDKit::GaussianShape::SingleConformerAlignment::calcScores | ( | const double * | ref,
|  | const double * | fit,
|  | bool | includeColor = false )

## calcScores() [3/3]

std::array< double, 5 > RDKit::GaussianShape::SingleConformerAlignment::calcScores | ( | const double | shapeOvVol,
|  | const double | colorOvVol,
|  | bool | includeColor = true ) const

## calcVolumeAndGradients()

void RDKit::GaussianShape::SingleConformerAlignment::calcVolumeAndGradients | ( | const std::array< double, 7 > & | quatTrans,
|  | double & | shapeOvlpVol,
|  | double & | colorOvlpVol,
|  | std::array< double, 7 > & | gradients )

## doOverlay()

bool RDKit::GaussianShape::SingleConformerAlignment::doOverlay | ( | std::array< double, 20 > & | scores,
|  | unsigned int | cycle )

Do the overlay, feeding the results into scores.

Returns
  scores - the output scores and transformation to reproduce the overlay - an array of size 20. Only the first 16 are used here. They are: 0 - the combo score 1 - the shape Tversky score 2 - the color Tversky score 3 - the shape overlap volume 4 - the color overlap volume 5 - the shape volume of fit 6 - the shape volume of ref 7 - the color volume of fit 8 - the color volume of ref 9-12 - the quaternion to rotate fit onto ref. Applied first. 13-15 - the translation to move fit onto ref. Applied second. 16-19 - not used at present, returned as zeros. Returns false if it didn't finish with the allowed maximum number of iterations.

## getFinalQuatTrans()

void RDKit::GaussianShape::SingleConformerAlignment::getFinalQuatTrans | ( | RDGeom::Transform3D & | xform | ) | const

## operator=() [1/2]

SingleConformerAlignment & RDKit::GaussianShape::SingleConformerAlignment::operator= | ( | const SingleConformerAlignment & | other | ) |

delete

References SingleConformerAlignment().

## operator=() [2/2]

SingleConformerAlignment & RDKit::GaussianShape::SingleConformerAlignment::operator= | ( | SingleConformerAlignment && | other | ) |

delete

References SingleConformerAlignment().

## optimise()

bool RDKit::GaussianShape::SingleConformerAlignment::optimise | ( | unsigned int | maxIters | ) |

## setQuatTrans()

void RDKit::GaussianShape::SingleConformerAlignment::setQuatTrans | ( | const std::array< double, 7 > & | quatTrans | ) |

inline

Definition at line 81 of file SingleConformerAlignment.h.

References d_quatTrans.

## Member Data Documentation

## d_distCutoff2

const double RDKit::GaussianShape::SingleConformerAlignment::d_distCutoff2

Definition at line 165 of file SingleConformerAlignment.h.

## d_fit

std::vector<double> RDKit::GaussianShape::SingleConformerAlignment::d_fit

Definition at line 151 of file SingleConformerAlignment.h.

## d_fitCarbonRadii

const boost::dynamic_bitset* RDKit::GaussianShape::SingleConformerAlignment::d_fitCarbonRadii

Definition at line 154 of file SingleConformerAlignment.h.

## d_fitColorVol

double RDKit::GaussianShape::SingleConformerAlignment::d_fitColorVol

Definition at line 158 of file SingleConformerAlignment.h.

## d_fitShapeVol

double RDKit::GaussianShape::SingleConformerAlignment::d_fitShapeVol

Definition at line 157 of file SingleConformerAlignment.h.

## d_fitTemp

std::vector<double> RDKit::GaussianShape::SingleConformerAlignment::d_fitTemp

Definition at line 152 of file SingleConformerAlignment.h.

## d_fitTypes

const int* RDKit::GaussianShape::SingleConformerAlignment::d_fitTypes

Definition at line 153 of file SingleConformerAlignment.h.

## d_gradConverters

std::vector<double> RDKit::GaussianShape::SingleConformerAlignment::d_gradConverters

Definition at line 175 of file SingleConformerAlignment.h.

## d_initQuatTrans

std::array<double, 7> RDKit::GaussianShape::SingleConformerAlignment::d_initQuatTrans

Definition at line 159 of file SingleConformerAlignment.h.

## d_maxIts

const unsigned int RDKit::GaussianShape::SingleConformerAlignment::d_maxIts

Definition at line 167 of file SingleConformerAlignment.h.

## d_mixingParam

const double RDKit::GaussianShape::SingleConformerAlignment::d_mixingParam

Definition at line 163 of file SingleConformerAlignment.h.

## d_nFitColor

const int RDKit::GaussianShape::SingleConformerAlignment::d_nFitColor

Definition at line 156 of file SingleConformerAlignment.h.

## d_nFitShape

const int RDKit::GaussianShape::SingleConformerAlignment::d_nFitShape

Definition at line 155 of file SingleConformerAlignment.h.

## d_nRefColor

const int RDKit::GaussianShape::SingleConformerAlignment::d_nRefColor

Definition at line 148 of file SingleConformerAlignment.h.

## d_nRefShape

const int RDKit::GaussianShape::SingleConformerAlignment::d_nRefShape

Definition at line 147 of file SingleConformerAlignment.h.

## d_optimMode

const OptimMode RDKit::GaussianShape::SingleConformerAlignment::d_optimMode

Definition at line 160 of file SingleConformerAlignment.h.

## d_qStepSize

double RDKit::GaussianShape::SingleConformerAlignment::d_qStepSize {-0.001}

Definition at line 172 of file SingleConformerAlignment.h.

## d_quatTrans

std::array<double, 7> RDKit::GaussianShape::SingleConformerAlignment::d_quatTrans {1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}

Definition at line 169 of file SingleConformerAlignment.h.

Referenced by setQuatTrans().

## d_ref

std::vector<double> RDKit::GaussianShape::SingleConformerAlignment::d_ref

Definition at line 143 of file SingleConformerAlignment.h.

## d_refCarbonRadii

const boost::dynamic_bitset* RDKit::GaussianShape::SingleConformerAlignment::d_refCarbonRadii

Definition at line 146 of file SingleConformerAlignment.h.

## d_refColorVol

const double RDKit::GaussianShape::SingleConformerAlignment::d_refColorVol

Definition at line 150 of file SingleConformerAlignment.h.

## d_refShapeVol

const double RDKit::GaussianShape::SingleConformerAlignment::d_refShapeVol

Definition at line 149 of file SingleConformerAlignment.h.

## d_refTemp

std::vector<double> RDKit::GaussianShape::SingleConformerAlignment::d_refTemp

Definition at line 144 of file SingleConformerAlignment.h.

## d_refTypes

const int* RDKit::GaussianShape::SingleConformerAlignment::d_refTypes

Definition at line 145 of file SingleConformerAlignment.h.

## d_shapeConvergenceCriterion

const double RDKit::GaussianShape::SingleConformerAlignment::d_shapeConvergenceCriterion

Definition at line 166 of file SingleConformerAlignment.h.

## d_simAlpha

const double RDKit::GaussianShape::SingleConformerAlignment::d_simAlpha

Definition at line 161 of file SingleConformerAlignment.h.

## d_simBeta

const double RDKit::GaussianShape::SingleConformerAlignment::d_simBeta

Definition at line 162 of file SingleConformerAlignment.h.

## d_tStepSize

double RDKit::GaussianShape::SingleConformerAlignment::d_tStepSize {-0.01}

Definition at line 173 of file SingleConformerAlignment.h.

## d_useCutoff

const bool RDKit::GaussianShape::SingleConformerAlignment::d_useCutoff

Definition at line 164 of file SingleConformerAlignment.h.

The documentation for this struct was generated from the following file:

- SingleConformerAlignment.h