Awesome
MolecularGraph.jl
MolecularGraph.jl is a graph-based molecule modeling and chemoinformatics analysis toolkit fully implemented in Julia.
<img src="./assets/image/demo.svg" width="200"/><img src="./assets/image/Bivalirudin.svg" width="200"/><img src="./assets/image/Succinic acid.svg" width="200"/><img src="./assets/image/Docetaxel.svg" width="200"/><img src="./assets/image/FerrocenylethylMaleimide.svg" width="200"/><img src="./assets/image/spacefilling.png" width="200"/>
<img src="./assets/image/mcsdemo.png" width="400"/><img src="./assets/image/funcgroupdemo.png" width="400"/><img src="./assets/image/massspecdemo.png" width="400"/>
Documentation and API Reference
Documentation and API Reference
How to use
To run codes in your environment, see Edit or run this notebook
instruction shown in the top-right of the tutorial pages below.
- Getting started
- Molecular graph basics
- Scope of MolecularGraph.jl
- Considerations in molecular graph implementation
- Basic operations provided by Graphs.jl interface
- MolGraph type and atom/bond properties
- Properties and descriptors
- Built-in molecule properties and descriptors
- Lipinski's Rule of five (RO5)
- Molecular formula
- Atom and bond properties
- Graph topology (ring and fused ring)
- Auto-update mechanism of properties
- Built-in molecule properties and descriptors
- Preprocessing
- Remove hydrogen vertices
- Extract molecules of interest
- Standardize charges
- Dealing with resonance structure
- Customize property updater
- Mass and isotopes
- Molecular weight and exact mass
- Uncertainty
- Isotopic composition
- Simulate mass spectrum
- Substructure and query
- Substructure match
- InChI and InChIKey
- SMARTS query
- Structural alerts (e.g. PAINS)
- Functional group analysis
- Query containment
- Maximum common substructure (MCS)
- Maximum common induced substructure (MCIS)
- Maximum common edge-induced substructure (MCES)
- Connected or disconnected MCS
- Working with larger molecules
- Topological constraint (tdMCS)
- Drawing molecule
- Settings of 2D structure images
- Change image size
- Layout for web and Pluto notebook
- Regenerate 2D coordinates
- 3D molecule rendering using Makie.jl
- Settings of 2D structure images
- Stereochemistry
- Stereochemistry as a molecular graph property
- Stereospecific implicit hydrogens
Features
-
Chemical structure file I/O
- 2D structure image drawing and export to SVG
- 3D structure drawing (Makie.jl)
- SDFile reader/writer (.sdf, .mol)
- SMILES/SMARTS parser (only reader)
- Coordinates generation (coordgenlibs)
-
Properties and descriptors
- H-bond donor/acceptor
- rotatable bonds
- Aromaticity
- Wildman-Crippen logP
-
Substructure and query
- InChI (InChI)
- Serialization (molecule object <-> JSON)
- Subgraph isomorphism detection with VF2 algorithm
- SMARTS query match
- Monomorphism, node-induced and edge-induced match
- Constraints (mandatory/forbidden vertex mapping)
- Functional group query set
- Structural alerts detection with ChEMBL dataset
-
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
-
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)
License
MIT license
See Assets/README.md for details of external data sets and their licenses.
Copyright
(C) 2018-2023 Seiji Matsuoka and contributors