12 #ifndef _RD_MMFFBUILDER_H_ 13 #define _RD_MMFFBUILDER_H_ 17 #include <boost/shared_array.hpp> 18 #include <boost/scoped_ptr.hpp> 19 #include <boost/thread/once.hpp> 20 #include <boost/noncopyable.hpp> 21 #include <boost/tuple/tuple.hpp> 22 #include <boost/cstdint.hpp> 31 class MMFFMolProperties;
53 ROMol &mol,
double nonBondedThresh = 100.0,
int confId = -1,
54 bool ignoreInterfragInteractions =
true);
76 ROMol &mol, MMFFMolProperties *mmffMolProperties,
77 double nonBondedThresh = 100.0,
int confId = -1,
78 bool ignoreInterfragInteractions =
true);
87 static const ROMol *query();
91 static const std::string ds_string;
92 static boost::scoped_ptr<const ROMol> ds_instance;
93 static boost::once_flag ds_flag;
98 unsigned int twoBitCellPos(
unsigned int nAtoms,
int i,
int j);
99 void setTwoBitCell(boost::shared_array<boost::uint8_t> &res,
unsigned int pos,
100 boost::uint8_t value);
101 boost::uint8_t
getTwoBitCell(boost::shared_array<boost::uint8_t> &res,
114 const std::string &torsionBondSmarts =
115 DefaultTorsionBondSmarts::string());
118 boost::shared_array<boost::uint8_t> neighborMatrix,
119 double nonBondedThresh = 100.0,
120 bool ignoreInterfragInteractions =
true);
123 boost::shared_array<boost::uint8_t> neighborMatrix,
124 double nonBondedThresh = 100.0,
125 bool ignoreInterfragInteractions =
true);
ROMol is a molecule class that is intended to have a fixed topology.
ForceFields::ForceField * constructForceField(ROMol &mol, MMFFMolProperties *mmffMolProperties, double nonBondedThresh=100.0, int confId=-1, bool ignoreInterfragInteractions=true)
Builds and returns a MMFF force field for a molecule.
A class to store forcefields and handle minimization.