Previous  TOC  NextAtomicDescriptors/EStateValuesDescriptors.pmCode | PDF | PDFA4




use AtomicDescriptors::EStateValuesDescriptors;

use AtomicDescriptors::EStateValuesDescriptors qw(:all);


EStateValuesDescriptors class provides the following methods:

new, GenerateDescriptors, StringifyEStateValuesDescriptors

EStateValuesDescriptors is derived from AtomicValues class which in turn is derived from ObjectProperty base class that provides methods not explicitly defined in EStateValuesDescriptors, AtomicValues or ObjectProperty classes using Perl's AUTOLOAD functionality. These methods are generated on-the-fly for a specified object property:

$PropertyValue = Get<PropertyName>();

For calculation of electrotopological state (E-state) values for non-hydrogen atoms:


N = Principal quantum number or period number corresponding to
     element symbol

Sigma = Number of sigma electrons involves in bonds to hydrogen and
         non-hydrogen atoms attached to atom = Number of sigma bonds to hydrogen and non-hydrogen atoms
         attached to atom
PI = Number of PI electrons involved in bonds to non-hydrogen atoms attached to atom = Number of PI bonds to non-hydrogen atoms attached to atom

LP = Number of lone pair electrons on atom

Zv = Number of electrons in valence shell of atom

X = Number of non-hydrogen atom neighbors or heavy atoms attached
     to atom
H = Number of implicit and explicit hydrogens for atom

Delta = Number of sigma electrons involved to bonds to non-hydrogen
DeltaV = ValenceDelta = Number of valence shell electrons not involved in bonding to hydrogen atoms

Ii = Intrinsic state value for atom i

DeltaIi = Sum of perturbations to intrinsic state value Ii of atom i by all other atoms besides atom i

DeltaIij = Perturbation to intrinsic state value Ii of atom i by atom j

Dij = Graph/bond distance between atom i and j
Rij = Dij + 1

Si = E-state value for atom i


Delta = Sigma - H = X

DeltaV = Zv - H = Sigma + PI + LP - H

Ii = ( ( ( 2 / N ) ** 2 ) * DeltaV + 1 ) / Delta

DeltaIi = SUM ( (Ii - Ij) / (Rij ** 2) ) for j = 1 to num of atoms skipping atom i

Si = Ii + DeltaIi

The current release of MayaChemTools doesn't support calculation of E-state values [ Ref 75-78 ] for hydrogens.


$NewEStateValuesDescriptors = new AtomicDescriptors:: EStateValuesDescriptors(%NamesAndValues);

Using specified EStateValuesDescriptors property names and values hash, new method creates a new object and returns a reference to newly created EStateValuesDescriptors object. By default, the following properties are initialized:

Molecule = ''
Type = 'EState'
IgnoreHydrogens = 1


$EStateValuesDescriptors = new AtomicDescriptors::EStateValuesDescriptors( 'Molecule' => $Molecule, 'IgnoreHydrogens' => 1);

Calculates E-state atomic descriptors for all the atoms in a molecule and returns EStateValuesDescriptors.

$String = $EStateValuesDescriptors->StringifyEStateValuesDescriptors();

Returns a string containing information about EStateValuesDescriptors object.


Manish Sud



Copyright (C) 2023 Manish Sud. All rights reserved.

This file is part of MayaChemTools.

MayaChemTools is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.



Previous  TOC  NextJuly 24, 2023AtomicDescriptors/