* Fixes#2450
adds `hasOwningMol()` to the public API for Bond and Atom
* add to other classes;
add to python wrappers
* get the smiles generation partially working
* changes in response to review
* very basics of writing as PoC: atom labels end up in output
* further progress, does not currently work
* stop writing coordinate bonds;
we represent these in SMILES already
* add coords
* fix typo in dealing with atom properties
* get atom props working
* changes in response to PR
* Fix#2042 allowing python/c++ randomizer smiles generator
* adding rootAtAtoms randomness
* add the minor change to bypass rules if doRandom
* Add another point of randomness (the initial choice had been missed)
Make the tests cross-platform. Hopefully
* add SVG parsing to python
re-enable the moldraw2d tests
* A couple of fixes connected to #2029
* handle problems parsing atom/bond SMILES
* wrap the whole thing in the <metadata> tag
* patch a memory allocation problem in the maeparser v1.0.0 (#2044)
* add atoms
* add bonds
* backup
* Fixes#2029
* Get metadata working for drawMolecules()
* add to python wrapper
const correctness
* also connected to #2029: make sure bond direction also ends up in the output
* initial version of an SVG->ROMol parser
this is in the wrong place, but I wanted to make sure it actually works
* move svg parser to a more reasonable location
there is still some work to be done here
* add conformer parsing
* Add more options to GetAtomSmiles() to control output.
The most important one here is that you can now directly control whether or not isomeric SMILES is generated.
Expand the python interface so that we have more control over Atom.GetSmarts()
* make the use of isomeric atomic smiles explicit (since we can)
* start release notes for 2018.09.1
* python formatting
* 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 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
* 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
This makes things a little less clear (which is why I left it out originally) but it's more efficient. Now, rather than updating vfragsmi with the sorted fragment smiles, the final result smiles is generated directly.
Handle disconnected components correctly when generating the _smilesAtomOutputOrder property. This requires:
(a) the mapping from the fragment molecules back to the original molecule
(b) the fragment maps to be sorted at the same time as the fragment smiles (if canonical)
o rdkit gains a RDKit::common_properties namespace that contains common string value properties
o Dict.h and below gain getPropIfPresent that attempts to retrieve a property and returns
true/false on success or failure. This is used to optimize access.
o rdkit learns how to pass property keys by reference, not value.
A new namespace has been added to RDKit, common_properties
that contains the std::string values for commonly used
properties. This helps to avoid typos in string values
but also avoids a creation of std::strings from character
values. All accessors (has/get/clear and getPropIfPresent) now pass
the key by reference.
Additionally, getPropIfPresent removes the double lookup
of hasProp/getProp which can be a significant speedup
in the smiles and smarts parsers (10-20%)