Name | Modified | Size | Downloads / 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
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
andAbstractBond
) to increase type-stability (hopefully this improves JIT compile time). RDKitMinimalLib
andCairo
will be weak dependencies (Added extensionsRDKitExt
andCairoExt
). 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 aDict
-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)