Builder.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef _RD_UFFBUILDER_H_
00007 #define _RD_UFFBUILDER_H_
00008
00009 #include <vector>
00010 #include <string>
00011
00012 namespace ForceFields {
00013 class ForceField;
00014 namespace UFF {
00015 class AtomicParams;
00016 }
00017 }
00018
00019 namespace RDKit {
00020 class ROMol;
00021 namespace UFF {
00022 typedef std::vector<const ForceFields::UFF::AtomicParams *> AtomicParamVect;
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 ForceFields::ForceField *constructForceField(ROMol &mol,
00040 double vdwThresh=100.0,
00041 int confId=-1,
00042 bool ignoreInterfragInteractions=true);
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061 ForceFields::ForceField *constructForceField(ROMol &mol,
00062 const AtomicParamVect ¶ms,
00063 double vdwThresh=100.0,
00064 int confId=-1,
00065 bool ignoreInterfragInteractions=true);
00066
00067 namespace Tools {
00068
00069 void addBonds(const ROMol &mol,const AtomicParamVect ¶ms,
00070 ForceFields::ForceField *field);
00071 int *buildNeighborMatrix(const ROMol &mol);
00072 void addAngles(const ROMol &mol,const AtomicParamVect ¶ms,
00073 ForceFields::ForceField *field,int *neighborMatrix);
00074 void addNonbonded(const ROMol &mol,int confId, const AtomicParamVect ¶ms,
00075 ForceFields::ForceField *field,int *neighborMatrix,
00076 double vdwThresh=100.0,bool ignoreInterfragInteractions=true);
00077 void addTorsions(const ROMol &mol,const AtomicParamVect ¶ms,
00078 ForceFields::ForceField *field,
00079 std::string torsionBondSmarts="[!$(*#*)&!D1]~[!$(*#*)&!D1]");
00080
00081
00082 }
00083 }
00084 }
00085
00086
00087 #endif