* move replaceAtomWithQueryAtom() and completeMolQueries() to QueryOps namespace
* support ring bonds from cxsmiles
* add a test that is still failing
* update nonHydrogenDegree query, add SMARTS extension for that
* some cleanup
* unsaturation and substitution count
* fix typo in test
* update expected result
* add linknodes
* add variable attachment points
* improve documentation of supported cxsmiles features
* clarifying the docs
* support leaving out the outer atoms in LN specs
* fix ossfuzz issue 24074
* fix ossfuzz issue 23896
* switch to throw exceptions when reading ints/floats
* remove extraneous benchmarking code
* change type of AH query
* confirm an invariant while finding rings
* no sense in adding these tests to github
* switch to use fail() instead of failbit
switch to acceptSpaces by default
* TautomerQuery class
* working test
* Comment header
* Merge with master. Greg's suggestions. More tests. Python wrapper
* Updated Pattern Fingerprints to merge with master. Reset email
* Java/C# wrappers. Java test
* Java/C# wrappers. Java test
* Java/C# wrappers. Java test
* Greg suggestions of 6_2_2020
* Explicit types in Java TautomerQueryTests class
* Update Code/GraphMol/QueryOps.h
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* get windows dll builds working
* Removed tautomer query wrappers from RDKit namespace
* Fixes from evaluation
* Template molecule identification fix. Greg's suggestion
* Final check search functor for evaluating template matches as they are found
Co-authored-by: Gareth Jones <gjones@glysade.com>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* run clang-tidy with modernize-use-default-member-init
* results from modernize-use-emplace
* one uniform initialization per line
otherwise SWIG is unhappy
Co-authored-by: Brian Kelley <fustigator@gmail.com>
* first cleanup
* next round of changes. all tests pass
* Fixes#2909
* Fixes#2910
* further cleanup
* some cleanup/refactoring of the Dict class
* remove now extraneous calls to hasProp() before clearProp()
* minor refactoring of RDProps.h
* Switch from using our own version of round() to std::round()
* replace some boost::math stuff with the equivalents from std::
* cleanups in SmartsWrite
* refactor out a bunch of duplicated code
* fix an instance of undefined behavior
* changes in response to review
* unused vars in bison parser cleanup
* initialization order in TopologicalTorsionGenerator
* unused params in SLN bison
* sln flex unused params
* throwing destructor in TDTWriter
* signed comparison in substructmethods
* unused input param in smiles/smarts bison
* unused ms param in sln bison
* signed comparison in FingerprintGenerator
* store return of fscanf in StructCheckerOptions
* unreferenced var in catch
* uninitialized value in FileParserUtils
* avoid override overload warning in MolDraw2DSVG
* non-final overrides in Validate.h
* unused static var in Avalon
* unused vars in catch blocks
* make AvalonTools avalonSimilarityBits & avalonSSSBits const int
* assert fscanf result in StructCheckerOptions
* Fixes#1929
* add a tests to make sure bogus template directories work
* add a combined atomic number + aromaticity query operation to speed up SMARTS matches
Still needs to be recognized by the SMARTS writer, serialization, and no doubt a few other places.
* add a combined query for the single/aromatic bond query that shows up in SMARTS
* Stop using a dead pointer in the when parsing Marvin SMARTS in a CTAB
* At this point all tests pass on windows
* debugging info back in
* update the bison output
* boost::thread mostly gone... still need to get rid of once
everything compiles
* replace boost::call_once
* remove link-time dependency on boost::thread
* first pass at using async
* switch to using async everywhere
* Removes ATOM/BOND_SPTR in boost::graph in favor of raw pointers
* Actually delete atoms and bonds...
* RWMol::clear now calls destroy to handle atom/bond deletion
* Changes broken Atom lookup for windows/gcc
* Adds tests for running with valgrind
* Adds test designed for valgrind and molecule deletions
* Removes RNG, actually tests bond deletions
* update swig wrappers
* deal with most recent changes on the main branch
* add queries for the number of heteroatom neighbors
* support cactvs "z" extension
this includes support for range queries on z that could
be extended to other query types as well
* extend range query extension to other SMARTS primitives
* add the less-than and greater-than versions of the range queries
* updates and new tests
* update .cmake files
* support [#6] in SMILES
* document SMILES extensions (such as they are)
* Add support for cactvs's Z queries
* add support for ^4 and ^5
* get tests running
doc update
* book updates
* update .cmake files
* handle the heavy-atom degree queries differently
* Fixes#1563
* add a test for the heavy atom degree option
* Support (and test) adjustHeavyDegree in the cartridge too.
* test results
* add a SmilesParserParams object to prepare for this
* add a SmilesParserParams object to prepare for this
* add tests for the SmilesParseParmas
* support name parsing, should it be the default?
* rename CXNSmiles to CXSmiles;
add a spirit parser for CXSmiles coordinate that is at least syntax correct
* abandon boost::spirit for now; crude atom token parser
* support params in smiles parser (not tested, may not build)
* can read coords and atom labels along with mol names; crude, but works
* read coordinate bonds
* remove some compiler warnings with VS2015
* remove a bunch of compiler warnings on windows
* remove more warnings on windows
* remove more warnings on windows
* backup commit: first pass at parsing query features
* radical spec parsing
* handle attachment points using atom mapping
* switch to a named property for atom labels
* fix handling of the "A" atom query
* add functions to construct A and Q queries (needs more work)
* fix a problem created while cleaning up warnings earlier
* add some additional convenience functions for making generic atoms.
Still need M and to recognize these while writing CXSMILES
* add M queries; update some tests
* fix a linux compile problem
* get the cxsmiles stuff working in python; basic testing
* support "M" in CXSMILES
* atoms: radical electrons and presence of a chiral tag
* bonds: presence of stereo
* add new atom queries to python wrapper
* add queries for missing atom chiral tags
* Remove a bunch of warnings
The biggest change here is to treat the boost includes as system libraries.
This causes g++ to ignore warnings from boost.
This change still needs to be tested with clang and on Windows
* suppress a bunch of warnings on clang
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.