Preprocessing
MolecularGraph.trivialhydrogens
— Method.trivialhydrogens(mol::MolGraph) -> Set{Int}
Return a set of trivial hydrogen nodes (light hydrogen which is uncharged, non-radical, non-stereospecific and attached to organic heavy atoms)
MolecularGraph.allhydrogens
— Method.allhydrogens(mol::MolGraph) -> Set{Int}
Return a set of hydrogen nodes.
MolecularGraph.largestcomponent
— Method.largestcomponent(mol::MolGraph) -> Set{Int}
Return a set of nodes in the largest connected component.
MolecularGraph.neutralize_acids!
— Method.neutralize_acids!(mol::VectorMol)
Neutralize oxo(thio) acids.
Note that this function edits Atom
object fields directly. The molecular property vector needs recalculation to apply the changes. see canonicalize!
.
MolecularGraph.neutralize_oniums!
— Method.neutralize_oniums!(mol::VectorMol)
Neutralize 1-3° oniums. Permanently charged quart-oniums are not neutralized.
Note that this function edits Atom
object fields directly. The molecular property vector needs recalculation to apply the changes. see canonicalize!
.
MolecularGraph.depolarize!
— Method.depolarize!(mol::VectorMol)
Depolarize oxo groups except in the case that polarization is required for aromaticity.
Note that this function edits Atom
object fields directly. The molecular property vector needs recalculation to apply the changes. see canonicalize!
.
MolecularGraph.triplebond_anion!
— Method.triplebond_anion!(mol::VectorMol)
Canonicalize anions next to triple bonds (ex. [C-][N+]#N -> C=[N+]=[N-]).
Note that this function edits Atom
object fields directly. The molecular property vector needs recalculation to apply the changes. see canonicalize!
.
MolecularGraph.canonicalize!
— Method.canonicalize!(mol::VectorMol)
Canonicalize molecule notation and apply the changes to the molecular property vector.
- Neutralize oxo acid, 1-3° ammonium and polarized carbonyls except in the case that polarization is required for aromaticity.
- Canonicalize anions next to triple bonds (ex. [C-][N+]#N -> C=[N+]=[N-])