Commit Graph

57 Commits

Author SHA1 Message Date
Brian Kelley
95a92282d1 Dictionary access is saniztized and optimized.
o rdkit gains a RDKit::common_properties namespace that contains common string value properties

 o Dict.h and below gain getPropIfPresent that attempts to retrieve a property and returns
  true/false on success or failure.  This is used to optimize access.

 o rdkit learns how to pass property keys by reference, not value.

A new namespace has been added to RDKit, common_properties
that contains the std::string values for commonly used
properties.  This helps to avoid typos in string values
but also avoids a creation of std::strings from character
values.  All accessors (has/get/clear and getPropIfPresent) now pass
the key by reference.

Additionally, getPropIfPresent removes the double lookup
of hasProp/getProp which can be a significant speedup
in the smiles and smarts parsers (10-20%)
2015-01-15 12:23:29 -05:00
Greg Landrum
4b8caf2ceb Fixes #409 2015-01-10 07:21:55 +01:00
Greg Landrum
c26cbc26cb switch to using references to smart pointers for the Match functions;
really ought to re-examine when/how we are passing smart pointers
 around in general, but that is a bigger job.
Ref: http://herbsutter.com/2013/06/05/gotw-91-solution-smart-pointer-parameters/
2014-05-10 06:21:27 +02:00
Greg Landrum
34ab68ca2a introduce QueryBond::QueryMatch, as with QueryAtoms;
all tests passing;
performance tests still needed
2014-05-07 05:29:25 +02:00
Greg Landrum
4a14a52674 Fixes #153 2013-11-15 06:47:18 +01:00
Greg Landrum
126e75a8b3 comment out the new substruct atom-match caching code; it does not seem to actually make things faster 2013-04-27 03:04:12 +00:00
Greg Landrum
d07a674fa4 fix and test GitHub issue 15 2013-03-28 12:51:05 +00:00
Greg Landrum
c00d323eee set props 2013-03-28 10:30:40 +00:00
Greg Landrum
d79491aaf9 use caching of vertex matches to speed up the VF2 searches 2013-03-28 10:28:13 +00:00
Greg Landrum
24764635d8 initial support for double bond stereochem in substructure searching 2013-03-11 05:36:00 +00:00
Greg Landrum
414b579b1c first pass at support for supporting atomic stereochemistry in substructure matches 2013-03-10 07:33:00 +00:00
Greg Landrum
14314b01ad add cmake configure variable to make multi-threaded stuff optional 2012-12-17 04:07:20 +00:00
Greg Landrum
f8c1999207 update build system to work with boost v1.51 2012-10-26 03:48:04 +00:00
Greg Landrum
bcf6310f11 an attempt to make handling of recursive SMARTS threadsafe.
This passes the tests here and in knime on linux64. Other OSs still need testing
2012-09-29 09:01:43 +00:00
Greg Landrum
3b3d44db16 remove exe property from source files 2011-01-13 04:22:56 +00:00
Greg Landrum
b993f89afe remove the bjam-based build system 2010-09-27 03:54:07 +00:00
Greg Landrum
f3fbef45c5 update copyright statements 2010-09-26 17:04:37 +00:00
Greg Landrum
4db8233db6 sync with trunk 2010-09-10 05:12:41 +00:00
Greg Landrum
052ec66542 cleanups:
remove x bit from headers and sources;
remove a couple empty files from Code/GraphMol
2010-09-08 04:25:57 +00:00
Greg Landrum
cb6cdb99b3 merge in a set of changes from Riccardo V. to install .h files as well;
this needs more testing.
2010-09-04 14:07:22 +00:00
Greg Landrum
0ce95829a5 cleanup deprecated args 2010-08-21 00:16:55 +00:00
Greg Landrum
f42f479d28 enabling infrastructure for making repeated recursive
smarts queries run faster (like vector bindings). Though there is an addition to the smarts parser
exposed here, I do not recommend using it in client code.
2010-06-03 10:02:15 +00:00
Greg Landrum
ec2c2042e8 remove the vflib usage code from Substruct area 2010-04-19 07:45:22 +00:00
Greg Landrum
49ef84ed45 a bunch of fixes to SLN handling 2010-04-11 09:06:52 +00:00
Greg Landrum
803b459289 merge in changes from trunk in preparation for moving this stuff onto the trunk 2009-10-25 05:51:56 +00:00
Greg Landrum
44b5041ef2 fix and test sf.net bug 2884178 2009-10-24 06:01:32 +00:00
Greg Landrum
53485592ca builds on windows with visual studio; need to pass back to linux now 2009-10-01 13:35:48 +00:00
Greg Landrum
76297b0fff builds and passes tests on linux 2009-09-28 11:02:18 +00:00
Greg Landrum
96adbc11ea remove the deprecated assign{Atom,Bond}ChiralCodes functions 2009-08-02 15:33:08 +00:00
Greg Landrum
9cabf87374 remove vflib from Jamfiles
remove const specifiers from return values in DataStructs
add initial pass at query-query matching for Atoms and Bonds
fix and test for sf.net issu 2738320
add Mol.AddRecursiveQuery() method to Mol
2009-06-29 11:47:38 +00:00
Greg Landrum
b418472bd5 cleanup 2009-04-20 08:14:52 +00:00
Greg Landrum
17fa9210e6 merge revs1065:1087 from vf2 branch into trunk 2009-04-18 18:25:27 +00:00
Greg Landrum
8e731f9e70 move the MolDiscriminators calculations into Subgraphs in order to remove the lapack dependency from the core molecule code;
At some point the BalabanJ calculation, still in MolDiscriminators.cpp, should be 
moved to MolDescriptors.
2009-04-10 04:09:49 +00:00
Greg Landrum
f3dc387bc4 merge changes from revs991:996 on Ullmann_9Feb2009 branch;
get USE_VFLIB fulling working and make it the default
2009-02-28 16:52:06 +00:00
Greg Landrum
e05580e495 This is a sizeable one: change the way BGL is used so that atoms and bonds are stored as bundled properties
instead of using the property map interface.
A nice side-effect is that the wart of having to use property maps to loop over bonds or atom neighbors
is now gone.
This potentially breaks lots of client C++ code.
2009-02-11 20:19:25 +00:00
Greg Landrum
4056ad7e6c use vertex degree to prune matches 2009-02-09 16:49:26 +00:00
Greg Landrum
30fe77b609 initial commit: passes all tests and seems to be faster than the original code 2009-02-09 16:19:31 +00:00
Greg Landrum
8bf7a4c187 now all tests pass here as well 2009-02-03 05:26:10 +00:00
Greg Landrum
2580fbaaa2 this is probably a ways from done, but now at least we can run bjam under mingw without it immediately erroring out 2008-11-15 17:14:13 +00:00
Greg Landrum
21bb475b61 further jamfile mods for macosx 2008-10-19 05:36:09 +00:00
Greg Landrum
89a34d1a39 get this building on Darwin; NOTE: this may not work on win or linux yet 2008-09-03 19:24:35 +00:00
Greg Landrum
e8f3536845 remove a bunch of compiler warnings 2008-05-26 20:05:57 +00:00
Greg Landrum
8424d36830 get things building on windows. 2008-04-08 18:24:56 +00:00
Greg Landrum
d3aea154ef switch everything over to dynamic linking in order to try and solve
the horrible cross-library exception handling mess on linux. This may well break things on windows, which
might want these things static. Regardless, even as it is, this should be considered experimental
2008-04-08 10:24:57 +00:00
Greg Landrum
26a4124ad9 remove files for old build system 2008-02-20 17:06:59 +00:00
Greg Landrum
430a83bd96 merge in the jamfiles from the bjam branch;
various and sundry minor code cleanups;
this probably does not yet build on windows... that is next
2007-11-23 15:55:30 +00:00
Greg Landrum
e450f5beeb doc updates and some minor formatting changes 2007-10-24 16:37:37 +00:00
Greg Landrum
7cfa8cde0b another substruct caching try 2007-09-23 06:56:13 +00:00
Greg Landrum
47d47a49d3 remove vestiges of old windows build system 2007-07-31 17:09:53 +00:00
Greg Landrum
d5ffea669d add support for chirality in substructure searches;
this only is going to work in cases where CIP codes have been (i.e. can be)
assigned to atoms.
2006-11-03 06:35:14 +00:00