MolecularGraph.jl is a graph-based molecule modeling and chemoinformatics analysis toolkit fully implemented in Julia.
-
Chemical structure file I/O
- 2D structure image drawing and export to SVG
- 3D structure drawing
- SDFile import/export (.sdf, .mol)
- SMILES/SMARTS parser
-
Database
- InChI (InChI)
- Serialization (molecule object <-> JSON)
-
Basic descriptors
- H-bond donor/acceptor
- rotatable bonds
- Aromaticity
- Wildman-Crippen logP
-
Atomic mass
- standard atomic/molecular weight
- relative atomic/molecular mass
- isotopic composition
-
Molecular graph topology
- Ring, scaffold, connected components
- Minimum cycle basis (de Pina algorithm)
- Smallest set of smallest rings (SSSR)
- Planarity (left-right planarity test)
- Maximum matching
- Kekulization
- Graph traversal
-
2D geometry
- Stereochemistry drawing
- Coordinates generation (coordgenlibs)
-
Sub(super)structure
- Library search by using SMARTS query
- Subgraph isomorphism detection with VF2 algorithm
- Monomorphism, node-induced and edge-induced
- Constraints (mandatory/forbidden mapping)
-
SMARTS query-based substructure analysis
- functional group mining
- structural alerts (by using ChEMBL dataset)
-
Maximum common substructure (MCS)
- By clique detection algorithm
- Node-induced (MCIS) and edge-induced (MCES)
- Connected and disconnected
- Topological constraint (known as tdMCS)
- Diameter restriction (MCS-DR) and graph-based local similarity (GLS)
MIT license
See Assets/README.md for details of external data sets and their licenses.
(C) 2018-2021 Seiji Matsuoka and contributors