* 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#1810
There's still a problem with stereo atoms (see the commented out test),
but this takes care of the basics and that's up next.
* clean up that last problematic bit.
Still needs all tests to run
* this seems to be a necessary workaround for problems with VS2017.
It's a bit ugly, but shouldn't have any performance impact, so I'm not
going to get too worked up.
* This set of changes alters what we get for some of the InChI test cases.
Adjust for that.
* Add AtomPDBResidueInfo during molops::addhs
* Test addhs and AtomPDBResidueInfo
* Little cleanup
* Fix serial
* Refactor code, add unique Hs labels
* Move code to separate function + bugfix.
* Make function optional (AddHs residueInfo param)
* Rename argument
* 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
This changes the CIPCode and CIPRank atom properties to no longer be computed properties.
Note: under linux I was unable to actually get the bug to manifest (converting the uint property to an int didn't cause problems), but that doesn't mean it shouldn't still be fixed.
By default all atoms are merged, however when
this flag is true, any mapped atom will convert
explicit Hs to implicit. This is due to not
wanting to convert mapped hydrogens taking
part in reactions.
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%)
removed when the heavy atom they are connected to is not
in its default valence state, while it has one of the
acceptable valence states (otherwise it still has to be
removed for sanitization purposes)
- updated the MMFF validation suite SMILES accordingly
Code/ForceField/MMFF/testMMFFForceField.h
- re-prepared the SDF files from their MOL2 counterparts present in the
original MMFF validation suites. For this purpose a C++ program was
written which only uses information in MOL2 files and in .fc files
provided by Halgren. The C++ program does not depend on RDKit.
- re-prepared the SMILES files from their SDF counterparts using
a Python script which calls MolToSmiles()
- found an issue which affects 2 files in the test suite, namely
ERULE_05 and PO02A (only the hypervalent notation). The issue is
connected with removal of hydrogens bonded to phosphorous and
appears to be fixed by the modifications in Code/GraphMol/AddHs.cpp
and Code/GraphMol/SmilesParse/SmilesWrite.cpp. This issue is
independent of the changes ini the SDF files; indeed, it has
always been present, and had been previously addressed by
manual correction of the two SMILES strings