* 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
* add support for allene- and cumulene-like structures to the K terms in KDG
* Update Code/GraphMol/DistGeomHelpers/BoundsMatrixBuilder.cpp
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
* Update Code/GraphMol/DistGeomHelpers/Embedder.cpp
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
---------
Co-authored-by: Paolo Tosco <paolo.tosco.mail@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
* 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>
* 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
* first pass at allowing setting the coordmap from Python
* plug the memory leak
* implemented tidier coordMap memory management
---------
Co-authored-by: ptosco <paolo.tosco@novartis.com>
* Fix macrocycle bounds calculation, and make it accessible from Python
* Previously, C=C([#1])-C([#1])=C groups in a macrocycle were always
cis. Although the bounds within the group allowed cis or trans, the
1-4 bounds of the H atoms were always set to trans, which forces the
carbons into the cis position. This change fixes this behavior to
allow cis or trans conformations
* Previously, the useMacrocycle14config flag could only be used from
Python by creating an ETKDGv3 object, and defaulted to False
otherwise. This change adds the flag to EmbedMolecule,
EmbedMultipleConfs, and the EmbedParameters Python interface.
* The new default for useMacrocycle14config is True to be consistent
with the default for useMacrocycleTorsions. Since the old default was
False, this could change the output of existing scripts.
* Add test case for updated macrocycle distance bounds
* Remove 2 unused variables
* Fix a python test that set .seed instead of .randomSeed on an ETKDGv3
---------
Co-authored-by: Franz Waibl <waiblfranz@gmail.com>
* 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
* - added gen_rdkit_stubs Python module to generate rdkit-stubs
- added patch_rdkit_docstrings Python module to patch existing C++ sources to fix docstrings missing self parameter and add named parameters taken from C++ signatures where possible
- added rdkit-stubs/CMakeLists.txt to build rdkit-stubs as part of the RDKit build
- added an option to CMakeLists.txt to enable building rdkit-stubs as part of the RDKit build (defaults to OFF)
* fixed CMakeLists.txt, rdkit-stubs/CMakeLists.txt and a doctest
* - added missing cmp_func parameter
- fixed case with overloads with optional parameters
- do not trim params if expected_param_count == -1
- add dummy parameter names if we could not find any
- keep into account member functions when making up parameter names
- address __init__ and make_constructor __init__ functions
- fix incorrectly assigned staticmethods
* patched sources
* address residual few remarks
---------
Co-authored-by: ptosco <paolo.tosco@novartis.com>
* a bit of minor refactoring
* create API function to get experimental torsion bonds
* put the torsion index in the dictionary
in this case it's silly to return tuples to python
* allow passing an EmbedParameters object from python
* capture the torsion index too
* add an atomIndices component
we should typedef the torsionBonds type
* test torsion index
* changers in response to review
* changes in response to review
* fix merge mistake
* 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
* 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
* change minimal cmake version to a consistent 3.5
* progress towards a cleanup
* get the basic python deps working
* two more libs
* another round of changes
all tests pass at this point
* next round of changes
all tests pass at this point
* close to done
all tests pass
* very close
* almost done
* shift the RDBoost dependencies around a bit
* remove an extraneous python linkage
this is trying to get the mac builds working again
* Only link to python if it was built shared (#3091)
* change in response to review
Co-Authored-By: Ric <ricrogz@users.noreply.github.com>
* move that suppression of the maybe-uninitialized warning to BoostStartInclude.h
Co-authored-by: Brian Kelley <fustigator@gmail.com>
Co-authored-by: Ric <ricrogz@users.noreply.github.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
* disable builds of the StructChecker code by default
* operator"" _smarts() doesn't need to catch sanitization errors
* remove unused function
* turn back on some tests that shouldn't have been disabled
* Remove unused code from SMARTS parser and simplify a bit
SmilesParseOps::AddFragToMol is now used only from the SMARTS parser, so we can simplify the API
* Removes obsolete special case code for SMARTS
This was relevant when organic atoms in SMARTS queries were stored as two-part queries.
* improve SMARTS testing
make sure we can generate SMARTS from all the examples and then parse that again.
* Fixes#2814
* Fixes#2815
* some additional smarts tests to improve coverage
* test copy ctor and getPos
* remove obsolete test_list files
* include tests for the morgan invariant generators
* more cleanups and coverage improvements
* remove files that were mistakenly added
* 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
* remove all of the "from __future__" imports
* remove the first batch of rdkit.six imports/uses
* next step of rdkit.six removal
* removing xrange, range, and some maps
* next round of removals
* next round of cleanups
* fix inchi test
* last bits of "from rdkit.six" are gone
* and the last of the six stuff is gone
* strange importlib problem
* 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
* 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