Skip to content

Releases: rdkit/rdkit

2024_03_1 (Q1 2024) Release

02 May 08:26
Compare
Choose a tag to compare

Release_2024.03.2

(Changes relative to Release_2024.03.1)

Acknowledgements

(Note: I'm no longer attempting to manually curate names. If you would like to
see your contribution acknowledged with your name, please set your name in
GitHub)

Christoph Berg, Anna Br眉nisholz, Michael Cho, David Cosgrove, Andrew Dalke,
Peter Eastman, Tad Hurst, Gareth Jones, Brian Kelley, Daniel Levine, Yakov
Pechersky, Ricardo Rodriguez, Matt Swain, Paolo Tosco, Riccardo Vianello

Backwards incompatible changes

  • The SMARTS for the unbranched alkanes in the fragment descriptors has been
    corrected. This descriptor will now frequently return different results.

New Features and Enhancements:

  • Added JSON parameters to MinimalLib get_(cx)?sm(ile|art)s() functions
    (github pull #7194 from ptosco)
  • Include macrocycles in atropisomer calculation by not sanitizing them away
    (github pull #7291 from pechersky)
  • C# Build Net6 library and tests using cmake
    (github pull #7326 from jones-gareth)
  • Add option for RASCAL to restrict atom matching to atoms of same degree
    (github pull #7344 from DavidACosgrove)
  • Add MolStandardize to C# wrappers
    (github pull #7351 from jones-gareth)
  • CDXML parser doesn't recognize any bonds
    (github issue #7357 from bp-kelley)
  • Allow reapplyMolBlockWedging() to restore the original wedging regardless the bond type
    (github pull #7386 from rvianello)
  • Add option for non-isomeric SMILES creation in the PostgreSQL cartridge
    (github pull #7395 from rvianello)

Bug Fixes:

  • Correct unbranched alkane SMARTS to match the description given
    (github #7255 from levineds)
  • restrict the application of 1,3- 1,5- conjugated cation normalization
    (github pull #7287 from rvianello)
  • DetermineBondOrders() does not assign single bonds correctly
    (github issue #7299 from peastman)
  • re-enable yaehmop support in DetermineBonds
    (github pull #7316 from greglandrum)
  • AtomPairs.Utils.NumPiElectrons fails on atoms with dative bonds
    (github issue #7318 from ricrogz)
  • Wedge bond from atrop error
    (github pull #7321 from tadhurst-cdd)
  • Remove misleading walrus operators
    (github pull #7323 from mcs07)
  • SaltRemover may clear computed properties even if no atoms are removed
    (github issue #7327 from ricrogz)
  • DetermineBondOrders() makes incorrect assumptions about valence
    (github issue #7331 from peastman)
  • remove some warnings with -Wextra
    (github pull #7339 from greglandrum)
  • Fixes problem from discussion 7317
    (github pull #7345 from DavidACosgrove)
  • Trigonal Pyramid Carbon may or not have a parity depending on atom ordering
    (github issue #7346 from ricrogz)
  • fixes bug with overly large count_bounds
    (github pull #7368 from greglandrum)
  • Fix the Uncharger 'force' option w/ non-neutralizable negatively charged sites
    (github pull #7382 from rvianello)
  • Do not apply the normalization of conjugated cations to the oxime oxygen
    (github pull #7403 from rvianello)

Cleanup work:

  • Code/PgSQL: Fix Pointer vs Datum (Compatibility with PG16)
    (github pull #6733 from df7cb)
  • switch to range-based for loops
    (github pull #7278 from AnnaBruenisholz)
  • Cleaner forloops, deleting of empty header file
    (github pull #7320 from AnnaBruenisholz)
  • Make ctest run installed tests if RDK_INSTALL_PYTHON_TESTS
    (github pull #7325 from mcs07)
  • cleanup RDKit::MolOps::detectBondStereochemistry
    (github pull #7329 from rvianello)
  • Cleanup of Code/DataStructs
    (github pull #7365 from AnnaBruenisholz)
  • Fixes #7378, raw docstring to escape null chars
    (github pull #7379 from pechersky)
  • Include header for boost::numeric_cast
    (github pull #7389 from cho-m)

2024_03_1 (Q1 2024) Release

29 Mar 04:49
ba0b6f3
Compare
Choose a tag to compare

Release_2024.03.1

(Changes relative to Release_2023.09.1)

Acknowledgements

(Note: I'm no longer attempting to manually curate names. If you would like to
see your contribution acknowledged with your name, please set your name in
GitHub)

Mark Archibald, Armin Ariamajd, Chris Von Bargen, Jason Biggs, Jonathan Bisson,
Jan C. Brammer, Jessica Braun, Beno卯t Claveau, David Cosgrove, James Davidson,
Hussein Faara, Th茅ophile Gaudin, Gareth Jones, Christoph Hillisch, Tad Hurst,
Kevin Keating, Brian Kelley, Joos Kiener, David Lounsbrough, Jeremy Monat, Dan
Nealschneider, Yoshinobu Ogura, Marta Pasquini, Yakov Pechersky, Patrick Penner,
Rachael Pirie, Ricardo Rodriguez-Schmidt, Nate Russell, Ivan Tubert-Brohman,
Matthew Seddon, Leonid Stolbov, Paolo Tosco, Riccardo Vianello, Franz Waibl,
Rachel Walker, sitanshubhunia, skystreet8, dehaenw, dhibbit, vslashg, nbehrnd,
MarioAndWario, levineds-meta

Highlights

  • An initial version of support for atropisomers has been added; this will be expanded in future releases.
  • Support for using multiple threads has been added in a few more places: many operations in rdMolStandardize, the fingerprint generators, and GetBestRMS()/GetAllConformerBestRMS()
  • The initial release of version 2 of the RDKit C++ API; we will continue to expand this in future releases. The new API makes it easier to write correct and memory safe code. The current API is still supported and will remain so for the forseeable future, but we encourage C++ developers to start using v2 of the API in their code.

Backwards incompatible changes

  • Two changes to improve the defaults for conformer generation: the functions EmbedMolecule() and EmbedMultipleConfis() now use ETKDGv3 by default (previously they were using ETKDGV1) and only consider heavy atoms when calculating RMSD for conformer pruning (previously Hs were alos considered).
  • The way that the number of radical electrons is calculated for atoms coming from mol blocks has been changed. Systems like a [CH] marked as a DOUBLET will now have three radical electrons assigned. This is consistent with the value from SMILES.
  • The validation classes in MolStandardize were refactored in order to offer a simpler and more consistent API. In the C++ implementation, the MolVSValidations base class was removed and consolidated into ValidationMethod. Consequently, the validate method replaced run in the subclasses related to MolVS (namely NoAtomValidation, FragmentValidation, NeutralValidation, and IsotopeValidation) and all subclasses of ValidationMethod are now required to implement a copy method. Moreover, MolStandardize::ValidationErrorInfo was redefined as an alias for std::string. The changes related to the MolVS validation methods were similarly implemented in the Python API.
  • Metal atoms (really any atom which has a default valence of -1) now have their radical electron count set to zero if they form any bonds. Metal atoms/ions without bonds will continue to be assigned a radical count of either 1 or 0 if they do/do not have an odd number of valence electrons. It is not possible in a cheminformatics system to generally answer what the spin state of a metal atom should be, so we are taking a simple and easily explainable approach. If you know the spin state of your species, you can directly provide that information by calling SetNumRadicalElectrons().
  • Chirality will now be perceived for three-coordinate atoms with a T-shaped coordination environment and the wedge in the stem of the T. If we are perceiving tetrahedral stereo, it's possible to interpret this unambiguously.
  • Bug fixes in the v2 tautomer hash algorithm will change the output for some molecules. Look at PR #7200 for more details: #7200
  • RMS pruning during conformer generation now symmetrizes conjugated terminal groups by default. This can be disabled with the parameter "symmetrizeConjugatedTerminalGroupsForPruning"

New Features and Enhancements:

  • Support writing detailed SMARTS queries to CTABs using the SMARTSQ mechanism
    (github issue #5819 from greglandrum)
  • add more error checking to substance groups
    (github issue #5923 from greglandrum)
  • add maxRecursiveMatches to SubstructMatchParameters
    (github issue #6017 from greglandrum)
  • Removed some code duplication between Depictor.cpp and common.h
    (github pull #6799 from greglandrum)
  • Add support for writing chirality and stereo in MaeWriter
    (github pull #6810 from rachelnwalker)
  • Implement MinimalLib get_mcs() version that returns JSON
    (github pull #6812 from ptosco)
  • support generalized substructure search in the SubstructLibrary
    (github pull #6835 from greglandrum)
  • Support copying of GeneralizeQueryMolecules
    (github issue #6851 from greglandrum)
  • Enable chemist-friendly depiction of R-groups
    (github pull #6866 from ptosco)
  • Allow building DetermineBonds without YAeHMOP support
    (github pull #6885 from greglandrum)
  • Add multithreading to getBestRMS and new getAllConformerBestRMS
    (github pull #6896 from greglandrum)
  • switch to catch2 v3
    (github pull #6898 from greglandrum)
  • minilib functions exposure: mmpa
    (github pull #6902 from StLeonidas)
  • atropisomer handling added
    (github pull #6903 from tadhurst-cdd)
  • Add multi-threaded versions of some MolStandardize operations
    (github pull #6909 from greglandrum)
  • Add (multithreaded) functions to the fingerprint generators for calculating multiple fingeprints in one call
    (github pull #6910 from greglandrum)
  • Add Python modules to generate stubs and automatically patch docstrings
    (github pull #6919 from ptosco)
  • Update molecular templates headers and drop bond-length tests
    (github pull #6960 from github-actions[bot])
  • Add in place and multithread support for more of the MolStandardize code
    (github pull #6970 from greglandrum)
  • Enable in-tree builds and improve overloaded constructor docstrings
    (github pull #6980 from ptosco)
  • Change the defaults for the conformer generation to be ETKDGv3
    (github pull #6985 from greglandrum)
  • Added fingerprints to GeneralizedSubstruct search and extended SWIG wrappers
    (github pull #6991 from jones-gareth)
  • Allow sanitization to be disabled in PandasTools.LoadSDF
    (github issue #7019 from christophhillisch)
  • Add Atom::hasValenceViolation (Take 2)
    (github pull #7030 from cdvonbargen)
  • Please consider exposing maxBondMatchPairs param in rdRascalMCES.RascalOptions()
    (github issue #7054 from nate-russell)
  • Copy stereo and substance groups during insertMol
    (github issue #7064 from cdvonbargen)
  • [v2 API] FileParsers
    (github issue #7074 from greglandrum)
  • [v2 API] Reaction Parsers
    (github issue #7075 from greglandrum)
  • Rationalize attachment points
    (github issue #7078 from cdvonbargen)
  • refactoring of MolStandardize validation module
    (github pull #7085 from rvianello)
  • Add a 'force' option to MolStandardizer::Uncharger
    (github pull #7088 from rvianello)
  • support sanitization of reaction product templates
    (github pull #7095 from greglandrum)
  • Support atropisomers in the conformer generator
    (github pull #7098 from greglandrum)
  • Compatibility with pathlib.Path
    (github pull #7100 from PatrickPenner)
  • Add option to sanitize reaction components like molecules
    (github issue #7108 from MartaPasquini)
  • [v2 API] MRV parsers
    (github pull #7110 from greglandrum)
  • Add v2 API for the molecule CDXML parser
    (github pull #7113 from greglandrum)
  • Make addStereoAnnotation public
    (github issue #7140 from cdvonbargen)
  • optimize batch operations when editing molecules
    (github pull #7145 from bp-kelley)
  • V2 API for the MolSuppliers
    (github pull #7168 from greglandrum)
  • Improve output of debugMol
    (github pull #7172 from greglandrum)
  • update cookbook, draw molecule with atom indices
    (github pull #7173 from nbehrnd)
  • Colinear bonds in depiction cause stereo to be lost when converting to mol block
    (github issue #7177 from mps-hlx)
  • Update MinimalLib Dockerfiles
    (github pull #7182 from ptosco)
  • allow perception of stereo from T-shaped structures
    (github pull #7183 from greglandrum)
  • switch the TFD code to use a fingerprint generator
    (github pull #7187 from greglandrum)
  • Don't reset computed properties if already empty
    (github pull #7188 from rachelnwalker)
  • Enhance molzip to properly handle RGroupDecompositions
    (github pull #7202 from bp-kelley)
  • Add some ExplicitBitVect operations to Swig
    (github pull #7204 from jones-gareth)
  • Some modernization of core GraphMol classes
    (github pull #7228 from greglandrum)
  • Custom decimal precision
    (github pull #7229 from PatrickPenner)
  • Add Double Cubic Lattice Volume (DCLV).
    (github pull #7234 from RPirie96)
  • feat(minilib): expose the options parameter in get_inchi
    (github pull #7240 from BenoitClaveau)
  • Postpone clearing computed properties until after all Hs removed
    (github pull #7241 from rachelnwalker)
  • Speed up cleanMolStereo
    (github pull #7244 from ricrogz)
  • add HetAtomProtomerv2
    (github pull #7253 from greglandrum)
  • Support zero order bonds in V3K CTABs
    (github pull #7269 from greglandrum)
  • add option to symmetrize conjugated terminal groups when RMS pruning conformers
    (github pull #7270 from greglandrum)

Bug Fixes:

  • STEREOANY bonds lead to non-stable SMILES/SMARTS strings
    (github issue #5499 from ricrogz)
  • Chemical reactions with radicals cannot be pickled and unpickled.
    (github issue #5890 from sitanshubhunia)
  • Postgresql: exact search showing false with radicals from CXSMILES
    (github issue #6276 from sitanshubhunia)
  • CXSMILES: atom with labels should not also have dummyLabel property set
    (github issue #6309 from greglandrum)
  • Query Features: Different input format leads to a di...
Read more

2024_03_1 (Q1 2024) Release Beta

19 Mar 08:14
a8d4912
Compare
Choose a tag to compare
Pre-release

Release_2024.03.1b1

(Changes relative to Release_2023.09.1)

Acknowledgements

(Note: I'm no longer attempting to manually curate names. If you would like to
see your contribution acknowledged with your name, please set your name in
GitHub)

Mark Archibald, Armin Ariamajd, Chris Von Bargen, Jason Biggs, Jonathan Bisson,
Jan C. Brammer, Jessica Braun, Beno卯t Claveau, David Cosgrove, James Davidson,
Hussein Faara, Th茅ophile Gaudin, Gareth Jones, Christoph Hillisch, Tad Hurst,
Kevin Keating, Brian Kelley, Joos Kiener, David Lounsbrough, Jeremy Monat, Dan
Nealschneider, Yoshinobu Ogura, Marta Pasquini, Yakov Pechersky, Patrick Penner,
Ricardo Rodriguez-Schmidt, Nate Russell, Ivan Tubert-Brohman, Matthew Seddon,
Leonid Stolbov, Paolo Tosco, Riccardo Vianello, Franz Waibl, Rachel Walker,
sitanshubhunia, skystreet8, dehaenw, dhibbit, vslashg, nbehrnd, MarioAndWario,
levineds-meta

Highlights

Backwards incompatible changes

  • Two changes to improve the defaults for conformer generation: the functions EmbedMolecule() and EmbedMultipleConfis() now use ETKDGv3 by default (previously they were using ETKDGV1) and only consider heavy atoms when calculating RMSD for conformer pruning (previously Hs were alos considered).
  • The way that the number of radical electrons is calculated for atoms coming from mol blocks has been changed. Systems like a [CH] marked as a DOUBLET will now have three radical electrons assigned. This is consistent with the value from SMILES.
  • The validation classes in MolStandardize were refactored in order to offer a simpler and more consistent API. In the C++ implementation, the MolVSValidations base class was removed and consolidated into ValidationMethod. Consequently, the validate method replaced run in the subclasses related to MolVS (namely NoAtomValidation, FragmentValidation, NeutralValidation, and IsotopeValidation) and all subclasses of ValidationMethod are now required to implement a copy method. Moreover, MolStandardize::ValidationErrorInfo was redefined as an alias for std::string. The changes related to the MolVS validation methods were similarly implemented in the Python API.
  • Metal atoms (really any atom which has a default valence of -1) now have their radical electron count set to zero if they form any bonds. Metal atoms/ions without bonds will continue to be assigned a radical count of either 1 or 0 if they do/do not have an odd number of valence electrons. It is not possible in a cheminformatics system to generally answer what the spin state of a metal atom should be, so we are taking a simple and easily explainable approach. If you know the spin state of your species, you can directly provide that information by calling SetNumRadicalElectrons().
  • Chirality will now be perceived for three-coordinate atoms with a T-shaped coordination environment and the wedge in the stem of the T. If we are perceiving tetrahedral stereo, it's possible to interpret this unambiguously.
  • Bug fixes in the v2 tautomer hash algorithm will change the output for some molecules. Look at PR #7200 for more details: #7200
  • RMS pruning during conformer generation now symmetrizes conjugated terminal groups by default. This can be disabled with the parameter "symmetrizeConjugatedTerminalGroupsForPruning"

New Features and Enhancements:

  • Support writing detailed SMARTS queries to CTABs using the SMARTSQ mechanism
    (github issue #5819 from greglandrum)
  • add more error checking to substance groups
    (github issue #5923 from greglandrum)
  • add maxRecursiveMatches to SubstructMatchParameters
    (github issue #6017 from greglandrum)
  • Removed some code duplication between Depictor.cpp and common.h
    (github pull #6799 from greglandrum)
  • Add support for writing chirality and stereo in MaeWriter
    (github pull #6810 from rachelnwalker)
  • Implement MinimalLib get_mcs() version that returns JSON
    (github pull #6812 from ptosco)
  • support generalized substructure search in the SubstructLibrary
    (github pull #6835 from greglandrum)
  • Support copying of GeneralizeQueryMolecules
    (github issue #6851 from greglandrum)
  • Enable chemist-friendly depiction of R-groups
    (github pull #6866 from ptosco)
  • Allow building DetermineBonds without YAeHMOP support
    (github pull #6885 from greglandrum)
  • Add multithreading to getBestRMS and new getAllConformerBestRMS
    (github pull #6896 from greglandrum)
  • switch to catch2 v3
    (github pull #6898 from greglandrum)
  • minilib functions exposure: mmpa
    (github pull #6902 from StLeonidas)
  • atropisomer handling added
    (github pull #6903 from tadhurst-cdd)
  • Add multi-threaded versions of some MolStandardize operations
    (github pull #6909 from greglandrum)
  • Add (multithreaded) functions to the fingerprint generators for calculating multiple fingeprints in one call
    (github pull #6910 from greglandrum)
  • Add Python modules to generate stubs and automatically patch docstrings
    (github pull #6919 from ptosco)
  • Update molecular templates headers and drop bond-length tests
    (github pull #6960 from github-actions[bot])
  • Add in place and multithread support for more of the MolStandardize code
    (github pull #6970 from greglandrum)
  • Enable in-tree builds and improve overloaded constructor docstrings
    (github pull #6980 from ptosco)
  • Change the defaults for the conformer generation to be ETKDGv3
    (github pull #6985 from greglandrum)
  • Added fingerprints to GeneralizedSubstruct search and extended SWIG wrappers
    (github pull #6991 from jones-gareth)
  • Allow sanitization to be disabled in PandasTools.LoadSDF
    (github issue #7019 from christophhillisch)
  • Add Atom::hasValenceViolation (Take 2)
    (github pull #7030 from cdvonbargen)
  • Please consider exposing maxBondMatchPairs param in rdRascalMCES.RascalOptions()
    (github issue #7054 from nate-russell)
  • Copy stereo and substance groups during insertMol
    (github issue #7064 from cdvonbargen)
  • [v2 API] FileParsers
    (github issue #7074 from greglandrum)
  • [v2 API] Reaction Parsers
    (github issue #7075 from greglandrum)
  • Rationalize attachment points
    (github issue #7078 from cdvonbargen)
  • refactoring of MolStandardize validation module
    (github pull #7085 from rvianello)
  • Add a 'force' option to MolStandardizer::Uncharger
    (github pull #7088 from rvianello)
  • support sanitization of reaction product templates
    (github pull #7095 from greglandrum)
  • Support atropisomers in the conformer generator
    (github pull #7098 from greglandrum)
  • Compatibility with pathlib.Path
    (github pull #7100 from PatrickPenner)
  • Add option to sanitize reaction components like molecules
    (github issue #7108 from MartaPasquini)
  • [v2 API] MRV parsers
    (github pull #7110 from greglandrum)
  • Add v2 API for the molecule CDXML parser
    (github pull #7113 from greglandrum)
  • Make addStereoAnnotation public
    (github issue #7140 from cdvonbargen)
  • optimize batch operations when editing molecules
    (github pull #7145 from bp-kelley)
  • V2 API for the MolSuppliers
    (github pull #7168 from greglandrum)
  • Improve output of debugMol
    (github pull #7172 from greglandrum)
  • update cookbook, draw molecule with atom indices
    (github pull #7173 from nbehrnd)
  • Colinear bonds in depiction cause stereo to be lost when converting to mol block
    (github issue #7177 from mps-hlx)
  • Update MinimalLib Dockerfiles
    (github pull #7182 from ptosco)
  • allow perception of stereo from T-shaped structures
    (github pull #7183 from greglandrum)
  • switch the TFD code to use a fingerprint generator
    (github pull #7187 from greglandrum)
  • Don't reset computed properties if already empty
    (github pull #7188 from rachelnwalker)
  • Add some ExplicitBitVect operations to Swig
    (github pull #7204 from jones-gareth)
  • Some modernization of core GraphMol classes
    (github pull #7228 from greglandrum)
  • Custom decimal precision
    (github pull #7229 from PatrickPenner)
  • feat(minilib): expose the options parameter in get_inchi
    (github pull #7240 from BenoitClaveau)
  • Postpone clearing computed properties until after all Hs removed
    (github pull #7241 from rachelnwalker)
  • Speed up cleanMolStereo
    (github pull #7244 from ricrogz)
  • add HetAtomProtomerv2
    (github pull #7253 from greglandrum)
  • Support zero order bonds in V3K CTABs
    (github pull #7269 from greglandrum)
  • add option to symmetrize conjugated terminal groups when RMS pruning conformers
    (github pull #7270 from greglandrum)

Bug Fixes:

  • STEREOANY bonds lead to non-stable SMILES/SMARTS strings
    (github issue #5499 from ricrogz)
  • Chemical reactions with radicals cannot be pickled and unpickled.
    (github issue #5890 from sitanshubhunia)
  • Postgresql: exact search showing false with radicals from CXSMILES
    (github issue #6276 from sitanshubhunia)
  • CXSMILES: atom with labels should not also have dummyLabel property set
    (github issue #6309 from greglandrum)
  • Query Features: Different input format leads to a different molecule
    (github issue #6349 from kienerj)
  • non-physical radical counts being preserved
    (github issue #6370 from greglandrum)
  • MolEnumerator: use repeat counts for SRUs when present
    (github issue #6429 from greglandrum)
  • Unexpected non-matching ElementGraph hashes
    (github issue #6472 from jepdavidson)
  • Fixes for canonicalization, and stereochemistry
    (github pull #6743 from tadhurst-cdd)
  • MCS query incorrect when ringCompare=RingCompare.StrictRingFusion
    (github issue #6773 from d-b-w)
  • Fixes bug in get_sss_json()
    (github pull #6806 from ptosco)
  • SWIG builds failing on Windows
    (github pull #6808 from jones-gareth)
  • Double bonds should not be depicted as crossed bonds in the presence of wavy bonds
    (github issue #6816 from ptosco)
  • We should be abl...
Read more

2023_09_6 (Q3 2023) Release

07 Mar 12:40
Compare
Choose a tag to compare

Release_2023.09.6

(Changes relative to Release_2023.09.6)

Acknowledgements

(Note: I'm no longer attempting to manually curate names. If you would like to
see your contribution acknowledged with your name, please set your name in
GitHub)

Armin Ariamajd, Chris Von Bargen, Th茅ophile Gaudin, Gareth Jones, Brian Kelley,
David Lounsbrough, Paolo Tosco, Ricardo Rodriguez-Schmidt, Riccardo Vianello,
Rachel Walker, sitanshubhunia, nbehrnd,

New Features and Enhancements:

  • Copy stereo and substance groups during insertMol
    (github issue #7064 from cdvonbargen)
  • Make addStereoAnnotation public
    (github issue #7140 from cdvonbargen)
  • Improve output of debugMol
    (github pull #7172 from greglandrum)
  • update cookbook, draw molecule with atom indices
    (github pull #7173 from nbehrnd)
  • Update MinimalLib Dockerfiles
    (github pull #7182 from ptosco)
  • Don't reset computed properties if already empty
    (github pull #7188 from rachelnwalker)
  • Add some ExplicitBitVect operations to Swig
    (github pull #7204 from jones-gareth)

Bug Fixes:

  • Chemical reactions with radicals cannot be pickled and unpickled.
    (github issue #5890 from sitanshubhunia)
  • Stereo Annotation Appears Incorrect
    (github issue #7157 from lounsbrough)
  • Adding missing headers in ReactionParser.h
    (github pull #7163 from tgaudin)
  • fix: add PandasTools support for pandas 2.2
    (github pull #7165 from AAriam)
  • Fix leaking Bonds on unmatched ring closures
    (github pull #7178 from ricrogz)
  • Fix Uncharger applying to already neutralized perhalic groups
    (github pull #7211 from rvianello)

2023_09_5 (Q3 2023) Release

08 Feb 07:12
Compare
Choose a tag to compare

Release_2023.09.5

(Changes relative to Release_2023.09.4)

Acknowledgements

(Note: I'm no longer attempting to manually curate names. If you would like to
see your contribution acknowledged with your name, please set your name in
GitHub)

Christopher Von Bargen, Jonathan Bisson, James Davidson, Hussein Faara,
Christoph Hillisch, Gareth Jones, Kevin Keating, Brian Kelley, Joos Kiener,
Marta Pasquini, Patrick Penner, Ricardo Rodriguez-Schmidt, Nate Russell,
Riccardo Vianello

New Features and Enhancements:

  • add more error checking to substance groups
    (github issue #5923 from greglandrum)
  • Allow sanitization to be disabled in PandasTools.LoadSDF
    (github issue #7019 from christophhillisch)
  • Add Atom::hasValenceViolation (Take 2)
    (github pull #7030 from cdvonbargen)
  • Please consider exposing maxBondMatchPairs param in rdRascalMCES.RascalOptions()
    (github issue #7054 from nate-russell)
  • expose EmbedParameters::coordMap to Python
    (github pull #7086 from greglandrum)
  • Add a 'force' option to MolStandardizer::Uncharger
    (github pull #7088 from rvianello)
  • support sanitization of reaction product templates
    (github pull #7095 from greglandrum)
  • Compatibility with pathlib.Path
    (github pull #7100 from PatrickPenner)
  • Add option to sanitize reaction components like molecules
    (github issue #7108 from MartaPasquini)

Bug Fixes:

  • Query Features: Different input format leads to a different molecule
    (github issue #6349 from kienerj)
  • Unexpected non-matching ElementGraph hashes
    (github issue #6472 from jepdavidson)
  • PositionVariationOp::getVariationCounts() does unnecessary copies of vectors
    (github issue #6906 from whosayn)
  • "Inconsistent state" when manually sanitizing and assigning stereo when using the new stereo algorithm
    (github issue #7023 from ricrogz)
  • Spacing bug in compute2DCoordsForReaction
    (github issue #7028 from KevKeating)
  • Middle line in triple bond drawn to incorrect point when a wedged bond is present
    (github issue #7036 from greglandrum)
  • CSharp Wrapper ExtendedQueryMol Read Access Violation
    (github issue #7069 from jones-gareth)
  • Sanitizing and assigning stereo twice can change bond stereo with new stereo
    (github issue #7076 from ricrogz)
  • testConrec.cpp:130 fails on ARM64
    (github issue #7083 from bjonnh-work)
  • Quaternary nitrogens with hydrogens are not a candidate for stereo
    (github issue #7115 from bp-kelley)
  • ReplaceBond may cause valence issues in specific edge cases
    (github issue #7128 from ricrogz)

Cleanup work:

  • fix GCC 13.2 warnings about redundant move in return statement
    (github pull #7029 from rvianello)
  • fix check of python version when updating Filters.cpp
    (github pull #7035 from rvianello)
  • fix several warnings originating from the swig wrappers
    (github pull #7063 from rvianello)
  • lock the versions of a bunch of stuff used in the CI builds
    (github pull #7082 from greglandrum)

2023_09_4 (Q3 2023) Release

05 Jan 03:40
Compare
Choose a tag to compare

Release_2023.09.4

(Changes relative to Release_2023.09.3)

Acknowledgements

(Note: I'm no longer attempting to manually curate names. If you would like to
see your contribution acknowledged with your name, please set your name in
GitHub)

Jason Biggs, David Cosgrove, Tad Hurst, Gareth Jones, Axel Pahl, Paolo Tosco,
Riccardo Vianello, Nicola Zonta, skystreet8, dhibbit

New Features and Enhancements:

  • Add Python modules to generate stubs and automatically patch docstrings
    (github pull #6919 from ptosco)
  • Update molecular templates headers and drop bond-length tests
    (github pull #6960 from ricrogz)
  • Add in place and multithread support for more of the MolStandardize code
    (github pull #6970 from greglandrum)
  • Enable in-tree builds and improve overloaded constructor docstrings
    (github pull #6980 from ptosco)
  • Added fingerprints to GeneralizedSubstruct search and extended SWIG wrappers
    (github pull #6991 from jones-gareth)

Bug Fixes:

  • SpacialScore ignores undefined bond stereo
    (github issue #6957 from jasondbiggs)
  • DetermineBonds() for PH3 yields no bonding
    (github issue #6961 from dhibbit)
  • Highlights of triple bonds come out wrong
    (github issue #6968 from DavidACosgrove)
  • MaeMolSupplier cannot read dummy atoms from Maestro files
    (github issue #6973 from ricrogz)
  • Chem.FindMolChiralCenters function should not be sensitive to atom-map numbers
    (github issue #6975 from skystreet8)
  • Parsing a Mol leaks the "_needsDetectBondStereo" property
    (github issue #6981 from ricrogz)
  • SubstructMatch maxRecursiveMatches is not being honored
    (github issue #6983 from ricrogz)
  • HierarchicalClusterPicker::pick() randomly fails with Invariant Violation
    (github issue #7001 from ricrogz)
  • rdkit.Dbase doesn't work correctly with Python 3.12
    (github issue #7009 from rvianello)

Cleanup work:

  • Drop unrequired zlib include which may break the windows build
    (github pull #6966 from ricrogz)

2023_09_3 (Q3 2023) Release

06 Dec 03:51
Compare
Choose a tag to compare

Release_2023.09.3

(Changes relative to Release_2023.09.2)

Acknowledgements

(Note: I'm no longer attempting to manually curate names. If you would like to
see your contribution acknowledged with your name, please set your name in
GitHub)

Jason Biggs, Hussein Faara, Brian Kelley, Yoshinobu Ogura, Yakov Pechersky,
Ricardo Rodriguez-Schmidt, Leonid Stolbov, Paolo Tosco, Ivan Tubert-Brohman,
dehaenw

New Features and Enhancements:

  • Support writing detailed SMARTS queries to CTABs using the SMARTSQ mechanism
    (github issue #5819 from greglandrum)
  • Support copying of GeneralizeQueryMolecules
    (github issue #6851 from greglandrum)
  • Enable chemist-friendly depiction of R-groups
    (github pull #6866 from ptosco)
  • Allow building DetermineBonds without YAeHMOP support
    (github pull #6885 from greglandrum)
  • Add multithreading to getBestRMS and new getAllConformerBestRMS
    (github pull #6896 from greglandrum)
  • switch to catch2 v3
    (github pull #6898 from greglandrum)
  • minilib functions exposure: mmpa
    (github pull #6902 from StLeonidas)
  • Add multi-threaded versions of some MolStandardize operations
    (github pull #6909 from greglandrum)
  • Add (multithreaded) functions to the fingerprint generators for calculating multiple fingeprints in one call
    (github pull #6910 from greglandrum)
  • Add Python modules to generate stubs and automatically patch docstrings
    (github pull #6919 from ptosco)

Bug Fixes:

  • MolEnumerator: use repeat counts for SRUs when present
    (github issue #6429 from greglandrum)
  • Double bonds should not be depicted as crossed bonds in the presence of wavy bonds
    (github issue #6816 from ptosco)
  • MurckoScaffold.MakeScaffoldGeneric() has issues with isotopes
    (github issue #6836 from dehaenw)
  • Wavy bonds in mol blocks can't be stereo enumerated
    (github issue #6876 from bp-kelley)
  • CDXML read of AND1 group (specifying racemic center) gets associated into an OR1 group
    (github issue #6887 from pechersky)
  • Segfault in JSONToMols when "commonchem" is an int
    (github issue #6890 from i-tub)
  • reapplyMolBlockWedging() should retain ENDDOWNRIGHT, ENDUPRIGHT dirs
    (github issue #6893 from ptosco)
  • MMPA FragmentMol segfaults when new stereo perception is turned on
    (github issue #6900 from jasondbiggs)
  • Obtaining descriptors via Descriptors.descList results in duplication of SPS.
    (github issue #6928 from wsuzume)
  • Some Clang-specific build instructions skip some clang compilers on mac
    (github issue #6941 from whosayn)
  • With new stereo, removing H from an Imine double bond does not remove bond stereo
    (github issue #6944 from ricrogz)
  • FindMolChiralCenters should honor RDK_USE_LEGACY_STEREO_PERCEPTION
    (github issue #6945 from ricrogz)
  • generateDepictionMatching2DStructure does not optimally align when refPatt!=None, allowRGroups=False, alignOnly=True
    (github issue #6952 from ptosco)
  • GetAtomPairFingerprint yields different rooted FP from generator
    (github issue #6958 from ptosco)

Cleanup work:

  • cmake cleanup
    (github pull #6814 from greglandrum)
  • Deprecate some of the ancient python-based ML code
    (github pull #6891 from greglandrum)
  • Remove boost::regex support #6817
    (github pull #6913 from whosayn)
  • Fix minimal build, allow building without boost::serialization
    (github pull #6932 from greglandrum)

Deprecated code (to be removed in a future release):

  • The RDKit implementation of standard machine learning algorithms are
    deprecated and will be removed in the 2024.03 release. The affected packages
    include: rdkit.ML.Composite, rdkit.ML.DecTree, rdkit.ML.KNN,
    rdkit.ML.ModelPackage, rdkit.ML.NaiveBayes, rdkit.ML.Neural
    rdkit.ML.{Analyze,Screen,Grow,Build}Composite, rdkit.ML.CompositeRun,
    rdkit.ML.EnrichPlot

2023_09_2 (Q3 2023) Release

10 Nov 06:45
Compare
Choose a tag to compare

Release_2023.09.2

(Changes relative to Release_2023.09.1)

Acknowledgements

(Note: I'm no longer attempting to manually curate names. If you would like to
see your contribution acknowledged with your name, please set your name in
GitHub)

Tad Hurst, Gareth Jones, Dan Nealschneider, Ricardo Rodriguez-Schmidt, Paolo
Tosco, Rachel Walker, Meng Wu, vslashg

New Features and Enhancements:

  • add maxRecursiveMatches to SubstructMatchParameters
    (github issue #6017 from greglandrum)
  • Removed some code duplication between Depictor.cpp and common.h
    (github pull #6799 from greglandrum)
  • Add support for writing chirality and stereo in MaeWriter
    (github pull #6810 from rachelnwalker)
  • Implement MinimalLib get_mcs() version that returns JSON
    (github pull #6812 from ptosco)
  • support generalized substructure search in the SubstructLibrary
    (github pull #6835 from greglandrum)
  • Support copying of GeneralizeQueryMolecules
    (github issue #6851 from greglandrum)

Bug Fixes:

  • CXSMILES: atom with labels should not also have dummyLabel property set
    (github issue #6309 from greglandrum)
  • Fixes for canonicalization, and stereochemistry
    (github pull #6743 from tadhurst-cdd)
  • MCS query incorrect when ringCompare=RingCompare.StrictRingFusion
    (github issue #6773 from d-b-w)
  • Fixes bug in get_sss_json()
    (github pull #6806 from ptosco)
  • SWIG builds failing on Windows
    (github pull #6808 from jones-gareth)
  • We should be able to run the tests without boost::iostreams
    (github issue #6818 from greglandrum)
  • Fix stereo bond corruption on RGD.
    (github pull #6832 from jones-gareth)
  • Fix unclosed resource in BuildFuncGroupHierarchy
    (github pull #6846 from ricrogz)
  • RGD: Fix doEnumeration true for cores that are not bundles
    (github pull #6857 from jones-gareth)
  • Fix build error when serialization is off.
    (github pull #6867 from vslashg)

Cleanup work:

  • Switch over to using pytest to run the python tests
    (github pull #5916 from greglandrum)
  • Redundant variablehasCoreDummies in R-group decomposition code
    (github issue #6779 from MarioAndWario)
  • remove the deprecated python implementation of MolStandardize
    (github pull #6819 from greglandrum)
  • Update CI, remove some warnings
    (github pull #6882 from greglandrum)

2023_09_1 (Q3 2023) Release

13 Oct 19:08
568b9db
Compare
Choose a tag to compare

Release_2023.09.1

(Changes relative to Release_2023.03.1)

Acknowledgements

(Note: I'm no longer attempting to manually curate names. If you would like to
see your contribution acknowledged with your name, please set your name in
GitHub)

Jason Biggs, Jonathan Bisson, David Cosgrove, Andrew Dalke, Christian W.
Feldmann, Eloy F茅lix, Richard Gowers, Tadd Hurst, Gareth Jones, Eisuke
Kawashima, Brian Kelley, Joos Kiener, Juuso Lehtivarjo, John Mayfield, Vedran
Mileti膰, Jeremy Monat, Dan Nealschneider, Timothy Ngotiaoco, Axel Pahl, Rachael
Pirie, Ricardo Rodriguez-Schmidt, Ernst-Georg Schmid, Paolo Tosco, Ivan
Tubert-Brohman, Riccardo Vianello, Rachel Walker, Maciej W贸jcikowski, pierred5,
lhyuen, paconius, BartlomiejF, thomp-j, wangyingxie, teltim, Meteor-han,
abefrandsen,

Highlights

  • The new RascalMCES code adds a very fast maximum common substructure
    implementation for pairs of molecules.
  • The RDKit core now supports "generalized substructure searching", making it
    easier to take link nodes, variable attachment points, and tautomer queries
    into account when doing substructure searches. This is now also supported in
    the PostgreSQL cartridge.
  • The RDKit now has support for reading and writing MRV files.

Backwards incompatible changes

  • The CDXML parser now returns mols with reasonable coordinates and in
    the same coordinate axes as the other RDKit file parsers.
  • All methods returning JSMol and JSReaction objects now return a
    nullptr (null in JS) when faling to generate a valid object, while
    previously they were returning objects whose is_valid() method would
    return false. The new implementation avoids the overhead of having to
    call delete() on invalid objects and was approved in a
    public discussion on the rdkit-js GitHub repository
  • In JS MinimalLib, MolIterator was renamed to MolList: since now it
    includes at(), append(), insert() and pop() methods, MolIterator
    felt inappropriate. This change should have minimal impact on existing
    JS code since so far there was no constructor for this class.
    The only place where JS code needs to be updated is when parsing the return
    value of JSMol::get_frags(): the return value consists of an object with
    two keys, molIterator and mappings. The molIterator key has now
    been renamed to molList.
  • The user-configurable MCSParameters::FinalMatchChecker function is now
    called after the built-in FinalMatchChecker function, rather as
    alternatively to the built-in FinalMatchChecker function. This was a
    design flaw which is worth correcting.
  • Setting MCSParameters::Timeout to 0 means no timeout, rather than 0s
    timeout, which is rather pointless as it would cause MCS to be canceled
    immediately.
  • Result SMARTS strings generated by FindMCS when
    MCSParameters::MatchRingFusionStrict is true now include ring membership
    queries where appropriate in order to ensure more specific substructure
    matches.
  • In MCS Verbose statistics, SingleBondExcluded was renamed to
    IndividualBondExcluded to avoid confusion, since single bond has a
    different meaning in chemistry.
  • The error messages from failed type conversions in calls to GetProp() now
    differ slightly between compilers. Instead of always including "boost::bad_any
    cast", they now need to be matched with the regex [B,b]ad any[\ ,_]cast
  • The functions for determining connectivity in DetermineBonds now use a more
    efficient method by default. To go back to the old behavior, set the useVdw argument
    to True.
  • The algorithm for perception of atomic stereochemistry from 2D structures has
    been rewritten. The new algorithm is more accurate, which results in some
    differences in perceived stereo between this release and the previous ones.
  • Information about stereo groups is no longer used in the SMILES
    canonicalization process if CXSMILES are not being generated.

New Features and Enhancements:

  • Mols matrix to grid image
    (github pull #6080 from bertiewooster)
  • Reduce space overhead of enabling the inclusion of properties when serializing molecules
    (github issue #6312 from rvianello)
  • Add optional sortsupport methods to the PostgreSQL GiST indices
    (github pull #6313 from rvianello)
  • Add a new parameter to mol_adjust_query_properties for generic query parameters
    (github pull #6332 from bjonnh-work)
  • add DebugDraw() function
    (github pull #6340 from greglandrum)
  • Optimize GetPropsFromDict: use tags for conversion
    (github pull #6355 from bp-kelley)
  • Fix cleanupOrganometallics and reinstate to sanitisation
    (github pull #6357 from DavidACosgrove)
  • postgres cartridge: cleanup a few obsolete build options
    (github pull #6363 from rvianello)
  • Fixes some issues in the SubstructLibrary JS implementation
    (github pull #6385 from ptosco)
  • Support TautomerQuery and MolBundle queries in the cartridge
    (github pull #6393 from greglandrum)
  • JS: Implement in-place aromatisation/kekulisation and avoid undesired exception
    (github pull #6407 from ptosco)
  • Optionally expose MCS to JS and extend optional compilation to JSReaction and JSSubstructLibrary
    (github pull #6409 from ptosco)
  • Add a method "HasQuery()" to Mol class
    (github issue #6411 from kienerj)
  • Enable using JSSubstructLibrary without pattern fps
    (github pull #6431 from ptosco)
  • Add support for generalized substructure searching
    (github pull #6443 from greglandrum)
  • Add atom and bond property parameters to substruct matching
    (github pull #6453 from rachelnwalker)
  • Replace a try..catch block with an if clause
    (github pull #6488 from ptosco)
  • Add an in place version of most of the MolStandardize functionality
    (github pull #6491 from greglandrum)
  • Exposed partial sanitization options to MinimalLib (both JS and CFFI)
    (github pull #6519 from ptosco)
  • Optionally forward Enhanced Stereo Group ids
    (github pull #6560 from ricrogz)
  • Add support for dative bonds in MOL files
    (github pull #6566 from bjonnh-work)
  • RASCAL MCES
    (github pull #6568 from DavidACosgrove)
  • Support additional generic groups
    (github pull #6570 from bjonnh-work)
  • Add support for Marvin files
    (github pull #6575 from bjonnh-work)
  • Add a "rootedAtAtom" to MolToSmarts
    (github pull #6581 from ricrogz)
  • RGD to support tautomers of core
    (github issue #6609 from jones-gareth)
  • Fix some build warnings
    (github pull #6618 from ricrogz)
  • Exposed log capture functionality to MinimalLib
    (github pull #6628 from ptosco)
  • add option to use sequential random seeds in the conformer generator
    (github pull #6639 from greglandrum)
  • Major MCS refactoring: new features and bug fixes
    (github pull #6646 from ptosco)
  • Lasso highlights
    (github pull #6653 from DavidACosgrove)
  • extract continuous lines from the conrec code
    (github pull #6676 from greglandrum)
  • Allow some tolerance in flatness determination
    (github pull #6696 from ricrogz)
  • Do not trust the 2D/3D tag in ctab mol files
    (github pull #6697 from ricrogz)
  • expose the CDXML reaction parsers to python
    (github pull #6700 from greglandrum)
  • Add hasQueryHs
    (github pull #6702 from bp-kelley)
  • Exporting to mol marks imine bonds EITHERDOUBLE when imine H is implicit
    (github issue #6703 from ricrogz)
  • Use the connect-the-dots algorithm by default in DetermineBonds
    (github pull #6740 from greglandrum)
  • Add function to calculate all 3D descriptors
    (github pull #6741 from RPirie96)
  • Add SpacialScore
    (github pull #6742 from apahl)
  • Extract the core matching logic into a separate function
    (github pull #6754 from ptosco)

Bug Fixes:

  • rdFMCS.FindMCS uses huge amounts of memory for this pair of molecules when CompleteRingsOnly is True
    (github issue #3965 from i-tub)
  • PF6- still can not get Bad Conformer Id after the #510 issue fix
    (github issue #5145 from wangyingxie)
  • Order dependence for rdFMCS.FindMCS with MatchFusedRingsStrict
    (github issue #5411 from pierred5)
  • Failed FMCS results with certain seed SMARTS and MatchFusedRings* parameters on
    (github issue #5440 from pierred5)
  • Seed SMARTS to FindMCS() produces incorrect MCS
    (github issue #5457 from pierred5)
  • FindMCS returns wrong result with monoatomic molecules
    (github issue #5510 from ptosco)
  • queryMol from FindMCS doesn't match mols used to generate MCS
    (github issue #6082 from paconius)
  • Crash when parsing InChI
    (github issue #6172 from eloyfelix)
  • Iteration over Python GetAtoms is 10-20x slower than need be
    (github issue #6208 from d-b-w)
  • refactor(python): replace deprecated unittest methods
    (github pull #6304 from e-kwsm)
  • generateDepictionMatching2DStructure: bonds to R groups should be generic when matching
    (github pull #6306 from ptosco)
  • MolToSmiles(canonical=False) creates the wrong _smilesBondOutputOrder property
    (github issue #6315 from adalke)
  • MolToMolBlock ignores unspecified information for double bonds in rings
    (github issue #6316 from mwojcikowski)
  • bump yaehmop version
    (github pull #6330 from greglandrum)
  • rdMolDraw2D.MolDraw2DCairo produces Pre-condition Violation: no draw context when SetColour, DrawRect or DrawLine was called.
    (github issue #6336 from lhyuen)
  • Added cstdint include
    (github pull #6338 from vedranmiletic)
  • remove the dependency from python distutils in the top CMakeLists.txt file
    (github pull #6339 from rvianello)
  • take drawOptions into account when exporting structure to xlsx format
    (github pull #6341 from ptosco)
  • Fix swig memory leak
    (github pull #6346 from jones-gareth)
  • Add inlines to ForceFieldHelpers header functions
    (github pull #6356 from JLVarjo)
  • Bug relating to this PF6- still can not get Bad Conformer Id
    (github issue #6365 from teltim)
  • straighten...
Read more

2023_09_1 (Q3 2023) Release Beta

06 Oct 11:10
a9d6642
Compare
Choose a tag to compare
Pre-release

Release_2023.09.1b1

(Changes relative to Release_2023.03.1)

Acknowledgements

(Note: I'm no longer attempting to manually curate names. If you would like to
see your contribution acknowledged with your name, please set your name in
GitHub)

Jason Biggs, Jonathan Bisson, David Cosgrove, Andrew Dalke, Christian W.
Feldmann, Eloy F茅lix, Richard Gowers, Tadd Hurst, Gareth Jones, Eisuke
Kawashima, Brian Kelley, Joos Kiener, Juuso Lehtivarjo, John Mayfield, Vedran
Mileti膰, Jeremy Monat, Dan Nealschneider, Timothy Ngotiaoco, Axel Pahl, Ricardo
Rodriguez-Schmidt, Ernst-Georg Schmid, Paolo Tosco, Ivan Tubert-Brohman,
Riccardo Vianello, Rachel Walker, Maciej W贸jcikowski, pierred5, lhyuen,
paconius, BartlomiejF, thomp-j, wangyingxie, teltim, Meteor-han, abefrandsen,

Highlights

to be completed

Backwards incompatible changes

  • The CDXML parser now returns mols with reasonable coordinates and in
    the same coordinate axes as the other RDKit file parsers.
  • All methods returning JSMol and JSReaction objects now return a
    nullptr (null in JS) when faling to generate a valid object, while
    previously they were returning objects whose is_valid() method would
    return false. The new implementation avoids the overhead of having to
    call delete() on invalid objects and was approved in a
    public discussion on the rdkit-js GitHub repository
  • In JS MinimalLib, MolIterator was renamed to MolList: since now it
    includes at(), append(), insert() and pop() methods, MolIterator
    felt inappropriate. This change should have minimal impact on existing
    JS code since so far there was no constructor for this class.
    The only place where JS code needs to be updated is when parsing the return
    value of JSMol::get_frags(): the return value consists of an object with
    two keys, molIterator and mappings. The molIterator key has now
    been renamed to molList.
  • The user-configurable MCSParameters::FinalMatchChecker function is now
    called after the built-in FinalMatchChecker function, rather as
    alternatively to the built-in FinalMatchChecker function. This was a
    design flaw which is worth correcting.
  • Setting MCSParameters::Timeout to 0 means no timeout, rather than 0s
    timeout, which is rather pointless as it would cause MCS to be canceled
    immediately.
  • Result SMARTS strings generated by FindMCS when
    MCSParameters::MatchRingFusionStrict is true now include ring membership
    queries where appropriate in order to ensure more specific substructure
    matches.
  • In MCS Verbose statistics, SingleBondExcluded was renamed to
    IndividualBondExcluded to avoid confusion, since single bond has a
    different meaning in chemistry.
  • The error messages from failed type conversions in calls to GetProp() now
    differ slightly between compilers. Instead of always including "boost::bad_any
    cast", they now need to be matched with the regex [B,b]ad any[\ ,_]cast
  • The functions for determining connectivity in DetermineBonds now use a more
    efficient method by default. To go back to the old behavior, set the useVdw argument
    to True.
  • The algorithm for perception of atomic stereochemistry from 2D structures has
    been rewritten. The new algorithm is more accurate, which results in some
    differences in perceived stereo between this release and the previous ones.

New Features and Enhancements:

  • Mols matrix to grid image
    (github pull #6080 from bertiewooster)
  • Reduce space overhead of enabling the inclusion of properties when serializing molecules
    (github issue #6312 from rvianello)
  • Add optional sortsupport methods to the PostgreSQL GiST indices
    (github pull #6313 from rvianello)
  • Add a new parameter to mol_adjust_query_properties for generic query parameters
    (github pull #6332 from bjonnh-work)
  • add DebugDraw() function
    (github pull #6340 from greglandrum)
  • Optimize GetPropsFromDict: use tags for conversion
    (github pull #6355 from bp-kelley)
  • Fix cleanupOrganometallics and reinstate to sanitisation
    (github pull #6357 from DavidACosgrove)
  • postgres cartridge: cleanup a few obsolete build options
    (github pull #6363 from rvianello)
  • Fixes some issues in the SubstructLibrary JS implementation
    (github pull #6385 from ptosco)
  • Support TautomerQuery and MolBundle queries in the cartridge
    (github pull #6393 from greglandrum)
  • JS: Implement in-place aromatisation/kekulisation and avoid undesired exception
    (github pull #6407 from ptosco)
  • Optionally expose MCS to JS and extend optional compilation to JSReaction and JSSubstructLibrary
    (github pull #6409 from ptosco)
  • Add a method "HasQuery()" to Mol class
    (github issue #6411 from kienerj)
  • Enable using JSSubstructLibrary without pattern fps
    (github pull #6431 from ptosco)
  • Add support for generalized substructure searching
    (github pull #6443 from greglandrum)
  • Add atom and bond property parameters to substruct matching
    (github pull #6453 from rachelnwalker)
  • Replace a try..catch block with an if clause
    (github pull #6488 from ptosco)
  • Add an in place version of most of the MolStandardize functionality
    (github pull #6491 from greglandrum)
  • Exposed partial sanitization options to MinimalLib (both JS and CFFI)
    (github pull #6519 from ptosco)
  • Optionally forward Enhanced Stereo Group ids
    (github pull #6560 from ricrogz)
  • Add support for dative bonds in MOL files
    (github pull #6566 from bjonnh-work)
  • RASCAL MCES
    (github pull #6568 from DavidACosgrove)
  • Support additional generic groups
    (github pull #6570 from bjonnh-work)
  • Add support for Marvin files
    (github pull #6575 from bjonnh-work)
  • Add a "rootedAtAtom" to MolToSmarts
    (github pull #6581 from ricrogz)
  • RGD to support tautomers of core
    (github issue #6609 from jones-gareth)
  • Fix some build warnings
    (github pull #6618 from ricrogz)
  • Exposed log capture functionality to MinimalLib
    (github pull #6628 from ptosco)
  • add option to use sequential random seeds in the conformer generator
    (github pull #6639 from greglandrum)
  • Major MCS refactoring: new features and bug fixes
    (github pull #6646 from ptosco)
  • Lasso highlights
    (github pull #6653 from DavidACosgrove)
  • extract continuous lines from the conrec code
    (github pull #6676 from greglandrum)
  • Allow some tolerance in flatness determination
    (github pull #6696 from ricrogz)
  • Do not trust the 2D/3D tag in ctab mol files
    (github pull #6697 from ricrogz)
  • expose the CDXML reaction parsers to python
    (github pull #6700 from greglandrum)
  • Add hasQueryHs
    (github pull #6702 from bp-kelley)
  • Use the connect-the-dots algorithm by default in DetermineBonds
    (github pull #6740 from greglandrum)
  • Add SpacialScore
    (github pull #6742 from apahl)
  • Extract the core matching logic into a separate function
    (github pull #6754 from ptosco)

Bug Fixes:

  • rdFMCS.FindMCS uses huge amounts of memory for this pair of molecules when CompleteRingsOnly is True
    (github issue #3965 from i-tub)
  • PF6- still can not get Bad Conformer Id after the #510 issue fix
    (github issue #5145 from wangyingxie)
  • Order dependence for rdFMCS.FindMCS with MatchFusedRingsStrict
    (github issue #5411 from pierred5)
  • Failed FMCS results with certain seed SMARTS and MatchFusedRings* parameters on
    (github issue #5440 from pierred5)
  • Seed SMARTS to FindMCS() produces incorrect MCS
    (github issue #5457 from pierred5)
  • FindMCS returns wrong result with monoatomic molecules
    (github issue #5510 from ptosco)
  • queryMol from FindMCS doesn't match mols used to generate MCS
    (github issue #6082 from paconius)
  • Crash when parsing InChI
    (github issue #6172 from eloyfelix)
  • Iteration over Python GetAtoms is 10-20x slower than need be
    (github issue #6208 from d-b-w)
  • refactor(python): replace deprecated unittest methods
    (github pull #6304 from e-kwsm)
  • generateDepictionMatching2DStructure: bonds to R groups should be generic when matching
    (github pull #6306 from ptosco)
  • MolToSmiles(canonical=False) creates the wrong _smilesBondOutputOrder property
    (github issue #6315 from adalke)
  • MolToMolBlock ignores unspecified information for double bonds in rings
    (github issue #6316 from mwojcikowski)
  • bump yaehmop version
    (github pull #6330 from greglandrum)
  • rdMolDraw2D.MolDraw2DCairo produces Pre-condition Violation: no draw context when SetColour, DrawRect or DrawLine was called.
    (github issue #6336 from lhyuen)
  • Added cstdint include
    (github pull #6338 from vedranmiletic)
  • remove the dependency from python distutils in the top CMakeLists.txt file
    (github pull #6339 from rvianello)
  • take drawOptions into account when exporting structure to xlsx format
    (github pull #6341 from ptosco)
  • Fix swig memory leak
    (github pull #6346 from jones-gareth)
  • Add inlines to ForceFieldHelpers header functions
    (github pull #6356 from JLVarjo)
  • Bug relating to this PF6- still can not get Bad Conformer Id
    (github issue #6365 from teltim)
  • straightenDepiction should not consider 0-degree rotations as multiples of 60
    (github pull #6367 from ptosco)
  • expose two missing EmbedFailureCauses tags to python
    (github pull #6372 from greglandrum)
  • Molfile Unsaturation Query Not Parsed Correctly
    (github issue #6395 from timothyngo)
  • MolDraw2D: chiral tag overlapping atom label
    (github issue #6397 from greglandrum)
  • MolDraw2D: increasing padding results in the legend not being displayed
    (github issue #6400 from greglandrum)
  • expose some missing CXSmiles flags to python
    (github pull #6415 from greglandrum)
  • V3000 structure segfaults when converting to SVG
    (github issue #6416 from ergo70)
  • WedgeMolBonds won't wedge/dash a 2nd bond when input already has a wedge/dash around the sam...
Read more