* do not write extra separators
* add a test
* update tests
* Update Code/GraphMol/SmilesParse/CXSmilesOps.cpp
---------
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Fix deprecated literal operator syntax for C++14 compliance
Remove whitespace between "" and identifier in user-defined literal
operators to comply with C++14 standard. Fixes warnings with newer
compilers (emscripten 4.0+, clang 15+) that treat this as deprecated.
Changed operator"" _name to operator""_name for:
- SmilesParse.h: _smiles, _smarts
- ReactionParser.h: _rxnsmarts, _rxnsmiles
- FileParsers.h: _ctab, _mol2, _pdb
* Fix BOOST_CONTAINER_NO_LIB macro redefinition warnings
Add #ifndef guards before defining BOOST_CONTAINER_NO_LIB in Writer.cpp
and Parser.cpp to avoid redefinition warnings when the macro is already
defined via compiler flags in emscripten 4.0+ builds.
Warnings fixed:
- Writer.cpp:32: 'BOOST_CONTAINER_NO_LIB' macro redefined
- Parser.cpp:38: 'BOOST_CONTAINER_NO_LIB' macro redefined
* Do not reset the ringInfo information when adding bonds
This call was inconsistent (for example, the version of addBond() in ROMol did not do it)
and is unnecessary since the standard assumption is molecules need
to be re-sanitized after adding atoms and bonds
* response to review
clear the property cache on atoms after adding a bond.
* add a property cache update to the reaction runner
* add something to the release notes
* Fixes#8379
* check in some working tests
* test passes
* test passes
* test passes
* test passes
* test passes
* ensure that the invariants flush the streams on failure
* tests pass
* test passes
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* tests pass
* Fixes#8391
* tests pass
* fix a test with legacy
not clear why this was not causing problems before
* make a test work
* Fixes#8396
* gcc builds work
* fingerprint tests pass
* mention backwards incompatible change
* fix a problem with FindMolChiralCenters
* more testing details
* enable the test status output
* Fixes#8432
fix a bug in double-bond stereo handling for template matching
* all depictor tests pass
* use the new-stereo chiral ranks in the depiction code
* always assign new-stereo chiral ranks
* make _ChiralAtomRank a computed property
This is analogous to _CIPRank
* tweak to the way the atom ordering is computed for 2D coordinate generation
* update two expected results
* backup
* response to review
* tests pass
* tests pass
---------
Co-authored-by: = <=>
* c++20 builds working
* get MolStandardize building with clang19
* get FMCS building with clang-19
* set cxx version to c++20
* remove a few more compiler warnings
* bump min boost version, CI cleanup
* boost 1.81 is not available from conda-forge
* remove unused constants
* bump linux version for CI
* remove another unused variable
* fix (hopefully) cartridge CI builds
* simplify cartridge environment
* try postgresql14 in CI
* start the postgresql service
* change the columns used in the pandastools nbtest
* remove missed merge conflict artifact
* get github4823 test to pass with numpy 2.2
* remove a compiler warning/error with g++13
* Implements #8222 adds react_idx (index of reactant) to product atoms
* Remove react_idx from mol enumerator products
* Response to review, add test to ensure product only atoms aren't tagged
* Reenable tests
* 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>
* FingerprintGenerator improvements
1. simplify construction by adding ctors taking FingerprintArguments
2. remove inexplicable boost::noncopyable from FingerprintArguments
* Switch FingerprintType to be an enum class
* Fixes#7521
* dumb mistake
* initialize everything
* get the defaults right
* Update Code/GraphMol/ChemReactions/ReactionFingerprints.cpp
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
---------
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
* Support writing CX extensions in reactions
* fixed merge conflicts
* wip
* Updated for getCXExtensions
* Refactored and deleted extraneous file.
* Updated function signatures
* Updated some tests
* Removed extraneous include from debugging
* Removed comment in reactionwriter.cpp
* Updated some tests with expected strings
* Updated to add logging for linknodes and substance group hierarchies
* Addressed some issues
* updated tests
* Addressed Greg's comments
* Updated for recommendations
---------
Co-authored-by: Rachel Walker <rachel.walker@schrodinger.com>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
* Fixes#7669
Still need to add:
- testing for bond stereogroups
- code to handle the cases where the stereogroups should not be copied over
* backup
* stereogroups in the product templates take
priority over stereogroups in the reactant
* stereogroups in the product templates take
priority over stereogroups in the reactant
* backup
* fix handling of existing stereo groups
Atoms which are in template stereogroups are removed from reactant stereogroups,
but otherwise reactant stereogroups are preserved.
All tests pass
* response to review
* atropisomer handling added
* fixed non-used variables, linking directives
* BOOST LIB start/stop fixes, linking fix
* Fixes for RDKIT CI errors
* minimalLib fix
* changed vector<enum> for java builds
* check for extra chars in CIP labeling
* removed wrong deprecated message
* fix ostrstream output error?
* restored _ChiralAtomRank to lowercase first letter
* changes for merged master
* Fixed catch label for new Catch package
* update expected psql results
* get swig wrappers building
* restore MolFileStereochem to FileParsers
* fix java wrapper for reapplyMolBlockWedging
* test changes
* some suggestions
* move a couple functions out of Bond
* Merge branch 'master' into pr/atropisomers2
* merged master
* Renamed setStereoanyFromSquiggleBond
* atropisomers in cdxml, rationalize atrop wedging, stereoGroups in drawMol
* Merge branch 'master' into pr/specialQueries
* changes from previous PR
* Iclude false chiral
* rigorous enhnced stereo canoncalization
* Added more tests and clenup
* removed commented out code
* corrected init of SmilesWriteParams
* added MolFileStereoChem.h to the header files
* Renamed Rxn parser to MrvBlockToChemicalReaction
* To make catch2 work, and match the checksum
* Fixed Structchecker errors
* fix CI for DetermineBonds catch test
* error in catch_test for CI
* Allow custom smileWriteParams in GetMolLayers
* misnamed entry point
* ReactionFromMrvString change name
* remove adding writeParams to GetMolLayers
* make rigorous enhanced stereo the default, and fix tests
* only one abs group no longer needs Rigorous Enhanced treatment
* changed string_view to string in catch test
* Canonicalize Enhnaced Stereo only resturne unique smiles
* Now allows or and and groups together
* internal routines inside detail scope
* fix test error
* changed string back to string_view and fixed a CHECK
* Fixes for PR review tests
* Fix RDKit_Book.rst failure on build test
* fix xqm sql test
* updated expected files for cxsmiles_test
* Fixed removal of atom attrs
* Fixed tests after merge of master
* More efficient version of Stereo Groups Canonicalization
* Fixes for ctests
* removed debug code
* readded cipLabel test
* fix generalizedSubstruct/catch_tests.cpp error
* hueristics to improve speed
* Rationaized control of abs groups
* removed unused routine
* added rigorous stereo group treatment to test
* some suggested changes
* Changes per PR review and removed some changes to smiles
* Fixed CI errors
* changes per PR review
* more PR review vhanges and cleanup
* Fixed PSql PKL change
* changes as per PR review
* Restored error type for bad mols for canonicalizeStereoGroups and added a test
* Merge master and fix test in MolDraw2D
* Fix for randomize test error and other PR review comments
* Removed unsued variable to fix mac CI
* do not force aromatization in canonicalizeStereoGroups
* changes as per PR review
---------
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* Speed up boost vector iterators by 300x
* Add vector testing code
* Update test
* Remove GetPosition notebook
* Move all wrapped int vectors to top level
* Grab MatchTypeVect from rdBase
* Actually wrap the vectors
* move mol weight and formula calculators to MolOps and refactor them a bit.
The descriptors are still there and should remain.
* remove other unnecessary dependencies on Descriptors
* Update adapter.cpp
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
---------
Co-authored-by: Paolo Tosco <paolo.tosco.mail@gmail.com>
* 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>
* 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
* check for ringinfo levels instead of init
* check for ring info in kekulizefragment
* add a test
* update tests
* update doctests
* revert ringinfo level checks
* add MolOps::expandAttachmentPoints, along with tests
* support expandAttachmentPoints in the mol file parser
* switch the v2 stuff in the guts of the reaction parser
* add collapseAttachmentPoints()
add addAsQueries option to expandAttachmentPoints()
lots of testing
* an edge case and some cleanup
* add python wrapper for those two functions
* Update Code/GraphMol/FileParsers/FileParsers.h
Co-authored-by: Ric <ricrogz@users.noreply.github.com>
* changes in response to review
- support addCoords in expandAttachmentPoints()
- support the new attachment point stuff to/from CXSMILES
- add MolOps::details::addExplicitAttachmentPoint() and MolOps::details::isAttachmentPoint() utility functions
---------
Co-authored-by: Ric <ricrogz@users.noreply.github.com>
* Adding missing include
* Removing ROMol.h in favor of a forward declaration as per requested.
---------
Co-authored-by: Theophile Gaudin <tgaudin@exscientia.co.uk>
* basic approach to v2api
* does not work, backup commit
* well, that now compiles
* cleaner
* more cleanup and testing
* get the SWIG wrappers to build
* swig wrappers now build
* switch back to using references to default values
* adjust to new catch version
* move the implementation to v2 and call it from v1
* update the parameter object too
* move debugParse down
* a couple of review changes
* make v2 naming consistent with Python
* first pass at v2 for the ctab parsers
* move a the writing functionality to a different header
this is just an organizational thing at the moment; we still import the writers header in the parsers header so as to not break code
* do v2 of the tpl parser
* fix missing dependency
* Mol2 parser
* move over the XYZ parser
* switch over the PDB parsers too
* get mac and java builds working (hopefully)
* add v2 API for the reaction parsers
Fixes#7075
* v2 of the fileparser API about done
This cannot be completed until the CDXML changes are merged
* support sanitization of reaction products as well
enable that by default for CDXML
remove a deprecated usage from the CDXML reaction parser
* retrigger checks
* atropisomer handling added
* fixed non-used variables, linking directives
* BOOST LIB start/stop fixes, linking fix
* Fixes for RDKIT CI errors
* minimalLib fix
* changed vector<enum> for java builds
* check for extra chars in CIP labeling
* removed wrong deprecated message
* fix ostrstream output error?
* restored _ChiralAtomRank to lowercase first letter
* changes for merged master
* Fixed catch label for new Catch package
* update expected psql results
* get swig wrappers building
* restore MolFileStereochem to FileParsers
* fix java wrapper for reapplyMolBlockWedging
* some suggestions
* move a couple functions out of Bond
* Merge branch 'master' into pr/atropisomers2
* merged master
* Renamed setStereoanyFromSquiggleBond
* atropisomers in cdxml, rationalize atrop wedging, stereoGroups in drawMol
* fix for CI build
* attempt to fix java build in CI
* attempt to fix java build in CI #2
* New routine to remove non-explicit 3D-geneated chirality
* changed to use pair for atrop atoms and related bonds
* Changes as per PR reviews
* PR review respnses
* PR review reponse - more
* Fix merge from master
* fixing java ci after merge
* Updated the help doc for atripisomers
* update the atropisomer docs
* improve the images
* add the source CXSMILES
---------
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* Compile time and runtime deprecation warnings
* Used [[deprecated]] attribute to mark deprecation on cpp side
* Used RDLog to escalate deprecation warnings to python
* deprecated non fingerprint generator fingerprint generation functions
* Address build errors
* suppress deprecation warnings in cpps and tests
* experiment with new SWIG versions in the mac azure pipeline
* More deprecation suppression
* revert mac java experiment
* Fix SWIG syntax errors
* Attempt to fix windows unit test
* Remove test because of logging behavior
* Change linux java build to SWIG 4.1
- removes the need for preprocessor interaction
* Change mac java build to SWIG 4.1
* try updating the CI buid
* lock cmake version
needed to find JNI correctly
* update compiler versions
needed for the boost
* Fix typo and unavailable version
* Fix version conflict
* update mac build
* get linux build working?
---------
Co-authored-by: Patrick Penner <patrick@ppenner.com>
with cmake --build . --target stubs (also make stubs on *NIX)
- improved the patching script to do a better assignment of
overloaded constructor parameters, whcih results in a number
of docstring fixes
Co-authored-by: ptosco <paolo.tosco@novartis.com>
* - 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>
* add RDKIT_CFFI_STATIC option
minimallib cmake cleanup
* clean up a lot of boost::iostreams nonsense
* find_package(boost cleanup
* update the swig wrappers
* updates to psql
* get the Qt demo working again
* fix? coordgen
* only use std::regex in moldraw2d test
this is consistent with the other tests
* cleanup the serialization stuff too
* Fixes for canonicalization, and stereochemistry
* chnages from code review
* test that was omitted for canon correction
* PR review changes
* changes as per PR review
* missed file checkint to make PR tests compile
* PR conflict resolution
* change to fix PR buld errors (hopefully)
* line delete to force re-running of tests
* changes as per PR review
* resolve merge conflicts with master
* some suggestions
* revert chirality modifications when sanitization isn't being done
* addl changes: no stereo percept when no sanitize
* missing test expected files added
---------
Co-authored-by: greg landrum <greg.landrum@gmail.com>
Unlike other files that use the `RDK_USE_BOOST_SERIALIZATION` flag, EvenSamplePairs.h does not wrap the `BOOST_CLASS_VERSION` boilerplate in an #ifdef.
This happens to work anyway when built against older versions of boost, where the required header is being made visible by other boost includes, but this causes a build breakage when compiled against Boost 1.82 or later and with serialization off.