* 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 pass at random smiles vector; c++ version
* add python wrappers for that
* Remove accidental change
* switch to using a cross-platform reproducible RNG
* 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
* 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
* Fix CanonicalRankAtomsInFragment API, adds includeChirality, includeIsotopes
* Add testGithub2611
* Update python doc string
* Ensure isotopes are being ignored when requested
Co-Authored-By: Greg Landrum <greg.landrum@gmail.com>
* Need to use all atoms for test
We have MolFragmentToSmiles already. But I think that when talking
about a fragment or part of a molecule, maybe SMARTS makes more
sense. If I see a SMILES string, I'll definitely think that
it should be a valid molecule, but I have no such
presumption about SMARTS.
Additionally, Schrodinger software sometimes generates SMARTS
for selection using a set of atoms picked in a GUI. It will
be useful to generate these SMARTS using RDKit.
* 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
* 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)
* not done... nossir
* this works for molecules
* works
* update the .cmake files for the smiles parser
* do the same thing for smarts
* add to the python wrappers
* Add initial Maestro format Supplier using maeparser library
Right now it's carrying over very limited information, more to come. Initially:
* 3D Coordinates
* Bonds with order
* Atom charges
* Structure title
* Greg's code review suggestions
Put MaeMolSupplier behind the coordgen flag. Added Python wrapper. Made other small
changes.
* Fix wrapping of MaeMolSupplier.cpp
* More code review feedback response
Also fixed an issue where exception during iteration locks up iterator
Remaining items:
* Bug where for i in MaeMolSupplier() works, but suppl = MaeMolSupplier
segfaults on OSX
* Add Python Unit tests
* Get build working with Coordgen flag turned off
* Fix memory bug, add Python unit tests
* Get rid of dead code in test
* Ifdef forward definitions for Maestro file reader
* 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 parameter to skip proximity bonding during PDB reading
* Test proximityBonding flag
* Remove multivalent Hs and bonds to metals in PDB
* Add tests for multivalent Hs and metal unbinding
* Remove covalent bonds to waters
* Test unbinding of HOHs
* Refactor funxtions
* Rename flag for cosistency
* Include flavor in double bond perception
* Add metalorganic test (APW ligand)
* Validate input foe IsBlacklistedPair and minor changes.
* 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