Skip to content

v2.2.3 - 2026-10-09

Latest

Choose a tag to compare

@cbouy cbouy released this 09 Oct 20:37
· 1 commit to master since this release

Added

  • Added FragmentedResidueError for when multiple residues share the
    same ResidueId.
  • Added OptionalException base class to define the behaviour on specific runtime
    errors that may be ignored or handled by the user.

Fixed

  • MoleculeStandardizer now properly assigns each atom's hybridization.
  • The HBond acceptor SMARTS patterns now exclude proline backbone nitrogens, and
    the implicit and explicit patterns are harmonized: the peptide nitrogen
    exclusion prefers degree over valence.
  • Implicit HBond interactions no longer raise a KeyError for atoms with a
    hybridization other than SP, SP2 or SP3, and instead treats the interaction
    as invalid.
  • Using split_molecule could swap atoms between the two output molecules if the
    components residues were ordered differently from the original molecule, typically
    when water molecules in multiple chains are present.
  • The residue fragmentation that occurs when creating a Molecule no longer assigns a
    wrong hydrogen count to atoms at the cut peptide bonds when both residues are the same
    e.g. when splitting a di-Alanine.
  • Fixed a bug in the "queue" parallel strategy where the pickling/unpickling of the
    RDKit molecules would silently redo the residue splitting without preserving the
    original use_segid flag.
  • Fixed an issue in the "queue" parallel strategy where exceptions raised during
    trajectory iteration would silently crash the background task and hang the process
    indefinitely.
  • 5 and 6-membered rings fused to a smaller ring are no longer excluded.
  • Switched to SSSR ring-perception for more reliable ring size detection.

Changed

  • The use_segid option is now propagated through Residue,
    split_mol_by_residues, the template engines and split_molecule, so
    residues created from these code paths keep the correct chain identifier.