* 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
* Fix a hang when trying to read mols from a directory not a file on linux
* thrown an exception at construction time
* clarify the readme
* update release notes
* Refactor the stream opening and checking code to a common method
Co-authored-by: Brian Kelley <bkelley@relaytx.com>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* add overrides for what()
* translation fot KeyErrorException; update tests
* Switch all exceptions to `const char *` as a return type from message() (#4)
* switch return type of message() from std::string to const char *
* adjust one test to the new return type from message()
remove unnecessary verbosity from some tests
* fix cartridge build: update call to message().c_str()
* rebase agains master; fix another issue in cartridge build
* add deprecation note for message() and getMessage()
* amend Release notes
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* 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
* 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
* 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
* a round of cleanups courtesy of PVS studio
* add a test to make sure that a warning is a false alarm
* bug fix
* Fix a UFF bug
* more PVS studio cleanups
* next round of PVS studio cleanups
* completely remove the chances for that bug
* changes in response to review
* add an additional test
+ a bit of reformatting that snuck in
* disable builds of the StructChecker code by default
* operator"" _smarts() doesn't need to catch sanitization errors
* remove unused function
* turn back on some tests that shouldn't have been disabled
* Remove unused code from SMARTS parser and simplify a bit
SmilesParseOps::AddFragToMol is now used only from the SMARTS parser, so we can simplify the API
* Removes obsolete special case code for SMARTS
This was relevant when organic atoms in SMARTS queries were stored as two-part queries.
* improve SMARTS testing
make sure we can generate SMARTS from all the examples and then parse that again.
* Fixes#2814
* Fixes#2815
* some additional smarts tests to improve coverage
* test copy ctor and getPos
* remove obsolete test_list files
* include tests for the morgan invariant generators
* more cleanups and coverage improvements
* remove files that were mistakenly added
* Fixes a molblock writing problem
with undervalent atoms from the organic subset
* Fixes#2649
Also ensures that allenes are not written as crossed bonds
(which does not make sense at the moment anyway)
* clang-format run
This addresses a linking error when using dynamic libraries on Windows:
MDLParser.cpp.obj : error LNK2019: unresolved external symbol "void __cdecl RDKit::FileParserUtils::finishMolProcessing(class RDKit::RWMol *,bool,bool,bool)" (?finishMolProcessing@FileParserUtils@RDKit@@YAXPEAVRWMol@2@_N11@Z) referenced in function "void __cdecl RDKit::`anonymous namespace'::ParseV3000RxnBlock(class std::basic_istream<char,struct std::char_traits<char> > &,unsigned int &,class RDKit::ChemicalReaction * &)" (?ParseV3000RxnBlock@?A0xcb91cdb2@RDKit@@YAXAEAV?$basic_istream@DU?$char_traits@D@std@@@std@@AEAIAEAPEAVChemicalReaction@2@@Z)
..\..\..\bin\RDKitChemReactions.dll : fatal error LNK1120: 1 unresolved externals
We may want to set default visibility on Linux to hidden, too, so that we can catch linking errors like this more easily.
* 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
* Move DetectAtomStereoChemistry to Molops::assignChiralTypesFromBondDirs
DetectAtomStereoChemistry in MolFileStereochem is more broadly
useful. Additionally, it was not named very clearly for what
it was actually doing.
* Wraps assignChiralTypesFromBondDirs for use in Python
Makes assignChiralTypesFromBondDirs available in Python
and adds a test demonstrating that availability.
* Move RDBoostStreams to RDStreams
* RDBoostStreams->RDStreams
* RDBoostStreams->RDStreams
* Wrap SWIG (with Java test)
* Fix missing declaration
* Use the file that already exists
* Revert to original version
* Revert to CXSMiles version
* Update boost version
* Remove redundant code
* Add zlib
* check for win32
* FileParsers now builds static on windows
* added a set of test files for SGroups.
Many thanks to Gerd Blanke for providing these
* Partial version of the wrapper
Definitely needs more work
* add some properties
* basic SGroup property change test
* not working; backup commit
* disable writing for now
* add ClearMolSGroups() function
* review response: add a couple missing methods
* remove spaces from filenames
* update filename in test
* changes in response to review
* add operator== to SGroups
* solve lifetime problems with a vector_indexing_suite
* 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
* remove all of the "from __future__" imports
* remove the first batch of rdkit.six imports/uses
* next step of rdkit.six removal
* removing xrange, range, and some maps
* next round of removals
* next round of cleanups
* fix inchi test
* last bits of "from rdkit.six" are gone
* and the last of the six stuff is gone
* strange importlib problem
* first crude pass
* fix a deprecation
* change naming scheme, support bools
* add standalone function
* add a default value for missings
* support long lines
* stupid typo
* make operator[] work
* revisit missing value handling
* modify missing value handling
* switch to an alternate scheme for specifying missing values
* clang-format
* First pass at property list parser
still needs more tests
* add test for processMolPropertyLists
* get this working as part of the ForwardSDMolSupplier
* first pass at python wrappers and tests
* clang-format run
* add creation of property lists at the mol level
* wrap long lines on output
* remove PoC implementation
* fix python wrappers
* remove out-of-date reference to the Python PoC
* changes in response to review
* 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