* not quite done yet
* Fixes#2244
* Fixes#2148
This fixes a few of the knock-on effects of the actual fix.
* Test that we still write SMILES properly
* Fixes#2266 (#2269)
* Fixes#2268 (#2270)
* Improve interactivity of output SVG (#2253)
* Add clickable atoms when tagAtoms() is called
* add python tests
* add class tags for atoms and bonds
* add marker to allow easy insertion of extra text
* 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
* Changes to Python bulk FP convenience functions
- Change the default fingerprint to Morgan
- Change the method of specifying fingerprints to use an enum instead of a string
- Pluralized the name of the bulk functions to make it obvious that they return more than one FP
* Use Morgan radius=2 for the bulk convenience functions
* does not yet really work
* tests pass
* store the info about the attachment points in case we want to use it later.
* add a couple more tests; changes in response to review
* Expose SetQuery to python
* Add a default for maximum products generated by a reaction (maxProducts=1000)
* Add better documentation for test that used to raise exception
* properly import rdqueries
* 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
* Fingerprint generator first prototype
* Added some more details to the prototype
* Update based on comments
* Added additional outputs and return type changes
* FingerprintGenerator updated and placeholder implementation added
* Added getFingerprint implementation to FingerprintGenerator
* Added comments for FingerprintGenerator
* WIP: Atom pairs fingerprint implementation for FingerprintGenerator
* Removed templates and added comments
* Fixed AtomPairEnvGenerator creating duplicate environments
* Added a atom pair old version compatibility test
* Moved the FingerprintGenerator related tests to a new file
* Added new comments and changes from the PR comments
* using int types from std instead of boost and remove cleanUpEnvironments
* Minor refactoring for atom-pair atom code generation
* Added more tests for AtomPairGenerator
* Removed additional clean up method from FingerprinGenerator
* Added additional output for atom-pair fingerprint and a test
* Removed leftover code
* Default argument changes
* Removed leftover include
* Default invariant generation logic seperated from env generation logic for AtomPairs
* Implemented fingerprint as bit vector type and added the test for it
* Folded fingerprint implementation and a test case added
* String representation for fingerprint generator is added
* Python wrapper for fingeprint generator added with a simple test
* Removed unused linked libraries
* AtomPair related wrapper code moved to its own file
* Python wrapper methods for different fingerprint output types added
* Wrappers for invariants generators and tests are added
* Added more comments and tests
* Changed python side names for FIngerprintGenerator and removed extra wrappers used for invariant generators on python
* Fixed object lifetime problems for invariant generators in Python
* Fixed typo
* Added a list of test molecules and made fingerprint generator related classes noncopyable
* Morgan fingerprint python wrappers
* Removed argument helper class for wrapper
* Morgan Fingerprint simple implementation
* Added more invariants generators for Morgan
* Fixed a bug in Morgan bond invariant generator
* Added invariant generator combination tests
* Added atom pair generator to the invariant generator combination test
* Fixed a problem in morgan feature invariant generator
* Overriding invariants without generators is made possible
* Added comments and documentation
* Radius changed for morgan fingerprint test
* RDKit fingerprint generator implementation with cpp tests
* 32 bit and 64 bit fingerprint support for FingerprintGenerator
* Common utilities moved to FingerprintUtil.h and code duplication reduced
* Solved undefined reference issues for FPGenerator templates
* Topological torsion fp generator added
* Fingerprint notebook added
* Python wrappers updated
* Morgan tests added
* Tests expanded and reduced excess amounts of collision in folded output
* Expanded tests
* More documentation
* Python docs for atom pair
* Updated fingerprint generator notebook
* Python wrapper documentation added
* Seperated FingerprintGenerator implementations into seperated file again
* Python wrapper names updated to reflect new naming
* getCountFingerprint now returns 32 bit output and count simulation does not affect count fingerprints
* Python 3 compatibility for fingerprint generator tests
* a bit of ABC cleanup
* some comment formatting got screwed up
* <sigh>
* fix an uninitialized memory problem
* Added copyright statement to new files
* Corrected some comments and docs according to the latest changes
* Bulk fingerprint generation and tests
* Convenience function wrappers and size limiting for getSparseFingerprint
* Copyright text fixed
* Info string added to python wrappers
* Some changes to get the swig wrappers building again
This is useful for installations where pg_config is renamed to not
collide with the system default pg_config name.
We should drop 'find_package(PostgreSQL REQUIRED)' statement in
future because that's supposed to find PostgreSQL client library
to build against, not PostgreSQL server. It might happen that
PostgreSQL server on the system is of different version than libpq
(Debian), but in future it will be problematic also on Fedora
(rhbz#1618698).
See also: https://gitlab.kitware.com/cmake/cmake/issues/17223
* Modify removeHs so that it does not remove degree 0 atoms
Update the docs at the same time.
* include a warning when not removing some Hs
* clear up a problem with the warning log
* Fixes#2057
docs still need to be updated
* docs update
* Update getting started doc.
This still needs to have the doctests run and should probably be
proofread and tweaked
* some doc updates
* change in response to review
* Fix 2D/3D interpretation of V2000 ctabs
* Remove debugging statements
* Apply fix to V3000 molblock
* Add 3D pretending to be 2D test case
* Fix for review comments.
* Fix memory leak in Dict operator=
* Reenable old tests
* Don't overwrite nonPodData until the last moment
* Fix previous bug. Need to check other._hasNonPodData, not our own
* short test file for MolVS standardize_sm
* short test file for MolVS fragment
* short test file for MolVS metals
* short test file for MolVS normalize
* short test file for MolVS reionize
* short test file for MolVS tautomer
* short test file for MolVS validate
* long test file for MolVS standardize smiles
* long test file for MolVS fragment
* long test file for MolVS metals
* long test file for MolVS normalize
* long test file for MolVS reionize
* long test file for MolVS tautomer
* long test file for MolVS validate
* Unit tests for MolVS steps
* dropping support for Python2
* molvs/__init__.py
* molvs/charge.py
* molvs/errors.py
* molvs/fragment.py
* molvs/metal.py
* molvs/normalize.py
* molvs/resonance.py
* molvs/standardize.py
* molvs/tautomer.py
* molvs/utils.py
* molvs/validate.py
* molvs/validations.py
* molvs/cli.py
* adapted and renamed molvs/cli.py to work within $RDBASE/Contrib/MolVS/
* setup MolStandardize directories, source with empty cleanup function, header, CMake files
* corrections to empty source, header and test1.cpp
* adding empty functions and initializers to MolStandardize
* empty Metal source, header and added test
* added most of Metal.cpp functionality and made some more tests
* empty functions and initializers to Normalize
* empty functions and initializers to Validate
* added most code for RDKitDefault mode, along with some tests
* restructure for abstract base class ValidateMethod
* written in isNoneValidation for MolVSValidation
* took out isNoneValidation, put in noAtomValidation, neutralValidation, isotopeValidation for MolVSValidation
* added in AllowedAtoms
* added in disallowedAtoms
* corrections to Validate
* added code for FragmentRemover
* extended fragment functionality to include choose largest fragment, added in tests for fragment catalog, fragment remover. Also added fragmentValidation method in MolStandardize
* added another test to testValidate test_fragment
* corrections to fragment
* corrections to Metal
* added code for Normalize
* added normalize member function to MolStandardize and added tests
* added multi fragment functionality to Normalize.cpp and additional tests
* TransformCatalog
* tests for Normalize.cpp
* first bit of cleanup
* added most of Charge functionality and some tests
* some corrections to Charge.cpp and some more tests to testCharge.cpp
* corrections to Charge.cpp
* start of Tautomer Enumerate with some tests
* added BondType option to Tautomer Enumeration
* correcting for some memory leakage
* a few alterations to formatting
* sorting out some memory leaks
* sorting out some memory leaks
* some corrections for PCS test set
* redo tests with updated RDKit
* fixing memory leak
* more fixes after 100kPCS set testing
* using tab as delimiter in CSVs rather than comma
* tutorial for MolStandardize
* still working on Tautomer enumeration
* deleted some empty tests
* starting writing tautomer canonicalize
* rename test_data -> data (the source still needs to be updated)
* automatic source reformatting
* adjust to directory rename
* move the fragment catalog test into the MolStandardize directory
do not create separate library for FragmentCatalog
* stop building separate libraries for the catalogs
* move the CleanupParameters into the MolStandardize namespace
* first pass at python wrapper
* move the py module to the correct dir;
add some python tests;
add standardizeSmiles to python wrapper
* disabling the compareMolVSTest since that requires command line arguments to run
* get this building on windows
* put the python lib in the right place
* further work on python wrapper for rdMolStandardize
* added get and set functions to Metal and wrapped them
* added get and set functions to Metal and wrapped them
* changed construstor of Reionizer class and input args for reionize, wrapped this default
* overload Reionizer constructor so user can input own AcidBaseFile from python
* added Uncharger class to Charge and added test for Uncharger
* wrapped Fragment, fixed some memory leakage, changed some args and return types, added some tests
* wrapped Normalized and changed how Normalizer class is initiated
* changing MolVSValidation structure so user can choose which MolVS submethod they want
* starting to write Wrap for Validate
* now it compiles with Wrap/Validate.cpp
* a couple refactorings around validate
* move the validate code into the rdMolStandardize module
* make sure a valid pointer is returned for standardizeSmiles
* rdMolStandardize.MolVSValidation done and tests added
* half way through AllowedAtomsValidation
* finished AllowedAtomsValidation and DisallowedAtomsValidation
* moved charge, fragment, metal, normalize into the rdMolStandardize module
* changed tutorial to use wrapped code
* added copyrights
* added copyrights
* move the data files
* modify source files to adjust to the move
* added validateSmiles functionality
* removed std::cout
* redid some of the 100k PCS tests
* working on the tutorial
* adding some documentation
* deleting some comment lines
* some changes after pull review
* More changes after pull review
* start of trying to make java wrap
* remove some warnings, add some questions
* additional warning removals, a bit more reporting
* some test cleanups
* enable testing of the java code