* move mol weight and formula calculators to MolOps and refactor them a bit.
The descriptors are still there and should remain.
* remove other unnecessary dependencies on Descriptors
* Update adapter.cpp
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
---------
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
* reionizer and uncharger and normalizer can now operate in place
* add removeUnmatchedAtoms argument to in-place version of runReactant
When set to false atoms which are not explicitly removed by the reaction are preserved
* Fix a case where transforms were incorrectly updating atomic numbers
* add more inplace operations to MolStandardize
* support those in the Python layer
* support inplace for the rest of the python wrappers
* move a few more functions over to the inplace code
* backup
* basic tests pass
* add JSON out to substruct match parameters
* serialize the substruct match parameters in reactions
* add that to the python wrapper
* more testing
* minor preparatory refactor
* add test
* add reaction literals
* tests for the new literals
* add runReactant
first steps to making things work
* remove works
* backup
* all current tests passing except bond-order changes
some atom-property copying fixed
* bond changes now work
* handle atomic stereo
* some cleanup and more tests
* docs
* not-working
* add KekulizeIfPossible()
* return a value from KekulizeIfPossible
* Revert "not-working"
This reverts commit 2ebd8a5519.
* add in-place reactions to python wrapper
* simplify deprotection wrapper code
* support in-place deprotection
* changes in response to review
* forgotten change
* 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>
* backup
* compiles
* progress, but not there yet
* basics now working
* start towards adding another test
* test having two variation points
* add actual enumeration and the corresponding tests
* docs and cleanup
* cleanups to get the mac build working
* attempt to get win32 dll builds to work
* dlls are fun
* Add FixedMolSizeMolBundle class
* changes in response to review
Also: add warnings for bad input in ParseV3000Array
* a bit of refactoring
* additional testing
* does not work, backup
* LINKNODES work now
* cleanup
* allow silencing reaction validation warnings during initialization
* docs
* fix (and test) handling of empty enumerations
* silence warnings when doing alchemy
* first pass at a Python wrapper for the enumerator
* Add Java wrappers for MolBundle and the MolEnumerator
* cleanup some comment formatting
* 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#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
* backup
* Fixes#1387
this passes the bug tests, but needs the full tests run
* all tests pass
* remove some droppings left from an earlier attempt at a fix
* remove some additional printing
* cleanup
* Fixes exceptions to use correct functionName
* Deprecates ChemDrawAdjustParams name sciquest integration/eln searching
doesn’t map to this behavior. renamed MatchOnlyAtRgroupAdjustParams
* Python wrapper for deprecated API
* fixHs now is more intelligent about merging hs.
The only cases where hs can’t be merged is if they are mapped
to a non hydrogen in the product.
* Updates deprecated ChemDrawAdjustParams
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%)
- Module to generate reaction fingerprints: structural FP for screening,
difference FP for similarity search
- Add some utility functions to simplify handling of reactions
- Add new functionality to include agents in the reactions, some adaptions
to parsers and writers had to be done
- Supports intra-bond breaks in products now
- Molecules with rxn role (atom property) can be parse as reaction now
instead of using the property map interface.
A nice side-effect is that the wart of having to use property maps to loop over bonds or atom neighbors
is now gone.
This potentially breaks lots of client C++ code.