10 #ifndef _RD_UFFBUILDER_H_ 11 #define _RD_UFFBUILDER_H_ 15 #include <boost/shared_array.hpp> 16 #include <boost/scoped_ptr.hpp> 17 #include <boost/thread/once.hpp> 18 #include <boost/noncopyable.hpp> 30 typedef std::vector<const ForceFields::UFF::AtomicParams *>
AtomicParamVect;
50 ROMol &mol,
double vdwThresh = 100.0,
int confId = -1,
51 bool ignoreInterfragInteractions =
true);
73 ROMol &mol,
const AtomicParamVect ¶ms,
double vdwThresh = 100.0,
74 int confId = -1,
bool ignoreInterfragInteractions =
true);
83 static const ROMol *query();
87 static const std::string ds_string;
88 static boost::scoped_ptr<const ROMol> ds_instance;
89 static boost::once_flag ds_flag;
94 unsigned int twoBitCellPos(
unsigned int nAtoms,
int i,
int j);
95 void setTwoBitCell(boost::shared_array<boost::uint8_t> &res,
unsigned int pos,
96 boost::uint8_t value);
97 boost::uint8_t
getTwoBitCell(boost::shared_array<boost::uint8_t> &res,
100 void addBonds(
const ROMol &mol,
const AtomicParamVect ¶ms,
106 boost::shared_array<boost::uint8_t> neighborMatrix,
107 double vdwThresh = 100.0,
108 bool ignoreInterfragInteractions =
true);
111 const std::string &torsionBondSmarts =
112 DefaultTorsionBondSmarts::string());
ForceFields::ForceField * constructForceField(ROMol &mol, const AtomicParamVect ¶ms, double vdwThresh=100.0, int confId=-1, bool ignoreInterfragInteractions=true)
Builds and returns a UFF force field for a molecule.
ROMol is a molecule class that is intended to have a fixed topology.
std::vector< const ForceFields::UFF::AtomicParams * > AtomicParamVect
A class to store forcefields and handle minimization.