Download Latest Version v0.20.2 source code.tar.gz (1.5 MB)
Email in envelope

Get an email when there's a new version of MolecularGraph.jl

Home / v0.20.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-06-21 2.4 kB
v0.20.0 source code.tar.gz 2025-06-21 1.5 MB
v0.20.0 source code.zip 2025-06-21 1.6 MB
Totals: 3 Items   3.1 MB 0

MolecularGraph v0.20.0

Diff since v0.19.1

This version introduces substantial breaking changes to internal data structures and methods, while the public APIs remain largely unchanged.

  • Rewrote many functions and introduced some abstract types (e.g AbstractAtom and AbstractBond) to increase type-stability (hopefully this improves JIT compile time).
  • RDKitMinimalLib and Cairo will be weak dependencies (Added extensions RDKitExt and CairoExt). Cairo is a large library but has been used only for PNG image export. RDKitMinimalLib is not so large but there are known OS compatibility issues. As a result of this change, the minimum required Julia version is now 1.9.
  • Molecular query structures (parsed from SMARTS) are no longer recursive. The new query representation is based on SimpleDiGraph, allowing for more straightforward topological searches and equality checks. This slightly improves the performance of SMILES/SMARTS parser and substructure match.
  • The graph-level properties of MolGraph have been refactored from a Dict-based structure to a dedicated data class, MolProperty. This may improve type stability and enables a more sophisticated property auto-update mechanism for molecular descriptors.
  • SMILES/SMARTS parsing now accepts the special case [HH] to represent molecular hydrogen (#124).

API changes: - Atom and bond constructors now accept keyword arguments (e.g., SMILESAtom(symbol=:N, isaromatic=true)). - Options in molecule readers (e.g., SMILES, SDFile) have been changed from a Dict-based interface to keyword arguments (e.g., smilestomol("CCC", on_update=custom_updater!)). - Graph-level properties (e.g., SDFile metadata and stereochemistry) are now accessed via fields (e.g., mol.gprops.stereocenter) instead of by index (e.g., mol.gprops[:stereocenter]). Metadata accessors remain available (e.g., mol["compound_id"] is equivalent to mol.gprops.metadata["compound_id"]). - MolGraph can now store multiple sets of 2D/3D Cartesian coordinates (e.g., generated 3D conformers). As there is currently no API for managing multiple coordinate sets, drawing methods will use the first entry by default.

Closed issues: - sdfilewriter/printv2sdf fails due to removed metadata() function (v0.19.0) (#126)

Source: README.md, updated 2025-06-21