11 #ifndef __RD_TYPES_H__ 12 #define __RD_TYPES_H__ 15 #define _USE_MATH_DEFINES 41 #include <boost/any.hpp> 42 #include <boost/lexical_cast.hpp> 46 namespace common_properties {
47 extern const std::string
TWOD;
55 extern const std::string
_2DConf;
56 extern const std::string
_3DConf;
57 extern const std::string
_AtomID;
67 extern const std::string
_Name;
75 extern const std::string
_SLN_s;
103 extern const std::string
_tpsa;
119 extern const std::string
numArom;
130 #undef max // FUCK I hate this nonsense 133 #undef min // FUCK I hate this nonsense 136 const double MAX_DOUBLE = std::numeric_limits<double>::max();
137 const double EPS_DOUBLE = std::numeric_limits<double>::epsilon();
139 const double MAX_INT =
static_cast<double>(std::numeric_limits<int>::max());
140 const double MAX_LONGINT =
static_cast<double>(std::numeric_limits<LONGINT>::max());
169 typedef std::vector<std::string>
STR_VECT;
204 bool operator() (
double d1,
double d2)
const {
205 if (fabs(d1 - d2) < _tol) {
220 template <
typename T>
222 T
operator()(T arg1,T arg2) {
return arg1>arg2 ? arg1 : arg2; };
232 return strcmp(s1, s2) < 0;
238 void Union(
const INT_VECT &r1,
const INT_VECT &r2, INT_VECT &res);
242 void Intersect(
const INT_VECT &r1,
const INT_VECT &r2, INT_VECT &res);
251 void Union(
const VECT_INT_VECT &rings, INT_VECT &res,
const INT_VECT *exclude=NULL);
269 double round(
double v);
const std::string _StereochemDone
const std::string _protected
std::list< int > INT_LIST
const std::string isImplicit
const std::string origNoImplicit
VECT_DOUBLE_VECT::iterator VECT_DOUBLE_VECT_I
DOUBLE_VECT::const_iterator DOUBLE_VECT_CI
const std::string _labuteAtomHContrib
const std::string _connectivityNVals
VECT_INT_VECT::iterator VECT_INT_VECT_I
const std::string _3DConf
const std::string _RingClosures
functor to compare two doubles with a tolerance
double round(double v)
rounds a value to the closest int
const std::string _labuteASA
const std::string _crippenLogP
const std::string _unspecifiedOrder
std::map< std::string, UINT >::const_iterator STR_UINT_MAP_CI
const std::string BalabanJ
std::vector< UINT >::const_iterator UINT_VECT_CI
const std::string _QueryMass
const std::string MolFileInfo
void Union(const VECT_INT_VECT &rings, INT_VECT &res, const INT_VECT *exclude=NULL)
calculating the union of the INT_VECT's in a VECT_INT_VECT
std::vector< double > DOUBLE_VECT
const std::string molTotValence
const std::string _UnknownStereo
INT_MAP_INT::const_iterator INT_MAP_INT_CI
const std::string _ReactionDegreeChanged
const std::string _ringStereoWarning
T operator()(T arg1, T arg2)
INT_SET::iterator INT_SET_I
const std::string molAtomMapNumber
const std::string molParity
INT_DEQUE::const_iterator INT_DEQUE_CI
const std::string NullBond
INT_LIST::iterator INT_LIST_I
std::vector< DOUBLE_VECT > VECT_DOUBLE_VECT
VECT_DOUBLE_VECT::const_iterator VECT_DOUBLE_VECT_CI
DOUBLE_VECT::iterator DOUBLE_VECT_I
INT_INT_DEQ_MAP::const_iterator INT_INT_DEQ_MAP_CI
const std::string MolFileComments
const std::string _2DConf
const std::string extraRings
const std::string _Unfinished_SLN_
const std::string _supplementalSmilesLabel
const std::string _crippenMRContribs
const std::string maxAttachIdx
INT_SET::const_iterator INT_SET_CI
const std::string _smilesAtomOutputOrder
functor for returning the larger of two values
const std::string _fragSMARTS
INT_MAP_INT::iterator INT_MAP_INT_I
const std::string _CIPRank
const std::string dummyLabel
const std::string _labuteAtomContribs
INT_VECT::const_reverse_iterator INT_VECT_CRI
std::vector< INT_VECT > VECT_INT_VECT
const std::string _TraversalBondIndexOrder
functor for comparing two strings
const std::string _queryRootAtom
std::map< std::string, UINT > STR_UINT_MAP
const std::string BalanbanJ
const std::string _starred
std::vector< int > INT_VECT
const std::string _MMFFSanitized
INT_VECT::reverse_iterator INT_VECT_RI
std::vector< std::string >::const_iterator STR_VECT_CI
const std::string _QueryIsotope
bool operator()(const char *s1, const char *s2) const
const std::string molRxnRole
const std::string _CIPCode
Includes a bunch of functionality for handling Atom and Bond queries.
const std::string molRxnComponent
INT_VECT::iterator INT_VECT_I
LIST_INT_VECT::iterator LIST_INT_VECT_I
const std::string molInversionFlag
INT_VECT::const_iterator INT_VECT_CI
const std::string smilesSymbol
const std::string computedPropName
VECT_INT_VECT::const_iterator VECT_INT_VECT_CI
const std::string _QueryHCount
const std::string _NeedsQueryScan
std::map< double, int, ltDouble > DOUBLE_INT_MAP
std::map from double to integer.
const std::string numArom
const std::string _ringStereoAtoms
INT_DEQUE::iterator INT_DEQUE_I
std::map< int, int > INT_MAP_INT
const std::string _BondsPotentialStereo
const std::string ringMembership
const std::string _MolFileChiralFlag
std::list< INT_VECT > LIST_INT_VECT
const std::string _AtomID
INT_LIST::const_iterator INT_LIST_CI
const std::string _QueryFormalCharge
void Intersect(const INT_VECT &r1, const INT_VECT &r2, INT_VECT &res)
calculate the intersection of two INT_VECTs and put the results in a third vector ...
const std::string _crippenMR
const std::string _MolFileRLabel
const std::string molFileValue
const std::string Discrims
std::map< int, INT_DEQUE > INT_INT_DEQ_MAP
std::map< int, INT_VECT > INT_INT_VECT_MAP
const std::string _hasMassQuery
std::vector< UINT > UINT_VECT
const double SMALL_DOUBLE
const std::string DistanceMatrix_Paths
INT_INT_VECT_MAP::const_iterator INT_INT_VECT_MAP_CI
std::deque< int > INT_DEQUE
const std::string _crippenLogPContribs
const std::string _TraversalRingClosureBond
const std::string _ChiralityPossible
std::vector< std::string >::iterator STR_VECT_I
const std::string _ringStereochemCand
const std::string _TriposAtomType
LIST_INT_VECT::const_iterator LIST_INT_VECT_CI
const std::string _connectivityHKDeltas
const std::string _CrippenMR
const std::string _tpsaAtomContribs
int nextCombination(INT_VECT &comb, int tot)
given a current combination of numbers change it to the next possible combination ...
const std::string _CrippenLogP
const std::string _brokenChirality
std::vector< std::string > STR_VECT
const std::string molFileAlias
const std::string _SmilesStart
const std::string _doIsoSmiles