Preprocessing

Preprocessing

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)

source
allhydrogens(mol::MolGraph) -> Set{Int}

Return a set of hydrogen nodes.

source
largestcomponent(mol::MolGraph) -> Set{Int}

Return a set of nodes in the largest connected component.

source
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!.

source
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!.

source
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!.

source
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!.

source
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-])
source