* enable Werror on Mac and Linux
* do not fail on boost multiprecision pessimizing move
* fix eigen array_bounds warning
* Fix unused arg in Rascal MCS
* fix range-loop-construct warning in Rascal MCES
* fix sign mismatched comparison
* drop unused lambda capture
* allow FMCS timeout test more time under Debug (not a warning!)
* fix fwd declaration of struct RascalClusterOptions
* fix deallocator mismatch
* fix two minor leaks
* fix a real leak
* more minor leaks
* fix another real leak, plus some potential ones
* fix std::move preventing copy ellision
* allow longer run time for debug builds
* make maxBondMatchPairs and getLargestFragSize unsigned int
* make snake case camel case
* update to current master, fix new warnings
* update again and more fixes
* add #include <optional>
* fix char array deallocation
* update and fixes in Marvin writer
* unsigned int
* more copy ellision fixes
* more copy ellision fixes, and typos
* and some more
* Fix vulnerabilities found by fuzzer.
* Fix Typo in RWMol.cpp
* Update RWMol.cpp
This is an attempt to double check where the test failure is coming from.
* Update RWMol.cpp
Re-adding changes to test tests.
* Add support for dative bonds in MOL files
Dative bonds cannot be read in mol files V2000.
(really not supposed to be, but some software systems put them in there anyway)
* Add documentation about dative bonds in V2000
* suggestion from review
---------
Co-authored-by: Tad Hurst <tad.hurst@collaborativedrug.com>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Fixes#6395: Move string index appropriately with molfiles
This code gives a fix to issue #6395, where properties lines in molfiles might not be processed correctly when dealing with pairs of values.
* Update tests to reflect molblock parsing changes
* handle the cases when the flag is set
* add python wrapper
* Fixes#6241
update and finish?
* set the chiral flag to 0 in the mol file parsers
* adjust to the chiral flag always being present
* add note
* initial support for wiggly and wedged bonds in cxsmiles
add CX_ALL_BUT_COORDS convenience option to CXSMILES writer
* move ClearSingleBondDirFlags to MolOps
* do a better job of handling the wiggly bonds
* mark 3D conformers from CXSMILES
* remove some extraneous printing
* test wD as well
* remove non-applicable test
* basic tests (not passing) for parsing t/c/ctu
* remove test for unimplemented feature
* changes in response to review
* changes in response to review
check for attempt to set the wedging more than once
testing for invalid w blocks
fix a bad comment
* slow steps towards a string_view experiment
* Move first set of file-handling code to use string_view
This is about 12% faster on my machine
* oops, yaehmop had not been updated to C++17
* start moving v3000 over
* disable storing string_views in Dicts.
* a bit more optimization
* get windows builds working
* fix a couple leaks in the test code
* changes in response to review
* changes suggested in review
+ more refactoring
* fix an oversight
* remove another one
* remove debugging numbers
* Improved regex whitespace handling
Change was made in the parseEnhancedStereo function
* Files for Github #5165 test case
Both files use enhanced stereochemistry, but differ in whitespace content
* Test case for Github Issue #5165
Catches whitespace parsing error
* Improves test case check
Makes test case more specific, less prone to potential invalid access to container
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Improves test case check
Makes test case more specific, less prone to potential invalid access to container
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Update test case "Github #5165"
Add 'require(mol)' to confirm valid molecule before additional testing
* Cleans up test for Issue #5165
* Cleans up test for Issue #5165
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* - adds normalizeDepiction() and Python wrappers
- adds straightenDepiction() and Python wrappers
- adds an early check for R-labels to be in the accepted range to avoid throwing an exception later on
- adds a kekulize flag to process_details() to enable depicting molecules which fail to kekulize from JavaScript
- adds JavaScript functions to get fingerprints as Uint8Array
- adds JavaScript function to generate pickled molecule as Uint8Array
- adds JavaScript function to restore molecule from Uint8Array pickled
- adds has_coords() JavaScript function
- adds set_new_coords() to set JSMol coordinates in-place
- adds get_mol_copy() to obtain a JSMol copy
* fix build failures
* changes in response to review
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
* 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