* Allow fragments to be groups in CDXML
* Add support for grouped reactants
* run clang-format
* Change github issue to 7528
* Add documents to the code
* response to review, check grouped reactants in cdxml against rxn file
* Remove unused code
* Add missing file
---------
Co-authored-by: Brian Kelley <bkelley@relaytx.com>
- update MinimalLib Dockerfile to Debian Bookworm and patch RapidJSON in case someone wants to build an older release (fix#7530)
Co-authored-by: ptosco <paolo.tosco@novartis.com>
* - When depictions are made using the useMolBlockWedging flag, make sure that kekulization is done after original wedging has been applied to reduce the odds that bond wedges are placed on double bonds
- Refactored MinimalLib code to avoid code duplication
- get_molblock() should reapplyMolBlockWedging on a copy of the passed molecule rather than on the original
- Added unit tests
* Update Code/MinimalLib/jswrapper.cpp
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
---------
Co-authored-by: ptosco <paolo.tosco@novartis.com>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Fixes#7533
Fixes problem with SparseIntVect and SparseBitVect where the intention is to
be able to store all possible values of the index type: in these cases
you could not store (or access) the final element.
* increase the verbosity of the DataStructs tests
so that we can see what's going on
* add MolToV2KMolBlock()
small refactoring in the mol block writing
* throw an exception for more than 999 atoms, bonds, or SGroups
update docs for that
changes in response to review
* refactoring of the Uncharger class
* optionally limit the Uncharger to only change the protonation state
* changes in response to review
* refactor the handling of positively charged atoms
* changes in response to review
* changes in response to review
* Revert "changes in response to review"
This reverts commit d42e1286d5.
* changes in response to review
* changed string_view to string in catch test
* fix for ring-stereo atropisomers
* removed debug cout
* removed change to build in debug mode
* change catch arg to a rerference
* changes as per PR review
- isotopic labelling should not depend on the presence of a query atom feature, but rather on the presence of common_properties::_MolFileRLabel
Co-authored-by: ptosco <paolo.tosco@novartis.com>
* add posibility to create a force field that does not have any contributions.
* move to FFConvenience.h and add C++ tests
* deallocate memory
* use range based for loop
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Making adjustments according to the review of @greglandrum
* undo unintentional formatting
* replace TEST_ASSERT with CHECK
---------
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* support wedging in double and aromatic bonds
This is a first pass and the testing isn't really there.
* add expected test results (from windows...)
switch to not using freetype for the tests
* response to review
* Try not to make wedged bonds double in the kekulization code
This is a first pass implementation and definitely needs more testing of the new feature.
Probably looking at optimizing the code would also not be terrible.
All tests pass with this commit
* Some changes to the kekulization in presence of wedged bonds and additional testing
* additional kekulization test case
* start the kekulization in rings with wedged bonds
add some bulk tests
all tests now passing for me
* changes from review
---------
Co-authored-by: Riccardo Vianello <riccardo.vianello@gmail.com>
* basic code to convert dative to single if we aren't outputting dative to the SMILES
add forms of GetAtomSmiles() and GetBondSmiles() that take SmilesWriteParams
* dative/coordinate bond support when writing CXSMILES
* expose all of that to Python
* remove usage of _doIsoSmiles property
add params to smarts writers
* allow disabling dative bonds in SMARTS
* typo
* add support to the reaction writers
* support params for SMARTS
* Query atom information in swig
* Atom query swig wrapping working
* SWIG wrapper for queries
* Add match to QueryAtom and QueryBond
* CShart test
* Added Java test
* Replace var with type for Java test
* Apply suggestions from code review
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
* Update Code/JavaWrappers/Queries.i
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
* Apply suggestions from code review
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
* Get SWIG build working again
* Remove trailing whitespace from Queries.i
* Update Queries.i to use shared_ptr
* small simplification
* remove boost::make_iterator from ROMol.i
* further simplification
---------
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
Co-authored-by: ptosco <paolo.tosco@novartis.com>
* check for ringinfo levels instead of init
* check for ring info in kekulizefragment
* add a test
* update tests
* update doctests
* revert ringinfo level checks
* fix unsigned int to int comparison
* revert previous mistake
* declaration & init together, sinthetaSq in [0, 1]
* using std::swap
* use that sinThetaSq in [0,1]
* declare & init at same time
* use knowledge about target range
* use std::clamp
* use std::max
* numerically more stable trigonometrics
* numerically more stable trigonometrics
* numerically more stable trigonometrics
* range based for-loop
* actually do the assignement
* Update Code/ForceField/MMFF/Params.h
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* implemented suggested changes
* Revert "implemented suggested changes"
This reverts commit f56e8f0ab2.
* auto typing
* remove old comment
* revert to numerically more stable expression
* now correctly formatted
---------
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* prefer wedging ring bonds for atropisomers
* update expected results
* handle 3D as well
* prefer wedging to larger rings
wedging bonds in 5 rings make later attempts at improving kekulization very difficult
update expected results
* extend those changes to 3D
* update tests for those changes
* avoid wedging atropisomers if possible
response to review
* removed string_view in favor of string for catch test
* add parsing and generation of atropisomers when coords not present
* changed string_view to string in catch test
* more docs
* reformulation of the docs
* make an error message a little bit more useful
* small optimization
clang-format
* add `BondWedgingParameters` to new function
* changes for CIP test errors
* Updated internal doc to match what it does
* changes per PR review
* removed cout statements in tests
---------
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* deprecations for the 2024.09 release
* update doctests
* Fixes#7402
* get tests passing when the cairo build is not there
* fix a problem in the tests
* Allow any bond (smiles ~) recognition in CDXML
* Move anybond.cdxml to the right place
* a bit of simplification
---------
Co-authored-by: Brian Kelley <bkelley@relaytx.com>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>