RDKit
Open-source cheminformatics and machine learning.
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
SingleConformerAlignmentoperator= (const SingleConformerAlignment &other)=delete
SingleConformerAlignmentoperator= (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

◆ 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

◆ SingleConformerAlignment() [4/4]

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

◆ ~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

◆ operator=() [2/2]

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

◆ 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: