Molecular properties

MolecularGraph.apparent_valenceMethod
apparent_valence(mol::SimpleMolGraph) -> Vector{Int}

Return a vector of size $n$ representing the number of total bond order incident to 1 to $n$th atoms of the given molecule.

source
MolecularGraph.atom_symbolMethod
atom_symbol(mol::MolGraph) -> Vector{Symbol}

Return a vector of size $n$ representing atom symbols of 1 to $n$th atoms of the given molecule.

source
MolecularGraph.bond_orderMethod
bond_order(mol::MolGraph) -> Vector{Int}

Return a vector of size $n$ representing bond order of 1 to $n$th bonds of the given molecule.

source
MolecularGraph.chargeMethod
charge(mol::MolGraph) -> Vector{Int}

Return a vector of size $n$ representing atom charges of 1 to $n$th atoms of the given molecule.

source
MolecularGraph.connectivityMethod
connectivity(mol::SimpleMolGraph) -> Vector{Int}

Return a vector of size $n$ representing the number of total atoms (implicit and explicit) connected to 1 to $n$th atoms of the given molecule.

This property corresponds to SMARTS X query.

source
MolecularGraph.edge_which_ringMethod
edge_which_ring(mol::SimpleMolGraph) -> Vector{Vector{Int}}

Return a vector of size $n$ representing sssr membership of 1 to $n$th bonds of the given molecule.

SSSR membership is represented as a set of SSSR indices assigned to each rings. This means bonds that have the same SSSR index belong to the same SSSR.

source
MolecularGraph.explicit_hydrogensMethod
explicit_hydrogens(mol::SimpleMolGraph) -> Vector{Int}

Return a vector of size $n$ representing the number of explicit hydrogens connected to 1 to $n$th atoms of the given molecule.

"Explicit" means hydrogens are explicitly represented as graph nodes.

source
MolecularGraph.fused_ringsMethod
fused_rings(mol::SimpleMolGraph{T}) -> Vector{Vector{T}}

Return vectors of fused ring node sets.

A fused ring is defined as a 2-edge connected components in terms of graph theory. Spirocyclic structures are considered to be part of a fused ring.

source
MolecularGraph.heavy_atomsMethod
heavy_atoms(mol::SimpleMolGraph) -> Vector{Int}

Return a vector of size $n$ representing the number of non-hydrogen atoms connected to 1 to $n$th atoms of the given molecule.

source
MolecularGraph.hybridizationMethod
hybridization(mol::SimpleMolGraph) -> Vector{Int}

Returns a vector of size $n$ representing the orbital hybridization symbols (:sp3, :sp2, :sp or :none) of 1 to $n$th atoms of the given molecule.

The hybridization value in inorganic atoms and non-typical organic atoms will be :none (e.g. s, sp3d and sp3d2 orbitals). Note that this is a simplified geometry descriptor for substructure matching and does not reflect actual molecular orbital hybridization.

source
MolecularGraph.implicit_hydrogensMethod
implicit_hydrogens(mol::SimpleMolGraph) -> Vector{Int}

Return a vector of size $n$ representing the number of implicit hydrogens connected to 1 to $n$th atoms of the given molecule.

"Implicit" means hydrogens are not represented as graph nodes, but it can be infered from the intrinsic valence of typical organic atoms.

source
MolecularGraph.is_edge_in_ringMethod
is_edge_in_ring(mol::MolGraph) -> Vector{Bool}

Return a vector of size $n$ representing whether 1 to $n$th bonds of the given molecule belong to a ring or not.

source
MolecularGraph.is_in_ringMethod
is_in_ring(mol::MolGraph) -> Vector{Bool}

Return a vector of size $n$ representing whether 1 to $n$th atoms of the given molecule belong to a ring or not.

source
MolecularGraph.is_ring_aromaticMethod
is_ring_aromatic(mol::SimpleMolGraph) -> Vector{Bool}

Returns a vector of size $n$ representing whether first to $n$-th rings of a given molecule are aromatic or not.

This is a binary descriptor based on a chemoinformatic algorithm and may not reflect actual molecular orbitals. Atypical aromaticities such as Moebius aromaticity are not considered.

source
MolecularGraph.is_rotatableMethod
is_rotatable(mol::SimpleMolGraph) -> Vector{Bool}

Return a vector of size $n$ representing whether 1 to $n$th bonds of the given molecule are rotatable or not.

source
MolecularGraph.lone_pairMethod
lone_pair(mol::MolGraph) -> Vector{Int}

Return a vector of size $n$ representing the number of lone pairs of 1 to $n$th atoms of the given molecule.

source
MolecularGraph.multiplicityMethod
multiplicity(mol::MolGraph) -> Vector{Int}

Return a vector of size $n$ representing atom multiplicities of 1 to $n$th atoms of the given molecule (1: non-radical, 2: radical, 3: biradical).

source
MolecularGraph.pi_electronMethod
pi_electron(mol::SimpleMolGraph) -> Vector{Int}

Returns a vector of size $n$ representing the number of $\pi$ electrons of 1 to $n$th atoms of the given molecule.

The number of $\pi$ electrons is calculated as valence - connectivity. Typically, each atom connected to double bonds adds one pi electron for each, and each atom connected to a triple bond adds two pi electrons.

source
MolecularGraph.ring_countMethod
ring_count(mol::MolGraph) -> Vector{Int}

Return a vector of size $n$ representing the number of sssr that 1 to $n$th atoms of the given molecule belong to.

This property corresponds to SMARTS R query.

source
MolecularGraph.smallest_ringMethod
smallest_ring(mol::SimpleMolGraph) -> Vector{Int}

Return a vector of size $n$ representing the size of the smallest sssr that 1 to $n$th atoms of the given molecule belong to.

If the node is not in a ring, the value would be 0. This property corresponds to SMARTS r query.

source
MolecularGraph.total_hydrogensMethod
total_hydrogens(mol::SimpleMolGraph) -> Vector{Int}

Return a vector of size $n$ representing the number of total hydrogens (implicit and explicit) connected to 1 to $n$th atoms of the given molecule.

This property corresponds to SMARTS H query.

source
MolecularGraph.valenceMethod
valence(mol::SimpleMolGraph) -> Vector{Int}

Return a vector of size $n$ representing the intrinsic valence of 1 to $n$th atoms of the given molecule.

The number of implicit hydrogens would be calculated based on the valence. The valence of a hypervalent atom or a non-organic atom is the same as its apparent_valence. This property corresponds to SMARTS v query.

source
MolecularGraph.which_fused_ringMethod
which_fused_ring(mol::SimpleMolGraph) -> Vector{Vector{Int}}

Return a vector of size $n$ representing fused_rings membership of 1 to $n$th atoms of the given molecule.

Fused ring membership is represented as a set of fused ring indices assigned to each fused rings. This means atoms that have the same fused ring index belong to the same fused ring.

source
MolecularGraph.which_ringMethod
which_ring(mol::SimpleMolGraph) -> Vector{Vector{Int}}

Return a vector of size $n$ representing sssr membership of 1 to $n$th nodes of the given graph.

SSSR membership is represented as a vector of SSSR indices assigned to each rings. This means nodes that have the same SSSR index belong to the same SSSR.

source
MolecularGraph.wclogpMethod
wclogp(mol::GraphMol) -> Float64

Return predicted logP value calculated by using Wildman and Crippen method.

Reference

  1. Wildman, S. A. and Crippen, G. M. (1999). Prediction of Physicochemical Parameters by Atomic Contributions. Journal of Chemical Information and Modeling, 39(5), 868–873. https://doi.org/10.1021/ci990307l
source