* first pass at writing v3K rxns
* python wrapper
* test other C++ call
* cleanup
* Fixes Windows DLL build issue
* changes in response to review
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
* backup commit
This is mabye heading in the right direction and at least passes the basic tests which are there.
* some progress
* more tests and refactoring
* additional aliases
add carboaryl
* add CYC and ACY
* add ABC
* add AHC
* CBC and AOX
* add CHC and HAR
* add CXX
* cleanup: remove a bunch of nullptrs
* initial tagging support
* remove atom labels/sgroups after using them
* docs
* start handing writing
NOTE: this does not currently work: the generic code needs to move out of SubstructSearch
* move the generic groups to their own library
Signed-off-by: greg landrum <greg.landrum@gmail.com>
* make sure the generic groups end up in ctabs
* add forgotten CMakeLists.txt
* fix includes
* expose this stuff to Python
* CYC needs to initialize rings
* renaming
* add docs
* change in response to review
* remove include from headers
* update implementation files
* completely remove BOOST_FOREACH (#7)
* convert those changes to use auto
* get rid of all usage of BOOST_FOREACH
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Fix ROMol->RWMol static casts
* Fix accessing of end-iterator.
* Fix some test build issues I saw while compiling with Clang.
* Add build settings for sanitizers.
* Revert "Add build settings for sanitizers."
This reverts commit 5dc84374f0.
* 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
* 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>
* 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
* 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
* 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
* 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
* 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
* Fixes#2225
* A bit of extra cleanup
* forgotten file
* Make this thread safe and add support for v3K mol blocks
* add the file
* update expected results
* 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
* 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
* 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
* auto generate coords in mol block writer if includeChirality = True
* default to include chirality when writing mol blocks/files
* make isomeric smiles the default; note that not all tests are passing at the moment
* update a reaction test
* update expected cartridge search results
at this point all python, c++, and cartridge tests pass
* docs
* update incompatibility docs
* update doctests
* these now build
* minor example update
* update expected c++
* typo
* make allowCXSMILES=true the default
* add auto perception of chirality when reading 3D structures from mol blocks
* explain changes in release notes
* further doc update
* Add support for dative bonds to molfile reader plus writer and to SMILES reader (SMILES writer already supports it).
Initial V3000 molfile reader and writer dative bond support by Esben Jannik Bjerrum.
* first pass at adding -> as dative bond in smiles/smarts
more testing required
* all tests pass
* update .cmake files for lex