RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1//
2// Copyright 2001-2021 Greg Landrum and other RDKit contributors
3//
4// @@ All Rights Reserved @@
5// This file is part of the RDKit.
6// The contents are covered by the terms of the BSD license
7// which is included in the file license.txt, found at the root
8// of the RDKit source tree.
9//
10
11#include <RDGeneral/export.h>
12#ifndef RD_TYPES_H
13#define RD_TYPES_H
14
15#ifdef WIN32
16#ifndef _USE_MATH_DEFINES
17#define _USE_MATH_DEFINES
18#define _DEFINED_USE_MATH_DEFINES
19#endif
20#endif
21#include <cmath>
22#ifdef _DEFINED_USE_MATH_DEFINES
23#undef _DEFINED_USE_MATH_DEFINES
24#undef _USE_MATH_DEFINES
25#endif
26
27#include "Invariant.h"
28#include "Dict.h"
29
30#include <vector>
31#include <deque>
32#include <map>
33#include <set>
34#include <string>
35#include <algorithm>
36#include <numeric>
37#include <list>
38#include <limits>
39
40#include <cstring>
41#include <any>
43#include <boost/lexical_cast.hpp>
45
46namespace RDKit {
47
48namespace detail {
49// used in various places for computed properties
50RDKIT_RDGENERAL_EXPORT extern const std::string computedPropName;
51} // namespace detail
52
54///////////////////////////////////////////////////////////////
55// Molecule Props
56RDKIT_RDGENERAL_EXPORT extern const std::string _Name; // string
57RDKIT_RDGENERAL_EXPORT extern const std::string MolFileInfo; // string
58RDKIT_RDGENERAL_EXPORT extern const std::string MolFileComments; // string
59RDKIT_RDGENERAL_EXPORT extern const std::string
60 _2DConf; // int (combine into dimension?)
61RDKIT_RDGENERAL_EXPORT extern const std::string _3DConf; // int
62RDKIT_RDGENERAL_EXPORT extern const std::string
63 _doIsoSmiles; // int (should probably be removed)
64RDKIT_RDGENERAL_EXPORT extern const std::string extraRings; // vec<vec<int> >
65RDKIT_RDGENERAL_EXPORT extern const std::string
66 _smilesAtomOutputOrder; // vec<int> computed
67RDKIT_RDGENERAL_EXPORT extern const std::string
68 _smilesBondOutputOrder; // vec<int> computed
69RDKIT_RDGENERAL_EXPORT extern const std::string _StereochemDone; // int
70RDKIT_RDGENERAL_EXPORT extern const std::string _NeedsQueryScan; // int (bool)
71RDKIT_RDGENERAL_EXPORT extern const std::string _fragSMARTS; // std::string
72RDKIT_RDGENERAL_EXPORT extern const std::string
73 maxAttachIdx; // int TemplEnumTools.cpp
74RDKIT_RDGENERAL_EXPORT extern const std::string
75 ringMembership; //? unused (molopstest.cpp)
76
77// Computed Values
78// ConnectivityDescriptors
79RDKIT_RDGENERAL_EXPORT extern const std::string
80 _connectivityHKDeltas; // std::vector<double> computed
81RDKIT_RDGENERAL_EXPORT extern const std::string
82 _connectivityNVals; // std::vector<double> computed
83
84RDKIT_RDGENERAL_EXPORT extern const std::string
85 _crippenLogP; // double computed
86RDKIT_RDGENERAL_EXPORT extern const std::string
87 _crippenLogPContribs; // std::vector<double> computed
88
89RDKIT_RDGENERAL_EXPORT extern const std::string _crippenMR; // double computed
90RDKIT_RDGENERAL_EXPORT extern const std::string
91 _crippenMRContribs; // std::vector<double> computed
92
93RDKIT_RDGENERAL_EXPORT extern const std::string _labuteASA; // double computed
94RDKIT_RDGENERAL_EXPORT extern const std::string
95 _labuteAtomContribs; // vec<double> computed
96RDKIT_RDGENERAL_EXPORT extern const std::string
97 _labuteAtomHContrib; // double computed
98
99RDKIT_RDGENERAL_EXPORT extern const std::string _tpsa; // double computed
100RDKIT_RDGENERAL_EXPORT extern const std::string
101 _tpsaAtomContribs; // vec<double> computed
102
103RDKIT_RDGENERAL_EXPORT extern const std::string
104 numArom; // int computed (only uses in tests?)
105RDKIT_RDGENERAL_EXPORT extern const std::string
106 _MMFFSanitized; // int (bool) computed
107
108RDKIT_RDGENERAL_EXPORT extern const std::string
109 _CrippenLogP; // Unused (in the basement)
110RDKIT_RDGENERAL_EXPORT extern const std::string
111 _CrippenMR; // Unused (in the basement)
112RDKIT_RDGENERAL_EXPORT extern const std::string
113 _GasteigerCharge; // used to hold partial charges
114RDKIT_RDGENERAL_EXPORT extern const std::string
115 _GasteigerHCharge; // used to hold partial charges from implicit Hs
116
117///////////////////////////////////////////////////////////////
118// Atom Props
119
120// Chirality stuff
121RDKIT_RDGENERAL_EXPORT extern const std::string
122 _BondsPotentialStereo; // int (or bool) COMPUTED
123RDKIT_RDGENERAL_EXPORT extern const std::string
124 _CIPCode; // std::string COMPUTED
125RDKIT_RDGENERAL_EXPORT extern const std::string _CIPRank; // int COMPUTED
126RDKIT_RDGENERAL_EXPORT extern const std::string
127 _CIPComputed; // int (bool) COMPUTED
128RDKIT_RDGENERAL_EXPORT extern const std::string _CIPNeighborOrder;
129
130RDKIT_RDGENERAL_EXPORT extern const std::string
131 _CanonicalRankingNumber; // unsigned int
132RDKIT_RDGENERAL_EXPORT extern const std::string _ChiralityPossible; // int
133RDKIT_RDGENERAL_EXPORT extern const std::string
134 _UnknownStereo; // int (bool) AddHs/Chirality
135RDKIT_RDGENERAL_EXPORT extern const std::string
136 _ringStereoAtoms; // int vect Canon/Chiral/MolHash/MolOps//Renumber//RWmol
137RDKIT_RDGENERAL_EXPORT extern const std::string
138 _ringStereochemCand; // chirality bool COMPUTED
139RDKIT_RDGENERAL_EXPORT extern const std::string
140 _ringStereoWarning; // obsolete ?
141RDKIT_RDGENERAL_EXPORT extern const std::string _chiralPermutation; // int
142RDKIT_RDGENERAL_EXPORT extern const std::string _ringStereoOtherAtom; // int
143RDKIT_RDGENERAL_EXPORT extern const std::string _mesoOtherAtom; // int
144
145// Smiles parsing
146RDKIT_RDGENERAL_EXPORT extern const std::string _SmilesStart; // int
147RDKIT_RDGENERAL_EXPORT extern const std::string
148 _TraversalBondIndexOrder; // ? unused
149RDKIT_RDGENERAL_EXPORT extern const std::string
150 _TraversalRingClosureBond; // unsigned int
151RDKIT_RDGENERAL_EXPORT extern const std::string _TraversalStartPoint; // bool
152RDKIT_RDGENERAL_EXPORT extern const std::string
153 _queryRootAtom; // int SLNParse/SubstructMatch
154RDKIT_RDGENERAL_EXPORT extern const std::string _hasMassQuery; // atom bool
155RDKIT_RDGENERAL_EXPORT extern const std::string _protected; // atom int (bool)
156RDKIT_RDGENERAL_EXPORT extern const std::string
157 _ChiralAtomRank; // atom rank (unsigned int)
158RDKIT_RDGENERAL_EXPORT extern const std::string
159 _supplementalSmilesLabel; // atom string (SmilesWrite)
160RDKIT_RDGENERAL_EXPORT extern const std::string
161 _unspecifiedOrder; // atom int (bool) smarts/smiles
162RDKIT_RDGENERAL_EXPORT extern const std::string
163 _RingClosures; // INT_VECT smarts/smiles/canon
164RDKIT_RDGENERAL_EXPORT extern const std::string
165 atomLabel; // atom string from CXSMILES
166RDKIT_RDGENERAL_EXPORT extern const std::string OxidationNumber; // int
167
168// MDL Style Properties (MolFileParser)
169RDKIT_RDGENERAL_EXPORT extern const std::string molAtomMapNumber; // int
170RDKIT_RDGENERAL_EXPORT extern const std::string molFileAlias; // string
171RDKIT_RDGENERAL_EXPORT extern const std::string molFileValue; // string
172RDKIT_RDGENERAL_EXPORT extern const std::string molInversionFlag; // int
173RDKIT_RDGENERAL_EXPORT extern const std::string molParity; // int
174RDKIT_RDGENERAL_EXPORT extern const std::string molStereoCare; // int
175RDKIT_RDGENERAL_EXPORT extern const std::string molRxnComponent; // int
176RDKIT_RDGENERAL_EXPORT extern const std::string molRxnRole; // int
177RDKIT_RDGENERAL_EXPORT extern const std::string molTotValence; // int
178RDKIT_RDGENERAL_EXPORT extern const std::string molRingBondCount; // int
179RDKIT_RDGENERAL_EXPORT extern const std::string molSubstCount; // int
180RDKIT_RDGENERAL_EXPORT extern const std::string molAttachPoint; // int
181RDKIT_RDGENERAL_EXPORT extern const std::string molAttachOrder; // int
182RDKIT_RDGENERAL_EXPORT extern const std::string
183 molAttachOrderTemplate; // std::vector<AtomAttchOrd>
184
185RDKIT_RDGENERAL_EXPORT extern const std::string molAtomClass; // string
186RDKIT_RDGENERAL_EXPORT extern const std::string
187 templateNames; // vector of strings
188
189RDKIT_RDGENERAL_EXPORT extern const std::string molAtomSeqId; // int
190RDKIT_RDGENERAL_EXPORT extern const std::string molAtomSeqName; // string
191RDKIT_RDGENERAL_EXPORT extern const std::string molRxnExactChange; // int
192RDKIT_RDGENERAL_EXPORT extern const std::string molReactStatus; // int
193RDKIT_RDGENERAL_EXPORT extern const std::string molFileLinkNodes; // string
194RDKIT_RDGENERAL_EXPORT extern const std::string _fromAttachPoint; // int
195
196RDKIT_RDGENERAL_EXPORT extern const std::string _MolFileRLabel; // unsigned int
197RDKIT_RDGENERAL_EXPORT extern const std::string _MolFileChiralFlag; // int
198RDKIT_RDGENERAL_EXPORT extern const std::string _MolFileAtomQuery; // int
199RDKIT_RDGENERAL_EXPORT extern const std::string _MolFileBondQuery; // int
200RDKIT_RDGENERAL_EXPORT extern const std::string _MolFileBondEndPts; // string
201RDKIT_RDGENERAL_EXPORT extern const std::string _MolFileBondAttach; // string
202RDKIT_RDGENERAL_EXPORT extern const std::string
203 _MolFileBondType; // unsigned int
204RDKIT_RDGENERAL_EXPORT extern const std::string
205 _MolFileBondStereo; // unsigned int
206RDKIT_RDGENERAL_EXPORT extern const std::string
207 _MolFileBondCfg; // unsigned int
208RDKIT_RDGENERAL_EXPORT extern const std::string
209 MRV_SMA; // smarts string from Marvin
210
211// flag indicating that the chirality wasn't specified in the input,
212// but was calculated from 3D coordinates in the input
213RDKIT_RDGENERAL_EXPORT extern const std::string _NonExplicit3DChirality; // int
214RDKIT_RDGENERAL_EXPORT extern const std::string dummyLabel; // atom string
215
216RDKIT_RDGENERAL_EXPORT extern const std::string
217 _QueryAtomGenericLabel; // string
218
219// Reaction Information (Reactions.cpp)
220RDKIT_RDGENERAL_EXPORT extern const std::string _QueryFormalCharge; // int
221RDKIT_RDGENERAL_EXPORT extern const std::string _QueryHCount; // int
222RDKIT_RDGENERAL_EXPORT extern const std::string _QueryIsotope; // int
223RDKIT_RDGENERAL_EXPORT extern const std::string
224 _QueryMass; // int = round(float * 1000)
225RDKIT_RDGENERAL_EXPORT extern const std::string
226 _ReactionDegreeChanged; // int (bool)
227RDKIT_RDGENERAL_EXPORT extern const std::string NullBond; // int (bool)
228RDKIT_RDGENERAL_EXPORT extern const std::string _rgroupAtomMaps;
229RDKIT_RDGENERAL_EXPORT extern const std::string _rgroupBonds;
230RDKIT_RDGENERAL_EXPORT extern const std::string _rgroupTargetAtoms;
231RDKIT_RDGENERAL_EXPORT extern const std::string _rgroupTargetBonds;
232RDKIT_RDGENERAL_EXPORT extern const std::string reactantAtomIdx;
233RDKIT_RDGENERAL_EXPORT extern const std::string reactionMapNum;
234RDKIT_RDGENERAL_EXPORT extern const std::string reactantIdx;
235
236// SLN
237RDKIT_RDGENERAL_EXPORT extern const std::string
238 _AtomID; // unsigned int SLNParser
239RDKIT_RDGENERAL_EXPORT extern const std::string
240 _starred; // atom int COMPUTED (SLN)
241RDKIT_RDGENERAL_EXPORT extern const std::string
242 _SLN_s; // string SLNAttribs (chiral info)
243RDKIT_RDGENERAL_EXPORT extern const std::string _Unfinished_SLN_; // int (bool)
244
245// Smarts Smiles
246RDKIT_RDGENERAL_EXPORT extern const std::string _brokenChirality; // atom bool
247RDKIT_RDGENERAL_EXPORT extern const std::string isImplicit; // atom int (bool)
248RDKIT_RDGENERAL_EXPORT extern const std::string
249 smilesSymbol; // atom string (only used in test?)
250
251// Tripos
252RDKIT_RDGENERAL_EXPORT extern const std::string
253 _TriposAtomType; // string Mol2FileParser
254// missing defs for _TriposAtomName//_TriposPartialCharge...
255
256// molecule drawing
257RDKIT_RDGENERAL_EXPORT extern const std::string _displayLabel; // string
258RDKIT_RDGENERAL_EXPORT extern const std::string _displayLabelW; // string
259
260///////////////////////////////////////////////////////////////
261// misc props
262RDKIT_RDGENERAL_EXPORT extern const std::string
263 TWOD; // need THREED -> confusing using in TDTMol supplier
264 // converge with _2DConf?
265RDKIT_RDGENERAL_EXPORT extern const std::string BalabanJ; // mol double
266RDKIT_RDGENERAL_EXPORT extern const std::string BalanbanJ; // typo!! fix...
267
268RDKIT_RDGENERAL_EXPORT extern const std::string Discrims; // FragCatalog Entry
269// Subgraphs::DiscrimTuple (uint32,uint32,uint32)
270RDKIT_RDGENERAL_EXPORT extern const std::string
271 DistanceMatrix_Paths; // boost::shared_array<double>
272// - note, confusing creation of names in
273// - getDistanceMat
274RDKIT_RDGENERAL_EXPORT extern const std::string internalRgroupSmiles;
275RDKIT_RDGENERAL_EXPORT extern const std::string molNote;
276RDKIT_RDGENERAL_EXPORT extern const std::string atomNote;
277RDKIT_RDGENERAL_EXPORT extern const std::string bondNote;
278RDKIT_RDGENERAL_EXPORT extern const std::string _isotopicHs;
279
280} // namespace common_properties
281#ifndef WIN32
282typedef long long int LONGINT;
283#else
284typedef __int64 LONGINT;
285#endif
286#ifdef max
287#undef max // FUCK I hate this nonsense
288#endif
289#ifdef min
290#undef min // FUCK I hate this nonsense
291#endif
292
293RDKIT_RDGENERAL_EXPORT extern const double MAX_DOUBLE;
294RDKIT_RDGENERAL_EXPORT extern const double EPS_DOUBLE;
295RDKIT_RDGENERAL_EXPORT extern const double SMALL_DOUBLE;
296RDKIT_RDGENERAL_EXPORT extern const double MAX_INT;
297RDKIT_RDGENERAL_EXPORT extern const double MAX_LONGINT;
298
299typedef unsigned int UINT;
300typedef unsigned short USHORT;
301typedef unsigned char UCHAR;
302
303typedef std::vector<int> INT_VECT;
304typedef INT_VECT::iterator INT_VECT_I;
305typedef INT_VECT::const_iterator INT_VECT_CI;
306typedef INT_VECT::reverse_iterator INT_VECT_RI;
307typedef INT_VECT::const_reverse_iterator INT_VECT_CRI;
308
309typedef std::list<int> INT_LIST;
310typedef INT_LIST::iterator INT_LIST_I;
311typedef INT_LIST::const_iterator INT_LIST_CI;
312
313typedef std::list<INT_VECT> LIST_INT_VECT;
314typedef LIST_INT_VECT::iterator LIST_INT_VECT_I;
315typedef LIST_INT_VECT::const_iterator LIST_INT_VECT_CI;
316
317typedef std::vector<INT_VECT> VECT_INT_VECT;
318typedef VECT_INT_VECT::iterator VECT_INT_VECT_I;
319typedef VECT_INT_VECT::const_iterator VECT_INT_VECT_CI;
320
321typedef std::vector<UINT>::const_iterator UINT_VECT_CI;
322typedef std::vector<UINT> UINT_VECT;
323
324typedef std::vector<std::string>::const_iterator STR_VECT_CI;
325typedef std::vector<std::string>::iterator STR_VECT_I;
326typedef std::vector<std::string> STR_VECT;
327
328typedef std::vector<double> DOUBLE_VECT;
329typedef DOUBLE_VECT::iterator DOUBLE_VECT_I;
330typedef DOUBLE_VECT::const_iterator DOUBLE_VECT_CI;
331typedef std::vector<DOUBLE_VECT> VECT_DOUBLE_VECT;
332typedef VECT_DOUBLE_VECT::iterator VECT_DOUBLE_VECT_I;
333typedef VECT_DOUBLE_VECT::const_iterator VECT_DOUBLE_VECT_CI;
334
335typedef std::map<std::string, UINT> STR_UINT_MAP;
336typedef std::map<std::string, UINT>::const_iterator STR_UINT_MAP_CI;
337
338typedef std::map<int, INT_VECT> INT_INT_VECT_MAP;
339typedef INT_INT_VECT_MAP::const_iterator INT_INT_VECT_MAP_CI;
340
341typedef std::map<int, int> INT_MAP_INT;
342typedef INT_MAP_INT::iterator INT_MAP_INT_I;
343typedef INT_MAP_INT::const_iterator INT_MAP_INT_CI;
344
345typedef std::deque<int> INT_DEQUE;
346typedef INT_DEQUE::iterator INT_DEQUE_I;
347typedef INT_DEQUE::const_iterator INT_DEQUE_CI;
348
349typedef std::map<int, INT_DEQUE> INT_INT_DEQ_MAP;
350typedef INT_INT_DEQ_MAP::const_iterator INT_INT_DEQ_MAP_CI;
351
352typedef std::set<int> INT_SET;
353typedef INT_SET::iterator INT_SET_I;
354typedef INT_SET::const_iterator INT_SET_CI;
355
356//! functor to compare two doubles with a tolerance
358 public:
360 bool operator()(double d1, double d2) const {
361 if (fabs(d1 - d2) < _tol) {
362 return false;
363 } else {
364 return (d1 < d2);
365 }
366 }
367
368 private:
369 double _tol{1.0e-8};
370};
371
372//! std::map from double to integer.
373typedef std::map<double, int, ltDouble> DOUBLE_INT_MAP;
374
375//! functor for returning the larger of two values
376template <typename T>
378 T operator()(T arg1, T arg2) { return arg1 > arg2 ? arg1 : arg2; }
379};
380
381//! functor for comparing two strings
383 bool operator()(const char *s1, const char *s2) const {
384 return strcmp(s1, s2) < 0;
385 }
386};
387
388//! \brief calculate the union of two INT_VECTs and put the results in a
389//! third vector
391 INT_VECT &res);
392
393//! \brief calculate the intersection of two INT_VECTs and put the results in a
394//! third vector
396 INT_VECT &res);
397
398//! calculating the union of the INT_VECT's in a VECT_INT_VECT
399/*!
400 \param rings the INT_VECT's to consider
401 \param res used to return results
402 \param exclude any values in this optional INT_VECT will be excluded
403 from the union.
404*/
406 const INT_VECT *exclude = nullptr);
407
408//! given a current combination of numbers change it to the next possible
409// combination
410/*!
411 \param comb the <b>sorted</b> vector to consider
412 \param tot the maximum number possible in the vector
413
414 \return -1 on failure, the index of the last number changed on success.
415 Example:
416 for all combinations 3 of numbers between 0 and tot=5
417 given (0,1,2) the function wil return (0,1,3) etc.
418
419
420*/
422}; // namespace RDKit
423
424#endif
Defines the Dict class.
#define RDKIT_RDGENERAL_EXPORT
Definition export.h:441
RDKIT_RDGENERAL_EXPORT const std::string _ringStereoWarning
RDKIT_RDGENERAL_EXPORT const std::string _CIPComputed
RDKIT_RDGENERAL_EXPORT const std::string _MolFileBondQuery
RDKIT_RDGENERAL_EXPORT const std::string smilesSymbol
RDKIT_RDGENERAL_EXPORT const std::string _TriposAtomType
RDKIT_RDGENERAL_EXPORT const std::string _RingClosures
RDKIT_RDGENERAL_EXPORT const std::string bondNote
RDKIT_RDGENERAL_EXPORT const std::string _QueryHCount
RDKIT_RDGENERAL_EXPORT const std::string molRingBondCount
RDKIT_RDGENERAL_EXPORT const std::string _labuteASA
RDKIT_RDGENERAL_EXPORT const std::string _supplementalSmilesLabel
RDKIT_RDGENERAL_EXPORT const std::string molStereoCare
RDKIT_RDGENERAL_EXPORT const std::string MolFileComments
RDKIT_RDGENERAL_EXPORT const std::string molInversionFlag
RDKIT_RDGENERAL_EXPORT const std::string DistanceMatrix_Paths
RDKIT_RDGENERAL_EXPORT const std::string maxAttachIdx
RDKIT_RDGENERAL_EXPORT const std::string molAttachOrderTemplate
RDKIT_RDGENERAL_EXPORT const std::string _3DConf
RDKIT_RDGENERAL_EXPORT const std::string _NeedsQueryScan
RDKIT_RDGENERAL_EXPORT const std::string atomNote
RDKIT_RDGENERAL_EXPORT const std::string reactionMapNum
RDKIT_RDGENERAL_EXPORT const std::string reactantIdx
RDKIT_RDGENERAL_EXPORT const std::string _ChiralityPossible
RDKIT_RDGENERAL_EXPORT const std::string isImplicit
RDKIT_RDGENERAL_EXPORT const std::string _2DConf
RDKIT_RDGENERAL_EXPORT const std::string dummyLabel
RDKIT_RDGENERAL_EXPORT const std::string _fromAttachPoint
RDKIT_RDGENERAL_EXPORT const std::string _rgroupTargetAtoms
RDKIT_RDGENERAL_EXPORT const std::string _doIsoSmiles
RDKIT_RDGENERAL_EXPORT const std::string templateNames
RDKIT_RDGENERAL_EXPORT const std::string _QueryMass
RDKIT_RDGENERAL_EXPORT const std::string _QueryFormalCharge
RDKIT_RDGENERAL_EXPORT const std::string _labuteAtomHContrib
RDKIT_RDGENERAL_EXPORT const std::string _connectivityNVals
RDKIT_RDGENERAL_EXPORT const std::string BalanbanJ
RDKIT_RDGENERAL_EXPORT const std::string _unspecifiedOrder
RDKIT_RDGENERAL_EXPORT const std::string _ringStereoAtoms
RDKIT_RDGENERAL_EXPORT const std::string _NonExplicit3DChirality
RDKIT_RDGENERAL_EXPORT const std::string molRxnRole
RDKIT_RDGENERAL_EXPORT const std::string _SmilesStart
RDKIT_RDGENERAL_EXPORT const std::string _MolFileBondType
RDKIT_RDGENERAL_EXPORT const std::string molFileValue
RDKIT_RDGENERAL_EXPORT const std::string _CanonicalRankingNumber
RDKIT_RDGENERAL_EXPORT const std::string molAtomSeqName
RDKIT_RDGENERAL_EXPORT const std::string _fragSMARTS
RDKIT_RDGENERAL_EXPORT const std::string molTotValence
RDKIT_RDGENERAL_EXPORT const std::string _connectivityHKDeltas
RDKIT_RDGENERAL_EXPORT const std::string _crippenLogP
RDKIT_RDGENERAL_EXPORT const std::string _QueryAtomGenericLabel
RDKIT_RDGENERAL_EXPORT const std::string _TraversalStartPoint
RDKIT_RDGENERAL_EXPORT const std::string _GasteigerCharge
RDKIT_RDGENERAL_EXPORT const std::string molAttachPoint
RDKIT_RDGENERAL_EXPORT const std::string molAtomClass
RDKIT_RDGENERAL_EXPORT const std::string _MolFileAtomQuery
RDKIT_RDGENERAL_EXPORT const std::string TWOD
RDKIT_RDGENERAL_EXPORT const std::string _protected
RDKIT_RDGENERAL_EXPORT const std::string _displayLabelW
RDKIT_RDGENERAL_EXPORT const std::string _TraversalRingClosureBond
RDKIT_RDGENERAL_EXPORT const std::string _Unfinished_SLN_
RDKIT_RDGENERAL_EXPORT const std::string _CrippenMR
RDKIT_RDGENERAL_EXPORT const std::string _brokenChirality
RDKIT_RDGENERAL_EXPORT const std::string ringMembership
RDKIT_RDGENERAL_EXPORT const std::string molFileLinkNodes
RDKIT_RDGENERAL_EXPORT const std::string _MolFileRLabel
RDKIT_RDGENERAL_EXPORT const std::string _MolFileBondAttach
RDKIT_RDGENERAL_EXPORT const std::string molRxnComponent
RDKIT_RDGENERAL_EXPORT const std::string _CIPNeighborOrder
RDKIT_RDGENERAL_EXPORT const std::string MRV_SMA
RDKIT_RDGENERAL_EXPORT const std::string _ringStereoOtherAtom
RDKIT_RDGENERAL_EXPORT const std::string _MolFileBondEndPts
RDKIT_RDGENERAL_EXPORT const std::string _queryRootAtom
RDKIT_RDGENERAL_EXPORT const std::string numArom
RDKIT_RDGENERAL_EXPORT const std::string _rgroupBonds
RDKIT_RDGENERAL_EXPORT const std::string MolFileInfo
RDKIT_RDGENERAL_EXPORT const std::string molNote
RDKIT_RDGENERAL_EXPORT const std::string _crippenMR
RDKIT_RDGENERAL_EXPORT const std::string _GasteigerHCharge
RDKIT_RDGENERAL_EXPORT const std::string _UnknownStereo
RDKIT_RDGENERAL_EXPORT const std::string _smilesBondOutputOrder
RDKIT_RDGENERAL_EXPORT const std::string OxidationNumber
RDKIT_RDGENERAL_EXPORT const std::string _TraversalBondIndexOrder
RDKIT_RDGENERAL_EXPORT const std::string _rgroupAtomMaps
RDKIT_RDGENERAL_EXPORT const std::string _CIPCode
RDKIT_RDGENERAL_EXPORT const std::string _BondsPotentialStereo
RDKIT_RDGENERAL_EXPORT const std::string _Name
RDKIT_RDGENERAL_EXPORT const std::string _QueryIsotope
RDKIT_RDGENERAL_EXPORT const std::string molAtomMapNumber
RDKIT_RDGENERAL_EXPORT const std::string _CIPRank
RDKIT_RDGENERAL_EXPORT const std::string _hasMassQuery
RDKIT_RDGENERAL_EXPORT const std::string _ReactionDegreeChanged
RDKIT_RDGENERAL_EXPORT const std::string molParity
RDKIT_RDGENERAL_EXPORT const std::string _mesoOtherAtom
RDKIT_RDGENERAL_EXPORT const std::string _rgroupTargetBonds
RDKIT_RDGENERAL_EXPORT const std::string _CrippenLogP
RDKIT_RDGENERAL_EXPORT const std::string molRxnExactChange
RDKIT_RDGENERAL_EXPORT const std::string _displayLabel
RDKIT_RDGENERAL_EXPORT const std::string molAttachOrder
RDKIT_RDGENERAL_EXPORT const std::string molAtomSeqId
RDKIT_RDGENERAL_EXPORT const std::string BalabanJ
RDKIT_RDGENERAL_EXPORT const std::string extraRings
RDKIT_RDGENERAL_EXPORT const std::string atomLabel
RDKIT_RDGENERAL_EXPORT const std::string _isotopicHs
RDKIT_RDGENERAL_EXPORT const std::string _MMFFSanitized
RDKIT_RDGENERAL_EXPORT const std::string _labuteAtomContribs
RDKIT_RDGENERAL_EXPORT const std::string _tpsa
RDKIT_RDGENERAL_EXPORT const std::string _MolFileBondStereo
RDKIT_RDGENERAL_EXPORT const std::string molFileAlias
RDKIT_RDGENERAL_EXPORT const std::string _StereochemDone
RDKIT_RDGENERAL_EXPORT const std::string _ringStereochemCand
RDKIT_RDGENERAL_EXPORT const std::string _MolFileBondCfg
RDKIT_RDGENERAL_EXPORT const std::string _SLN_s
RDKIT_RDGENERAL_EXPORT const std::string molSubstCount
RDKIT_RDGENERAL_EXPORT const std::string _chiralPermutation
RDKIT_RDGENERAL_EXPORT const std::string _MolFileChiralFlag
RDKIT_RDGENERAL_EXPORT const std::string _crippenMRContribs
RDKIT_RDGENERAL_EXPORT const std::string reactantAtomIdx
RDKIT_RDGENERAL_EXPORT const std::string _ChiralAtomRank
RDKIT_RDGENERAL_EXPORT const std::string Discrims
RDKIT_RDGENERAL_EXPORT const std::string _smilesAtomOutputOrder
RDKIT_RDGENERAL_EXPORT const std::string _AtomID
RDKIT_RDGENERAL_EXPORT const std::string molReactStatus
RDKIT_RDGENERAL_EXPORT const std::string NullBond
RDKIT_RDGENERAL_EXPORT const std::string internalRgroupSmiles
RDKIT_RDGENERAL_EXPORT const std::string _starred
RDKIT_RDGENERAL_EXPORT const std::string _tpsaAtomContribs
RDKIT_RDGENERAL_EXPORT const std::string _crippenLogPContribs
RDKIT_RDGENERAL_EXPORT const std::string computedPropName
Std stuff.
INT_MAP_INT::iterator INT_MAP_INT_I
Definition types.h:342
VECT_DOUBLE_VECT::const_iterator VECT_DOUBLE_VECT_CI
Definition types.h:333
std::list< int > INT_LIST
Definition types.h:309
std::list< INT_VECT > LIST_INT_VECT
Definition types.h:313
std::vector< std::string > STR_VECT
Definition Dict.h:29
std::set< int > INT_SET
Definition types.h:352
INT_VECT::const_iterator INT_VECT_CI
Definition types.h:305
RDKIT_RDGENERAL_EXPORT 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
INT_INT_DEQ_MAP::const_iterator INT_INT_DEQ_MAP_CI
Definition types.h:350
std::vector< int > INT_VECT
Definition types.h:303
unsigned char UCHAR
Definition types.h:301
long long int LONGINT
Definition types.h:282
INT_SET::const_iterator INT_SET_CI
Definition types.h:354
RDKIT_RDGENERAL_EXPORT int nextCombination(INT_VECT &comb, int tot)
given a current combination of numbers change it to the next possible
std::vector< std::string >::iterator STR_VECT_I
Definition types.h:325
INT_VECT::const_reverse_iterator INT_VECT_CRI
Definition types.h:307
std::map< int, int > INT_MAP_INT
Definition types.h:341
std::vector< INT_VECT > VECT_INT_VECT
Definition types.h:317
std::deque< int > INT_DEQUE
Definition types.h:345
std::map< std::string, UINT > STR_UINT_MAP
Definition types.h:335
RDKIT_RDGENERAL_EXPORT const double EPS_DOUBLE
std::map< int, INT_VECT > INT_INT_VECT_MAP
Definition types.h:338
std::map< int, INT_DEQUE > INT_INT_DEQ_MAP
Definition types.h:349
std::vector< DOUBLE_VECT > VECT_DOUBLE_VECT
Definition types.h:331
RDKIT_RDGENERAL_EXPORT const double MAX_LONGINT
INT_DEQUE::iterator INT_DEQUE_I
Definition types.h:346
INT_LIST::const_iterator INT_LIST_CI
Definition types.h:311
INT_DEQUE::const_iterator INT_DEQUE_CI
Definition types.h:347
unsigned short USHORT
Definition types.h:300
INT_INT_VECT_MAP::const_iterator INT_INT_VECT_MAP_CI
Definition types.h:339
RDKIT_RDGENERAL_EXPORT const double MAX_INT
std::map< double, int, ltDouble > DOUBLE_INT_MAP
std::map from double to integer.
Definition types.h:373
INT_VECT::reverse_iterator INT_VECT_RI
Definition types.h:306
INT_SET::iterator INT_SET_I
Definition types.h:353
std::vector< UINT >::const_iterator UINT_VECT_CI
Definition types.h:321
INT_MAP_INT::const_iterator INT_MAP_INT_CI
Definition types.h:343
VECT_DOUBLE_VECT::iterator VECT_DOUBLE_VECT_I
Definition types.h:332
std::map< std::string, UINT >::const_iterator STR_UINT_MAP_CI
Definition types.h:336
DOUBLE_VECT::const_iterator DOUBLE_VECT_CI
Definition types.h:330
unsigned int UINT
Definition types.h:299
RDKIT_RDGENERAL_EXPORT void Union(const INT_VECT &r1, const INT_VECT &r2, INT_VECT &res)
calculate the union of two INT_VECTs and put the results in a third vector
INT_LIST::iterator INT_LIST_I
Definition types.h:310
std::vector< std::string >::const_iterator STR_VECT_CI
Definition types.h:324
LIST_INT_VECT::const_iterator LIST_INT_VECT_CI
Definition types.h:315
std::vector< double > DOUBLE_VECT
Definition types.h:328
VECT_INT_VECT::iterator VECT_INT_VECT_I
Definition types.h:318
DOUBLE_VECT::iterator DOUBLE_VECT_I
Definition types.h:329
RDKIT_RDGENERAL_EXPORT const double SMALL_DOUBLE
RDKIT_RDGENERAL_EXPORT const double MAX_DOUBLE
VECT_INT_VECT::const_iterator VECT_INT_VECT_CI
Definition types.h:319
LIST_INT_VECT::iterator LIST_INT_VECT_I
Definition types.h:314
INT_VECT::iterator INT_VECT_I
Definition types.h:304
std::vector< UINT > UINT_VECT
Definition types.h:322
functor for comparing two strings
Definition types.h:382
bool operator()(const char *s1, const char *s2) const
Definition types.h:383
functor for returning the larger of two values
Definition types.h:377
T operator()(T arg1, T arg2)
Definition types.h:378
bool operator()(double d1, double d2) const
Definition types.h:360