10 #ifndef _RD_ALIGNMOLECULES_H_ 11 #define _RD_ALIGNMOLECULES_H_ 30 const char *
message ()
const {
return _msg.c_str(); };
64 int prbCid=-1,
int refCid=-1,
65 const MatchVectType *atomMap=0,
68 unsigned int maxIters=50);
96 int prbCid=-1,
int refCid=-1,
97 const MatchVectType *atomMap=0,
99 bool reflect=
false,
unsigned int maxIters=50);
116 const std::vector<unsigned int> *confIds=0,
118 bool reflect=
false,
unsigned int maxIters=50,
119 std::vector<double> *RMSlist=0);
void alignMolConformers(ROMol &mol, const std::vector< unsigned int > *atomIds=0, const std::vector< unsigned int > *confIds=0, const RDNumeric::DoubleVector *weights=0, bool reflect=false, unsigned int maxIters=50, std::vector< double > *RMSlist=0)
Align the conformations of a molecule using a common set of atoms.
const char * message() const
get the error message
MolAlignException(const char *msg)
construct with an error message
std::vector< std::pair< int, int > > MatchVectType
used to return matches from substructure searching, The format is (queryAtomIdx, molAtomIdx) ...
const RDGeom::POINT3D_VECT * reflect(const Conformer &conf)
MolAlignException(const std::string msg)
construct with an error message
ROMol is a molecule class that is intended to have a fixed topology.
Includes a bunch of functionality for handling Atom and Bond queries.
double alignMol(ROMol &prbMol, const ROMol &refMol, int prbCid=-1, int refCid=-1, const MatchVectType *atomMap=0, const RDNumeric::DoubleVector *weights=0, bool reflect=false, unsigned int maxIters=50)
Optimally (minimum RMSD) align a molecule to another molecule.
double getAlignmentTransform(const ROMol &prbMol, const ROMol &refMol, RDGeom::Transform3D &trans, int prbCid=-1, int refCid=-1, const MatchVectType *atomMap=0, const RDNumeric::DoubleVector *weights=0, bool reflect=false, unsigned int maxIters=50)
Alignment functions.
A class to represent vectors of numbers.