13 #ifndef RD_MMFFBUILDER_H 14 #define RD_MMFFBUILDER_H 18 #include <boost/shared_array.hpp> 19 #include <boost/scoped_ptr.hpp> 20 #ifdef RDK_THREADSAFE_SSS 23 #include <boost/noncopyable.hpp> 24 #include <boost/tuple/tuple.hpp> 34 class MMFFMolProperties;
56 ROMol &mol,
double nonBondedThresh = 100.0,
int confId = -1,
57 bool ignoreInterfragInteractions =
true);
79 ROMol &mol, MMFFMolProperties *mmffMolProperties,
80 double nonBondedThresh = 100.0,
int confId = -1,
81 bool ignoreInterfragInteractions =
true);
85 :
private boost::noncopyable {
87 static const std::string &
string() {
return ds_string; }
88 static const ROMol *query();
93 static const std::string ds_string;
94 static boost::scoped_ptr<const ROMol> ds_instance;
95 #ifdef RDK_THREADSAFE_SSS 96 static std::once_flag ds_flag;
105 boost::shared_array<std::uint8_t> &res,
unsigned int pos,
108 boost::shared_array<std::uint8_t> &res,
unsigned int pos);
126 const std::string &torsionBondSmarts = DefaultTorsionBondSmarts::string());
130 boost::shared_array<std::uint8_t> neighborMatrix,
131 double nonBondedThresh = 100.0,
bool ignoreInterfragInteractions =
true);
135 boost::shared_array<std::uint8_t> neighborMatrix,
136 double nonBondedThresh = 100.0,
bool ignoreInterfragInteractions =
true);
RDKIT_FORCEFIELDHELPERS_EXPORT 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.
#define RDKIT_FORCEFIELDHELPERS_EXPORT
A class to store forcefields and handle minimization.