* add function to convert embedParams to json
* add catch test
* add function to python wrapper
* test python function
* update copyright
* undo formatting and cleanup
* more cleanup
* remove the map flag and added round trip
* add bounds mat output
* run clang-format
* expose symmetrizeTerminalAtoms() to the public API
* support symmetrizing terminal groups in RMS pruning in confgen
* add that to the python wrapper
* add backwards compatibility note
* allow JSON config of the new option
* 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
* fix a float comparison in a test
* make ETKDGv3 (i.e. v2 of the torsion parameters) the default.
This should have been done a long time ago.
* change default for onlyHeavyAtomsForRMS too
* release notes update
* fix two problems leading to bad double bond geometries from the conformer generator
* test for violations of double bond stereo in confgen
* some cleanup
* define constants
* better description of the test
* changes in response to review
- improved docs
- split linearity check from stereo check
- always do linearity checks
also: track double-bond stereo failures
* 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
* add custom parameter to tune the relative weights of distance bounds to all the other force terms during ETKDG conformer generation
* fixes as per reviewer comments
* collection of doxygen fixes
* more files with fixed doxygen comments
* more doxygen fixes
* more doxygen fixes
* last set of doxygen comment fixes
Co-authored-by: Jason Biggs <jasonb@wolfram.com>
* hello world works
* more
* more
minimallib needs to be tested
* parse substructure parameters from JSON
* add substruct search and parameters
* add descriptors
* register more descriptors
* fingerprints, first pass
* stop outputting tiny coord vals
* support generating 2d coords
* coordgen testing
* return nulls
* initial 3d support; add/removeHs; cleanup
* Embedding parameters from JSON
* update
* pattern fp, fps as bytes
* use json to configure MFP
* use json to configure rdkit and pattern fps
* aligned 2d coords
* parsing options
* options for writers
* rename remove_hs
* get this working on windows (kind of)
* silence some msvc warnings
* cmake updates
* update python tests
* add the CFFI code to CI builds
* cleanup line ending mess?
* a couple small fixes
* make this work with URF
* support coordMap in the 3D coordinate generation
* updates in response to review
* 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
* 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>
* run clang-tidy with modernize-use-default-member-init
* results from modernize-use-emplace
* one uniform initialization per line
otherwise SWIG is unhappy
Co-authored-by: Brian Kelley <fustigator@gmail.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>
* 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
* 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
* 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
GraphMol/DistGeomHelpers/:
Support generating random initial coordinates of atoms as an alternative to embedding. This has so far only been tested on windows (all tests pass) and it needs to be optimized (particularly force field parameters).
Other changes here are primarily cosmetic code cleanups.