* make sure 13 bounds constraints are added to angles that are part of an impropper torsion
* make sure angles are constrained with higher force constant to prevent rings from folding
* adapt tests to new behavior
* move comment to correct place
* add min bounds test
* make sure we are not terribly outside of the bounds matrix
* First try at using DistViolationContribs
only the most basic of testing has been done
also add ForceField::distance2 to allow some optimizations
* allow testing using old approach
* optimization
At this point testUFFForceFieldHelpers fails since the check for std::max_element
in the e_contribs vector at Embedder.cpp:513 is now doing something totally different
(instead of a bunch of small distance violation contribs, we have one big one).
We'll need to come up with something for this.
With the benchmarking set that I'm using - 500 DG conformers for ~465 COD molecules
using 10 threads - this runs in almost 10% less time than master.
* backup;
builds, tests do not pass
* all tests pass except the old failure
* more constification
* backup/debugging
* add fourthdim contribs the same way
* tests now pass
* deprecations
* remove unused vars and code
* changes in response to review
* first try
* do over with @greglandrum: fix atomPairs, lower SP angle force constant.
* change test file for 'update parameters from JSON':'ETKDGv2'
* adapt length to fix
* remove overwritten random seed
* adapt test files to changes
* adapt amide test, check with Greg
* fix python tests and remove unused imports
* proposal for new test molecule
* remove double comparison, increase threshold. Check with greg
* remove TODO comments
* remove debugging statements
* same code for both since they are doing the same
* format docstring to make more readable
* remove todo comments
* add indentation to angle param
* adapt doctest to newly generated conformers
* fix test to pass with fewer failures and move mol to mol file for less cluttered test.
* a bit of modernization
* remove cerrs and format correcly
* reverted test to old behavior
* use insert and make force field contribs exception safe
---------
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* change a define to a "using"
* basic atropiosomer support for confgen
currently only supports bonds with two exo substituents on each end
* support systems with two exo bonds
* cleanup
* add test for #7109Fixes#7109
* clean the tests up a bit
* backup
* bug fix: ensure getTotalNumHs() alwasy considers neighbors
* make trans amides the default
ensure it works
cleanup expected tests
* note results-changing fix
* fix docs and run some clang-format
* cleanup in response to review
* improvements for smal anr large ring conformer generation
* add documentation and reorder parameters in EmbedParam
* resolve merge conflict due to coordMap null pointer
* minor changes to address merge comments
* reorder variables in EmbedParameters
* add regression test for small ring and macrocycle torsion preferences
* not apply small ring torsions to bridged ring systems
* fix and test for bridged small rings torsion pattern exclusion
* add ETKDGv3 and srETKDGv3 option to keep compatiblity for original ETKDG
* EKTDG version 3 related minor fix
* add reference to doc string
* Java wrapper for ETKDGv3
* fix doc
* change CPCI to shared_ptr, but it seems to be much slower
* minor modifications to small bridged ring systems, and share_ptr from previous commit is fine
* rollback from shared_ptr(map) to just map
* run clang-format
Co-authored-by: Shuzhe Wang <shuwang@eu-login-10.euler.ethz.ch>
Co-authored-by: Shuzhe Wang <shuwang@eu-login-14.euler.ethz.ch>
Co-authored-by: Shuzhe Wang <shuwang@eu-login-17.euler.ethz.ch>
Co-authored-by: Shuzhe Wang <shuwang@eu-login-45.euler.ethz.ch>
Co-authored-by: Shuzhe Wang <shuwang@eu-login-05.euler.ethz.ch>
Co-authored-by: Shuzhe Wang <shuwang@eu-login-15.euler.ethz.ch>
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* updated atomic radii to follow the Blue Obelisk Data Repository
Ubuntu package bodr version 10-1; radii are from file
/usr/share/bodr/elements.xml
* typo
* use 2.0 as default VDW radius instead of 1.7
for elements missing from the Blue Obelisk Data Repository
* Document the atomic_data
* update expected test results
* update java tests
* allow a bit more slop when comparing confs
For cross-platform stability
* version 2 of ETKDG
* setting default and changing to unsigned int
* ETversion 2 only via EmbedParams available
* Some refactoring so that the DG functions that take the parameter object are the primaries.
This should allow new parameters to be added without having to modify the API
* test and wrapper changes to go along with that
* update cookbook to use etkdg
* regression test for ETKDG version 2 improved
* passes all tests, but is still not 100 percent there
* generalize _centerInVolume for possible future use
* better testing of tetrahedral centers
update tests
* only test ring atoms
* handle 4-coordinate n too
* add a volume check; not all tests pass
* turn off debug printing
* rearrange the order of tests.
if this is not done, we get a seg fault when the github55 test runs.
the whole thing needs to be run under valgrind to track this down
* clear up a memory leak
* a bit more documentation
add a constant for one of the threshold values
* get more permissive on the energy tests.
Only do the extra tetrahedral tests for atoms in at least two rings.
* add a DEBUG_EMBEDDING option to make tracking down failures easier
* enable better debugging when the flag is set
* remove a FIX
* remove some debug printing from the tests
to original Rappe' UFF equations are in Code/ForceField/UFF/AngleBend.cpp
and Code/ForceField/UFF/BondStretch.cpp; the changes in
Code/ForceField/UFF/TorsionAngle.cpp are purely cosmetic.
Tests modified according to the small differences in geometries
and energies following the implementation of those corrections:
- Code/ForceField/UFF/testUFFForceField.cpp,
- Code/GraphMol/DistGeomHelpers/Wrap/testDistGeom.py,
- Code/GraphMol/DistGeomHelpers/testDgeomHelpers.cpp,
- Code/GraphMol/MolChemicalFeatures/Wrap/testChemicalFeatures.py,
- rdkit/Chem/Pharm3D/UnitTestEmbed.py
Coordinate files modified according to the small differences in
geometries following the implementation of those corrections:
- Code/GraphMol/DistGeomHelpers/test_data/initCoords.random.sdf