Commit Graph

34 Commits

Author SHA1 Message Date
Ricardo Rodriguez
7d1e662bc7 Use std::string_view for property keys (#8844)
* string_view props API

* wip

* fix leak

* add string_view to swig

* fix comment

* add backwards incompatibilty note

* fix rebase issue

---------

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2025-10-09 16:14:48 +02:00
Ricardo Rodriguez
7b7a8a4e17 Refactor iostreams includes (#8846)
* refactor iostreams includes

* restore ostream to MonomerInfo.cpp
2025-10-08 16:08:01 +02:00
Eisuke Kawashima
26033b6578 style: apply modernize-use-override (#8137)
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
2025-04-25 12:24:58 +02:00
Hussein Faara
44364fd982 remove no-op macros and dead code (pt 4) (#8037)
* remove no-op macros and dead code (pt 4)

* review comments
2025-01-26 07:49:50 +01:00
Greg Landrum
da6cd73168 Run clang-format across everything (#7849)
* run clang-format-18 across Code/*.cpp and Code/*.h

* run clang-format-18 across External
2024-09-26 13:39:02 +02:00
Greg Landrum
165525b3ba Fixes #7731 (#7833)
* Fixes #7731

* logic error
2024-09-19 18:42:42 +02:00
Brian Kelley
c8cd4e7c20 consolidate numeric vectors (#7792)
* 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
2024-09-18 07:43:17 +02:00
PatrickPenner
19aff7f29f Compatibility with pathlib.Path (#7100)
* Compatibility with pathlib.Path

- Boos.Python custom converter from pathlib.Path to std::string

* Fix typo
2024-01-30 04:42:49 +01:00
Paolo Tosco
2b4202867e Add Python modules to generate stubs and automatically patch docstrings (#6919)
* - 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>
2023-11-30 04:54:18 +01:00
Greg Landrum
8892fb160a Fix minimal build, allow building without boost::serialization (#6932)
* make sure that we can build without boost iostreams or seralization

adds some "private" variables on the python side to check for these compilation flags

* get out minimal cmake version correct

* get minimallib js building

installs an up-to-date cmake
also updates the version of boost being used for the minimallib
adds extra argument to allow the repo to be specified
2023-11-23 05:57:05 +01:00
Ric
3b2916c9a4 Fixes #5172 (#5181)
* add test

* fix LogStateSetter

* fix BlockLogs() usage in Draw module

* allow BlockLogs() as a contestmgr

* move test to more suitable location

* guarantee log restoration on __exit__

* skip test if logs cannot be grabbed before block
2022-04-12 05:57:25 +02:00
Greg Landrum
fd1752e006 disable Info and Debug logs by default (#5065)
* disable the info and debug logs by default

* adjust tests to the newly disabled logs

* add LogStateSetter

* namespace reorg

* add some tests

* remove vestigial code

* switch to using std::vector
2022-03-12 10:04:28 +01:00
Kevin Burk
f8cf31068e Support for logging via Python's logging module. (#4846)
* Support for logging via Python's logging module.

* Avoid the Python 3.9+ PyObject_CallOneArg function.

* Move logging functions to RDBase; Python logger by default; clean up tests.

* See if removing NOGIL fixes the Windows stall.

* get tests running on windows

* Reset to using C++ logging; whiespace tweaks.

* Longer timestamp grace period; try tempfile vs Windows logging stall.

* Clean up commented code; get details for log count bug.

* SubstructLibrary: Fix c++ threads calling into python

* FilterCatalog: Fix c++ threads calling into python

* Release notes; make sure Jupyter still logs to sys.stderr.

* Always use thread-local log buffers.

* de-verbosify a test

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
Co-authored-by: Brian Kelley <fustigator@gmail.com>
2022-01-24 04:49:27 +01:00
Eisuke Kawashima
11532089de Run clang-format against cpp (#4358) 2021-10-20 04:25:27 +02:00
Paolo Tosco
f04a9c9a42 - switched to using std::vector<unsigned int> for isotopichs property (#3878)
- switched to using std::vector<int> instead of std::list<int> for _ErGAtomTypes property
- added RegisterListConverter<std::vector<unsigned int>>

Co-authored-by: Paolo Tosco <paolo.tosco@novartis.com>
2021-03-05 16:37:43 +01:00
Brian Kelley
c1d3b1f980 fix molstogridimage on certain fragments/smarts patterns (#3217)
* Fix issues with rendering fragments/smarts patterns in MolsToGridImage

* Add LogStatus and BlockLogs functionality to temporarily block logging

* Move BlockLogs to C++

* Fix kekulization errors in reactions

* Reenable tests

* Use using over typedef

* Fix comment placement

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2020-06-27 06:30:01 +02:00
Ric
9188c70a64 Override what() in exceptions (Addresses #2920) (#2928)
* add overrides for what()

* translation fot KeyErrorException; update tests

* Switch all exceptions to `const char *` as a return type from message() (#4)

* switch return type of message() from std::string to const char *

* adjust one test to the new return type from message()
remove unnecessary verbosity from some tests

* fix cartridge build: update call to message().c_str()

* rebase agains master; fix another issue in cartridge build

* add deprecation note for message() and getMessage()

* amend Release notes

Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
2020-02-05 08:20:17 +01:00
Greg Landrum
b34b9fc4cf Allow C RNG to be initialized from Python (#2376)
* allow C RNG to be seeded from Python

* update docs
2019-03-30 08:43:41 -04:00
Ric
a6b26253ff Fix (most of) mem problems (#2123)
* 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
2018-10-29 14:33:26 +00:00
Greg Landrum
7c0bb0b743 clang-tidy output 2017-04-22 17:09:24 +02:00
Paolo Tosco
e642c46525 Made DistGeomHelpers test robust against small 3D coordinate variations (#961)
* - 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
2016-06-28 20:11:31 +02:00
Brian Kelley
cc16d1493e Moves Invariant exception to rdBase adds test. 2016-01-21 12:23:09 -05:00
Greg Landrum
e08e0d16d8 first pass, using google style 2015-11-14 14:58:11 +01:00
Greg Landrum
e37296d7c7 post review 2015-11-14 08:08:14 +01:00
Brian Kelley
27293e0870 Adds automatic warning suppressions to boost python
Just include RDBoost/python.h instead of boost/python.hpp
2015-10-18 13:33:10 -04:00
Greg Landrum
779eeaa24a expose streambufs and ostreams 2011-11-20 06:20:51 +00:00
Greg Landrum
f3fbef45c5 update copyright statements 2010-09-26 17:04:37 +00:00
Greg Landrum
052ec66542 cleanups:
remove x bit from headers and sources;
remove a couple empty files from Code/GraphMol
2010-09-08 04:25:57 +00:00
Greg Landrum
22e60f20aa update versioning information 2010-01-26 05:29:25 +00:00
Greg Landrum
834f761b51 possible implementation of sf.net 2738020 2009-04-06 16:54:21 +00:00
Greg Landrum
4dc3d63fcd Update requirements.
Minor cleanups in some cpps
Finish the changes so that fileparsers don't throw exceptions unless
the file is not found.
2008-08-19 03:05:58 +00:00
Greg Landrum
c9eb4e91e1 merge revs 736:741 from branch http://rdkit.svn.sourceforge.net/svnroot/rdkit/branches/NumPyPort_27June2008
This removes the numeric python dependency and switches to relying on numpy.
current status of tests from branch: pass on lin32 and 64 and win32.
2008-07-05 07:42:38 +00:00
Greg Landrum
4ea82818a6 switch away from using the old, unsupported boost::log stuff.
This "lookalike" implementation is much cruder than the real thing and does not really support
enabling and disabling logs, or associating them with files, but those components were not being
particularly used in the RDKit anyway.
2008-04-06 09:12:02 +00:00
Greg Landrum
430a83bd96 merge in the jamfiles from the bjam branch;
various and sundry minor code cleanups;
this probably does not yet build on windows... that is next
2007-11-23 15:55:30 +00:00