Commit Graph

22 Commits

Author SHA1 Message Date
Patrick Kunzmann
4b47841e90 Fix #7112 (#8483) 2025-04-30 16:22:45 +02: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
1f4584b2ca run clang_format (#5676) 2022-11-01 04:14:26 +01:00
Eisuke Kawashima
11532089de Run clang-format against cpp (#4358) 2021-10-20 04:25:27 +02:00
Eisuke Kawashima
013ba4f21d Run clang-tidy (modernize-use-override) (#4251) 2021-07-01 05:18:56 +02:00
Paolo Tosco
e5feb83a84 removes function which is an exact duplicate of another function (#3524) 2020-11-04 12:50:55 +01:00
Paolo Tosco
5a8db40181 - fixed #3349 (#3354)
- fixed a few typos
- removed const from operator(), which should be allowed to modify the owning object
- added missing const to some getters
2020-09-02 04:51:20 +02:00
Paolo Tosco
c118c416ed Fixes #2597 (#3213)
* - major refactoring (fixes #2597)
- adds support for C++ and Python callbacks to monitor progress
- cumulated bonds should not appear in rings
- UNCONSTRAINED_CATIONS now implies ALLOW_CHARGE_SEPARATION and ALLOW_INCOMPLETE_OCTETS
  as it should already have
- UNCONSTRAINED_ANIONS now implies ALLOW_CHARGE_SEPARATION
  as it should already have

* removed spurious debugging messag

* changes in response to review
2020-07-13 15:15:24 +02:00
Riccardo Vianello
51bd3f51f2 Fix the compressed sd mol supplier and cleanup the python iterators (#3202)
* fix the CompressedSDMolSupplier python iterator interface

* cleanup the python iterators code (remove support for python2)
2020-07-03 13:15:07 +02:00
Greg Landrum
78ac90da3d update supplier documentation to reflect python 3 iterator syntax (#2719) 2019-10-17 12:05:36 -04:00
Greg Landrum
060bc7c519 Fixes #2436
A bunch of other doc formatting tweaks are in there too
2019-05-13 11:01:59 +02:00
Greg Landrum
fb5e325705 update docstrings in the wrappers too 2019-03-05 11:40:28 +01:00
Greg Landrum
1efa8e696e another clang-format run 2017-10-12 06:42:15 +02:00
Greg Landrum
6ed76d9fff Expose the MolBundle to python (#1583)
* backup

* initial mol bundle wrapper

* Move the substructure matching wrapper code to a template header file to clean stuff up.

* update python docs
2017-09-26 13:00:53 -04:00
Greg Landrum
e08e0d16d8 first pass, using google style 2015-11-14 14:58:11 +01:00
Greg Landrum
5992c6fd23 - made the ResonanceMolSupplier really lazy, i.e. resonance structure enumeration is only carried out when the user asks for a structure or when the user explicitly request that calling the enumerate() member function. This makes object creation fast and enables calling getNumConjGrps(), getBondConjGrpIdx() and getAtomConjGrpIdx() member function without incurring in the cost of necessarily enumerating resonance structures
- now bonds and atoms with do not belong to conjugated groups get a -1 index
- added a few Python wrappers
- added a few tests
2015-11-04 05:39:46 +01:00
Paolo Tosco
3d48ba72e1 - added threading support to ResonanceMolSupplier and relevant tests
- added threading support to the ResonanceMolSupplier-enabled
  SubstructMatch() and relevant tests
- modified/removed some code in O3AAlignMolecules.cpp which doesn't
  seem necessary anymore
- modified Code/GraphMol/CMakeLists.txt to allow building
  on Windows
2015-11-01 23:01:34 +00:00
Paolo Tosco
72de596280 - implemented correct resonance structure sorting for degenerate cases
- moved classes that do not need being exposed in Resonance.h to Resonance.cpp
- added the ALLOW_CHARGE_SEPARATION flag: now by default charge
  separation structures are not displayed if there's at least one
  structure with no charge separation
- TODO
  * add SWIG wrappers
  * add a few test tp resMolSupplierTest.cpp
2015-10-23 18:41:53 +01:00
Paolo Tosco
f43677b978 - fixed a problem with thiocarboxylates/thiolates not being perceived
as conjugated like their oxygen analogs
- fixed an issue with large numbers of resonance structures exceeding
  the unsigned int allowance
- implemented the uniquify feature properly
- uniquify now defaults to false when using the ResonanceMolSupplier-
  enabled SubstructMatch() version
- the concept of 'laziness' is now clearer
- TODO:
  * remove some debugging info
  * move classes from .h to .cpp
  * SWIG wrappers
  * improve resonance structure sorting for degenerate resonance
    structures
  I will do all of the above ASAP
2015-10-21 20:06:53 +01:00
Greg Landrum
214254060b export the enum values for the ResonanceFlags to simplify using them 2015-10-19 15:33:01 +02:00
Paolo Tosco
8a0e1ed824 - removed spurious x flags 2015-10-04 23:23:36 +01:00
Paolo Tosco
eaa187b03d - added ResonanceMolSupplier
- added overloaded SubstructMatch() version supporting ResonanceMolSupplier
- added relevant Python wrappers
- added C++/Python tests
2015-10-04 23:21:28 +01:00