* remove no-op macros and dead code (pt 2)
* test failures due to whitespace changes?
* actually run the testFeatures tests
---------
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* 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>
* ci updates
* forgotten update
* inch by inch
* remove unused variable
* try a gcc bump
* get rid of a bunch of unused-but-set errors in clang16
* be more selective
* disable a test in an obsolete module which is mysteriously failing
* support tracking where the conformer generation code fails
* less verbose output
* tests now pass
* fix a stupid typo
* fix SWIG wrappers
* changes in response to review
* MolFragmenter: fix a leak when exceptions are thrown
* DistGeomHelpers: fix leaks when exceptions are thrown
* SubstructLibrary: fix usage of invalid memory
* clear up leaks found during ASAN testing
* 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
* cleanup a bunch of g++ warnings
* make it work with clang
* remove some additional warnings based on CI builds
* fix that version number
* stop being verbose when building
* add "needsHs()" query
* add warning for embedding without Hs
* add H checks to UFF and MMFF as well;
a small amount of cleanup in the MMFF atom typing
* adding a void pointer as a member for the EmbedParameters struct to allow aborting molecule embedder
* revert whitespace chage
* tabs->spaces
* have the callback function receive the iteration number as an argument, for progress monitoring
Co-authored-by: Jason Biggs <jasonb@wolfram.com>
* 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>
* 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
* Support providing a distance matrix for molecule embedding
* a bit of parameter checking
* allow fragmentation before embedding to be disabled
* fix a build problem on windows
change in response to review
* 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
* unused vars in bison parser cleanup
* initialization order in TopologicalTorsionGenerator
* unused params in SLN bison
* sln flex unused params
* throwing destructor in TDTWriter
* signed comparison in substructmethods
* unused input param in smiles/smarts bison
* unused ms param in sln bison
* signed comparison in FingerprintGenerator
* store return of fscanf in StructCheckerOptions
* unreferenced var in catch
* uninitialized value in FileParserUtils
* avoid override overload warning in MolDraw2DSVG
* non-final overrides in Validate.h
* unused static var in Avalon
* unused vars in catch blocks
* make AvalonTools avalonSimilarityBits & avalonSSSBits const int
* assert fscanf result in StructCheckerOptions
* do not use new on loggers
* del pointers in testDistGeom
* Update Dict hasNonPOD status on bulk update
* delete new Dicts in memtest1.cpp
* fixes in MolSuppliers and testFMCS
* PeriodicTable singleton as unique_ptr
* fix EEM_arrays leak
* fix leaks in testPBF
* fix ParamCollection leak in test UFF
* fix leaks in MMFF
* clear prop dict before read in in pickler
* fix leaks in testFreeSASA
* fix leaks in test3D
* modernize Dict.h & SmilesParse.cpp
* fix leaks in testQuery
* fix leaks in testCrystalFF
* fix leaks in cxsmilesTest
* fix leaks in Catalog & mol cat test
* fix leaks in ShapeUtils & tests
* fix leaks in testSubgraphs1
* fix leaks testFingerprintGenerators
* fix leaks in Catalog/FilterCatalog
* fix leaks in graphmolqueryTest
* these changes reduce bison parse leaks
* fixed leaks in testChirality.cpp
* fix leaks + 2 tests in testMolWriter
* fix 4m leaks in substructLibraryTest
* small improvements to molTautomerTest; still leaks
* fix leaks in testRGroupDecomp
* fix leaks in test; parser still leaks
* fix leaks in itertest
* fix 4m leaks in testDepictor
* fixes in smatest; still leaking due to parser
* fixes in testSLNParse; still leaking due to parser
* flex/bison: always add atoms with ownership; smarts error cleanup
* fix leaks in testReaction
* fix leaks in testSubstructMatch
* fix leaks in resMolSupplierTest
* fix leaks in testChemTransforms + bug in ChemTransforms
* fix leaks in testPickler
* fix leaks in testMolTransform
* fix leaks in testFragCatalog
* fix leak in testSLNParse. Still leaks due to Smiles
* fixed most leaks in testMolSupplier
* pre bison fix
* fix some atom & bond parse problems; others still fail
* bison smiles & smarts, atoms & bonds more or less fixed
* fix leaks in molopstest.cpp
* fix leaks in testFingerprints, MACCS.cpp & AtomPairs.cpp
* fix leaks in moldraw2Dtest1
* fix leaks in testDescriptors
* fix leaks in testInchi
* fix leaks in testUFFForceFieldHelpers
* fix leaks in hanoiTest & new_canon.h
* fix leaks in testMMFFForceField
* fix leaks in graphmolTest1
* fix leaks in testMMFFForceFieldHelpers
* fix leaks in testDistGeomHelpers
* fix leaks in testMolAlign
* initialize occupancy & temp facto with default values
* fix leak in TautomerTransform
* updated suppressions
* fix testStructChecker
* fix logging & py tests
* fix TautomerTransform class/struct issue
* remove misplaced delete in testSLNParse
* deinit in testAvalonLib1
* fix Avalon-triggered(?) bug in StructChecker/Pattern.cpp
* fix random testMolWriter/Supplier fails
- diversify output file names to avoid clashing.
- unify Writers close/destruct behavior.
- flushing/closing in tests.
* use reset in FFs Params.cpp
* comments on testMMFFForceField
* unrequired 'if's added to mol suppliers
* correct cast in FilterCatalog.h
* use unique_ptr in MACCS Patterns
* remove unrequred if in new_canon
* update & move suppressions
* Fixes#1990
makes sure we don't destroy a double bond's StereoAtoms just because a bond connected to one of its atoms is removed
* change in response to review
* boost::thread mostly gone... still need to get rid of once
everything compiles
* replace boost::call_once
* remove link-time dependency on boost::thread
* first pass at using async
* switch to using async everywhere
* Make sure EmbedMultipleConfs is deterministic for very large seeds and a seed of 0.
Fixing two distinct bugs:
- A randomSeed of 0 didn't use '0' as the seed even though the
documentation said that it should.
- Very large seeds could overflow the 'int' representation during
calculation of a new internal seed. This would make
EmbedMultipleConfs non-deterministic even though the user provided a
valid seed.
* Adding a C++ test for case pull request #1635.
* 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
* 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
* add a test (currently fails, of course)
* backup, not really working
* Fixes#1240
* a bit more parameter tweaking to get some more structures to embed
* initial version; no actual testing yet
* start on tests
* rename seed->randomSeed; add tests
* add support in java wrapper
* add support in python wrapper
* initial version; no actual testing yet
* start on tests
* rename seed->randomSeed; add tests
* add support in java wrapper
* add support in python wrapper
* yapf
* document the parameter object;
introduce pre-defined const objects for ETDG, ETKDG, and KDG
* this is why we write tests
* swig did not like the initialization in the header file
* 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
* - made Code/GraphMol/DistGeomHelpers/testDgeomHelpers.cpp and Code/GraphMol/DistGeomHelpers/Wrap/testDistGeom.py
more robust against very small coordinate variations which may induce UFF energy variations in the 1-kcal/mol range.
This was observed in a single case using the MinGW 32-bit g++ compiler. The check for identity of conformations
between single- and multi-threaded runs is now complemented by a 3D coordinate MSD check
* - lowered the energy tolerance to 1.0 kcal/mol
* - added rdkitBuild string with compile-time information
- added runtime check in Code/GraphMol/DistGeomHelpers/testDgeomHelpers.cpp
and Code/GraphMol/DistGeomHelpers/Wrap/testDistGeom.py
to use more lenient tolerances with MinGW compilers