Greg Landrum
5992c6fd23
- made the ResonanceMolSupplier really lazy, i.e. resonance structure enumeration is only carried out when the user asks for a structure or when the user explicitly request that calling the enumerate() member function. This makes object creation fast and enables calling getNumConjGrps(), getBondConjGrpIdx() and getAtomConjGrpIdx() member function without incurring in the cost of necessarily enumerating resonance structures
...
- now bonds and atoms with do not belong to conjugated groups get a -1 index
- added a few Python wrappers
- added a few tests
2015-11-04 05:39:46 +01:00
Paolo Tosco
3d48ba72e1
- added threading support to ResonanceMolSupplier and relevant tests
...
- added threading support to the ResonanceMolSupplier-enabled
SubstructMatch() and relevant tests
- modified/removed some code in O3AAlignMolecules.cpp which doesn't
seem necessary anymore
- modified Code/GraphMol/CMakeLists.txt to allow building
on Windows
2015-11-01 23:01:34 +00:00
Brian Kelley
380badc12f
Removes IFDEF internal API points, uses BOOST_FOREACH
2015-10-29 13:49:35 -04:00
Brian Kelley
bf99daea04
Merge branch 'master' into fix/fix-unlocking-mutexes-that-arent-locked
...
Merged with ResonanceSupplier based changes
2015-10-28 18:10:47 -04:00
Brian Kelley
340d4274cc
Fixes trying to unlock mutexes that aren't locked
2015-10-28 16:42:36 -04:00
Paolo Tosco
f43677b978
- fixed a problem with thiocarboxylates/thiolates not being perceived
...
as conjugated like their oxygen analogs
- fixed an issue with large numbers of resonance structures exceeding
the unsigned int allowance
- implemented the uniquify feature properly
- uniquify now defaults to false when using the ResonanceMolSupplier-
enabled SubstructMatch() version
- the concept of 'laziness' is now clearer
- TODO:
* remove some debugging info
* move classes from .h to .cpp
* SWIG wrappers
* improve resonance structure sorting for degenerate resonance
structures
I will do all of the above ASAP
2015-10-21 20:06:53 +01:00
Paolo Tosco
eaa187b03d
- added ResonanceMolSupplier
...
- added overloaded SubstructMatch() version supporting ResonanceMolSupplier
- added relevant Python wrappers
- added C++/Python tests
2015-10-04 23:21:28 +01:00
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