11 #ifndef _RD_ALIGNMOLECULES_H_
12 #define _RD_ALIGNMOLECULES_H_
31 const char *
what() const noexcept
override {
return _msg.c_str(); };
68 int prbCid = -1,
int refCid = -1,
const MatchVectType *atomMap =
nullptr,
70 unsigned int maxIters = 50);
100 ROMol &prbMol,
const ROMol &refMol,
int prbCid = -1,
int refCid = -1,
103 unsigned int maxIters = 50);
130 ROMol &probeMol,
ROMol &refMol,
int probeId = -1,
int refId = -1,
131 const std::vector<MatchVectType> &map = std::vector<MatchVectType>(),
132 int maxMatches = 1e6);
156 ROMol &probeMol,
const ROMol &refMol,
int prbCid = -1,
int refCid = -1,
157 const std::vector<MatchVectType> &map = std::vector<MatchVectType>(),
177 ROMol &mol,
const std::vector<unsigned int> *atomIds =
nullptr,
178 const std::vector<unsigned int> *confIds =
nullptr,
180 unsigned int maxIters = 50, std::vector<double> *RMSlist =
nullptr);
~MolAlignException() noexcept
MolAlignException(const char *msg)
construct with an error message
MolAlignException(const std::string msg)
construct with an error message
const char * what() const noexcept override
get the error message
A class to represent vectors of numbers.
#define RDKIT_MOLALIGN_EXPORT
RDKIT_MOLALIGN_EXPORT double getAlignmentTransform(const ROMol &prbMol, const ROMol &refMol, RDGeom::Transform3D &trans, int prbCid=-1, int refCid=-1, const MatchVectType *atomMap=nullptr, const RDNumeric::DoubleVector *weights=nullptr, bool reflect=false, unsigned int maxIters=50)
Alignment functions.
RDKIT_MOLALIGN_EXPORT double alignMol(ROMol &prbMol, const ROMol &refMol, int prbCid=-1, int refCid=-1, const MatchVectType *atomMap=nullptr, const RDNumeric::DoubleVector *weights=nullptr, bool reflect=false, unsigned int maxIters=50)
Optimally (minimum RMSD) align a molecule to another molecule.
RDKIT_MOLALIGN_EXPORT const RDGeom::POINT3D_VECT * reflect(const Conformer &conf)
RDKIT_MOLALIGN_EXPORT double getBestRMS(ROMol &probeMol, ROMol &refMol, int probeId=-1, int refId=-1, const std::vector< MatchVectType > &map=std::vector< MatchVectType >(), int maxMatches=1e6)
Returns the optimal RMS for aligning two molecules, taking.
RDKIT_MOLALIGN_EXPORT void alignMolConformers(ROMol &mol, const std::vector< unsigned int > *atomIds=nullptr, const std::vector< unsigned int > *confIds=nullptr, const RDNumeric::DoubleVector *weights=nullptr, bool reflect=false, unsigned int maxIters=50, std::vector< double > *RMSlist=nullptr)
Align the conformations of a molecule using a common set of atoms. If.
RDKIT_MOLALIGN_EXPORT double CalcRMS(ROMol &probeMol, const ROMol &refMol, int prbCid=-1, int refCid=-1, const std::vector< MatchVectType > &map=std::vector< MatchVectType >(), int maxMatches=1e6, const RDNumeric::DoubleVector *weights=nullptr)
Returns the RMS between two molecules, taking symmetry into account.
std::vector< std::pair< int, int > > MatchVectType
used to return matches from substructure searching, The format is (queryAtomIdx, molAtomIdx)