* preliminary
* all tests pass
* cleanup
* more testing!
* we do still want to raise errors for aromatic atoms not in rings
fix one missed change for mol blocks
* update expected results for psql test
* stop removing substance groups with replaceAtom()
change default for keepSGroups argument to replaceBond()
* enable logging output for the fileparserscatch
* basics of parsing SMARTSQ SubstanceGroups
* Fixes#4476
test coming in the next commit
* handle multi-atom SMARTS as recursive
more testing
Test #4476
* a bit of cleanup
* get the tests working
* additional testing
* Update Code/GraphMol/FileParsers/MolFileParser.cpp
Co-authored-by: Ric <ricrogz@users.noreply.github.com>
Co-authored-by: Ric <ricrogz@users.noreply.github.com>
* make sure atom and bond bookmarks survive replaceAtom/Bond
* fixes oss-fuzz #30572
* fix possible memory-access error in error reporting
* more defensive deserialization
* switch that recursive smarts error handling to not use an exception
* - eliminate some documentation ambiguity about the role of the strictParsing flag
- fix some inconsistencies between SGroup parsing function prototype declarations and implementations
- add a workaround for accepting malformed V2000 'M SAP' entries affecting older version of MarvinJS (only if strictParsing is set to false)
- if strictParsing is set to false, malformed V2000/V3000 SGroups are ignored rather than causing the parsing to fail
- fix a couple typos in warnings
* changes in response to review
* - fixes a bug with the MDL MolParser (M ALS queries clobber previously existing queries)
- fixes a regression introduced by #3389 (duplicate formal charge queries may arise)
* changes in response to review
* forgot to commit
* 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
* allow CXSMILES generic query atoms to be parsed from mol;
need more tests here
* remove vestigial directory
* Add d_queryType to Query
This opens up additional flexibility with customizing the way queries are handled
Also includes some assorted cleanups in the Query directory
* remove the MolFileSymbol hack added in #3235
We don't need it anymore
* Add support for additional ChemAxon extensions and document them
Signed-off-by: greg landrum <greg.landrum@gmail.com>
* bump pickle version
* add an additional test
* make sure LINKNODE is saved from v3k mol files
v2k still needs work since the format is different
* write v3k linknodes
* support reading V2000 mol blocks too
* add documentation
* backup
* first pass at 5-rings working
* add a static method to initialize an empty parameter object
* expose static method to python
* additional testing
* support the single bond adjustments
* cleanup
* preserve the symbol used in the query from a CTAB
* support the way the MDL code adjusts five-ring aromaticity in query rings
* in-code documentation
* while we're at it, cleanup the way Q and A atoms are handled in the v3k parser
* changes in response to review
* make this C++14 again.
* change in response to review
* Deprecation: planned removal of .message() and .getMessage() methods
* Deprecation: planned removal of old MolHash code
* document deprecations
* output the diffs when the psql tests fail
* remove .message() from SWIG wrappers
note that the KeyError doesn't work properly. We should clean up the the exceptions here anyway
* typo
* Add convenience functions for generating v3K mol blocks and mol files
* first pass at parsing/writing the remaining atom properties from the CTAB spec
* handle SUBST
* write out the bond props that were being read but not written
* add an additional test
* fix a couple of problems caught in review
* get fileparsers catch tests building faster
should use this same approach across all of the catch2 tests
* Fixes#2916
* support parsing of STBOX for atoms and bonds in v3K mol files
add molStereoCare to common_properties
STBOX is translated to the molStereoCare property
* add stereocare support to adjustQueryProperties
make building the catch2 tests faster for the GraphMol package
* copy in AdjustQueryParameters JSON parsing from adapter.cpp
(That still needs to be ported to use the new code)
* get the cartridge using the new parsing code
* update test to reflect new parser behavior
* add a v2000 test
* changes in response to review
* run clang-tidy with readability-braces-around-statements
clang-format the results
clean up all the parts that clang-tidy-8 broke
* fix problem on windows
* first round of cleanups based on PVS-studio suggestions
* a couple more
* a few more cleanups
* another round of cleanups
* undo one of those cleanups
we want the integer rounding behavior here
* add a comment to make that clear
* Fix for filter catalog PRECONDITION redundancy
* Add tests for #1868
* Fix github bug number
* Fix#2 for correcting issue number
* Fixes#1868
The primary problem here was that when v3K reactions were being processed,
a bunch of "finalization" steps were being skipped for the reactants and products.
This remedies that.
* update the python test so that it tests the actual problem
* Fixes#2277
* changes in response to review
the big one is to move the PXA parser into the normal mol file parsing
* move the PXA changes to the writer as well
* SCN actually only needs 7 characters
* add test
* fixes in response to review
* handle blanks (instead of zeros) in the counts line.
The ctfile.pdf doc says we should do this
* Make the SGroup reader more robust w.r.t. bad data
The current behavior leads to uncaught exceptions when a line is too short.
This should clear that up so that we always throw the usual FileParseException
* make error messages a bit easier to read
* Implementation of SGroups
* remove sample files test
* update gitignore with test outputs
* fix RevisionModifier
* re-enable tests
* backup commit; things seem to work so far
* some refactoring; obvious s group tests pass now
* more refactoring
* everything now out of the public API
* not sure why this was still in there
* rename functions; all tests now pass
* remove getNextFreeSGroupId; readd comment in copy SGroups
* clang-format
* squash-merge current master
* squash merge master
* Address comments on PR
- Update to current master.
- Move SGroup parse time checks to SGroupChecks namespace.
- Store SGroups in ROMOl as vector<SGroups>.
- SGroup methods return referenes instead of pointers.
- Use atom/bond/sgroup indexes for properties instead of pointers.
- Have SGroups inherit from RDProps; move properties to RDProps.
- Remove trivial/unused methods.
- Add a link to the SD specification atop SGroup.h
* do not use new on loggers
* del pointers in testDistGeom
* Update Dict hasNonPOD status on bulk update
* delete new Dicts in memtest1.cpp
* fixes in MolSuppliers and testFMCS
* PeriodicTable singleton as unique_ptr
* fix EEM_arrays leak
* fix leaks in testPBF
* fix ParamCollection leak in test UFF
* fix leaks in MMFF
* clear prop dict before read in in pickler
* fix leaks in testFreeSASA
* fix leaks in test3D
* modernize Dict.h & SmilesParse.cpp
* fix leaks in testQuery
* fix leaks in testCrystalFF
* fix leaks in cxsmilesTest
* fix leaks in Catalog & mol cat test
* fix leaks in ShapeUtils & tests
* fix leaks in testSubgraphs1
* fix leaks testFingerprintGenerators
* fix leaks in Catalog/FilterCatalog
* fix leaks in graphmolqueryTest
* these changes reduce bison parse leaks
* fixed leaks in testChirality.cpp
* fix leaks + 2 tests in testMolWriter
* fix 4m leaks in substructLibraryTest
* small improvements to molTautomerTest; still leaks
* fix leaks in testRGroupDecomp
* fix leaks in test; parser still leaks
* fix leaks in itertest
* fix 4m leaks in testDepictor
* fixes in smatest; still leaking due to parser
* fixes in testSLNParse; still leaking due to parser
* flex/bison: always add atoms with ownership; smarts error cleanup
* fix leaks in testReaction
* fix leaks in testSubstructMatch
* fix leaks in resMolSupplierTest
* fix leaks in testChemTransforms + bug in ChemTransforms
* fix leaks in testPickler
* fix leaks in testMolTransform
* fix leaks in testFragCatalog
* fix leak in testSLNParse. Still leaks due to Smiles
* fixed most leaks in testMolSupplier
* pre bison fix
* fix some atom & bond parse problems; others still fail
* bison smiles & smarts, atoms & bonds more or less fixed
* fix leaks in molopstest.cpp
* fix leaks in testFingerprints, MACCS.cpp & AtomPairs.cpp
* fix leaks in moldraw2Dtest1
* fix leaks in testDescriptors
* fix leaks in testInchi
* fix leaks in testUFFForceFieldHelpers
* fix leaks in hanoiTest & new_canon.h
* fix leaks in testMMFFForceField
* fix leaks in graphmolTest1
* fix leaks in testMMFFForceFieldHelpers
* fix leaks in testDistGeomHelpers
* fix leaks in testMolAlign
* initialize occupancy & temp facto with default values
* fix leak in TautomerTransform
* updated suppressions
* fix testStructChecker
* fix logging & py tests
* fix TautomerTransform class/struct issue
* remove misplaced delete in testSLNParse
* deinit in testAvalonLib1
* fix Avalon-triggered(?) bug in StructChecker/Pattern.cpp
* fix random testMolWriter/Supplier fails
- diversify output file names to avoid clashing.
- unify Writers close/destruct behavior.
- flushing/closing in tests.
* use reset in FFs Params.cpp
* comments on testMMFFForceField
* unrequired 'if's added to mol suppliers
* correct cast in FilterCatalog.h
* use unique_ptr in MACCS Patterns
* remove unrequred if in new_canon
* update & move suppressions
* does not yet really work
* tests pass
* store the info about the attachment points in case we want to use it later.
* add a couple more tests; changes in response to review
* Fix 2D/3D interpretation of V2000 ctabs
* Remove debugging statements
* Apply fix to V3000 molblock
* Add 3D pretending to be 2D test case
* Fix for review comments.
* add a couple test files
* backup
* first pass at some theory documentatin
* it's a draft
* Update enhanced stereochemistry documentation
Adds initial target use case and caveats about the tentative
nature of the current implementation.
* Support read/write of molfile enhanced stereochemistry
This includes reading and writing of enhanced stereochemistry
from v3000 molfiles (sdf). Enhanced stereochemistry encodes
the relative configuration of stereocenters, allowing
representation of racemic mixtures and compounds with
unknown absolute stereochemistry.
It does not include:
* Python wrapping
* invalidation of the enhanced stereochemistry
* use of enhanced stereochemistry in search
* depiction of enhanced stereochemistry.
* Update to reflect changes from #1971
* change names of enum elements to allow compilation in VS2017
I think it's also clearer to do things this way
* Addressed most review comments.
* Run missed test "testEnhancedStereoChemistry"
* In tests, added size checks to group equality checks
* Updated copyright statements
* Deleted mol created for a test
* Use perfect forwarding in RWMol::setStereoGroups()
* use references for stereo groups that are checked in write and pickle
* Updated stereogroup.h in hopes of fixing compilation on Windows.
* clang-format
* try allowing a switch to boost regex and requiring it for g++-4.8
* do a better job of that
* typo
* Code review comments. Updated Copyright notice.
* When an atom is deleted, delete stereo groups containing it.
Also updates StereoGroup toUse accessors instead of
constant member attributes. This allows move of StereoGroups.
* RDKit style guide
* Add header required on Windows.
* get the SWIG wrappers to build