Product: Chem3D
Do you have any further documentation on the topological calculations?
Name  Type  Ref.  Description 
Formula 
string 
Molecular Formula 

Weight 
double 
Molecular weight, using average atomic masses 

ExactMass 
double 
Molecular weight, using commonest isotopes 

int 
Returns the adjacency value for a pair of atoms. 

ccMatrix 
The distance matrix stores the shortest path between all pairs of atoms. 

int 
Returns an element of the distance matrix: the shortest path between two atoms. 

int 
Number of heavy atoms attached to an atom. 

int 
Sum of adjacent bond orders, including to hydrogens. 

int 
Number of adjacent hydrogens, both implicit and explicit. 

int 
Number of fundamental rings. 

int  1 
How far from center an atom resides. 

int  1 
Longest dimension of molecule. 

int  1 


double  1 


int 
Number of valence electrons of a given element 

double  5 


double 


double 


double 


double 


double  5 


Total Valence Connectivity  double  5 

int 
Measures number of clusters 

double 
Measures branching 

double 
Atom size parameter. Reflects varying atom types. 

double 


double 


int 


int 
Average distance sum connectivity 

int  2,3 


double 


int 

Details
Adjacency Matrix. An element Aij in the adjacency matrix has value 1 if atom i is adjacent to atom j, zero otherwise. If i=j, the value is zero.
int AdjacencyMatrix (ATOMNO a_1, ATOMNO a_2) const;
The distance matrix (D) stores the length of the shortest path between one atom and another. Dij is the path length from atom i to atom j. Distance() simply returns an element of the matrix.
const ccMatrix& DistanceMatrix()
const;
int Distance (ATOMNO a_1, ATOMNO a_2) const;
An atom's degree is the number of nonhydrogen atoms to which it is adjacent. Its valence is equal to the sum of its adjacent bonds' orders, including hydrogens. NumHydrogens() is the number of attached hydrogens (both implicit and explicit). The cyclomatic number, also known as FrereJacques' number, counts the number of fundamental rings, and is equal to NB  NA + 1, where NB=#bonds, NA=#atoms.
int Degree (ATOMNO a) const;
int Valence (ATOMNO a) const;
int NumHydrogens (ATOMNO a) const;
int CyclomaticNumber() const;
The eccentricity of an atom is the largest value in its row (or column) of the distance matrix, and represents how far away from the molecular center it resides.
The diameter (D) is the maximum such value for all atoms, and is held by the most outlying atom(s). Examples: Diameter: methane = 0; ethane = 1; propane = 2; nbutane = 3.
The radius (R) is the minimum such value, and is held by the most central atom(s). Examples: Radius: methane = 0; ethane = 1; propane = 1; nbutane = 2.
The shape coefficient (I) is given by:
I = (D  R) / R
E.g. methane is undefined; ethane = (11)/1=0; propane = (21)/1=2; butane = (31)/1 = 2; isobutane = (21)/1 = 2; anthracene = (74)/4 = 0.75. These functions are described in Ref.1.
int Eccentricity (ATOMNO a)
const;
int Diameter() const;
int Radius() const;
ccSet CentralAtoms() const;
double ShapeCoefficient() const;
NumValenceElectrons returns the number of valence electrons of a given element.
int NumValenceElectrons (int atomicNumber) const;
The valence degree is affected by the atomic number. For atom i:
VDi = (ZVi  Hi) / (Zi  ZVi  1)
where ZV is the # of valence electrons (e.g. 1 for H, Li and Na, 3 for B, Al,
Sc),
H is the number of adjacent hydrogens,
and Z is the atomic number.
For first row elements, the equation simplifies to:
VDi(first row) = ZVi  Hi
See Ref.5. Example: Carbon in H2NCH3 is (4  3) / (6  4  1) = 1
We need to clarify if deuteria count as hydrogens or heavy elements.
double ValenceDegree (ATOMNO a) const;
The connectivity index of order D is the sum over all clusters of order D+1 of the square root of the product of the degrees of the atoms in the cluster:
CId = Sum[over all clusters of order D] sqrt (Degree_1 * Degree_2 * ... Degree_D)
where Degree_n is the degree of the n'th atom in the cluster. The firstorder connectivity index is known as the Randic index [Ref.4].
double ConnectivityIndex (int degree) const;
The valence connectivity index is like the connectivity index, but the valence degree is used in place of the simple degree.
double ValenceConnectivityIndex (int degree) const;
The sumofdegrees is the sum of the degrees of every atom.
int SumOfDegrees() const;
The Sumofvalencedegrees is like the sum of the degrees, but uses the valence degree.
double SumOfValenceDegrees() const;
The total (valence) connectivity is the (valence) connectivity considered over all the heteroatoms [Ref.5].
double TotalConnectivity()
const;
double
TotalValenceConnectivity() const;
The path count (cluster count) is the number of paths of a given length. In fact, we count clusters which are a superset of the paths.
int ClusterCount (int order) const;
The shape attribute (kappa) measures the branching of a molecule, and is scaled so as to fall between the minimum and maximum values possible for the given order. The firstorder shape attribute counts the number of onebond paths. The secondorder attribute counts the number of twobond paths, etc. Only the first three orders (1..3) are available.
double ShapeAttribute (int order) const;
A molecule's atom size parameter (alpha) reflects its varying atom types:
Alpha = Sum[over all atoms i] (Ri / Rc)  1
where Ri is the covalent radius of atom i, and Rc is the covalent radius of an sp3hybridized carbon. The argument "atomsCovalentRadii" must be provided. It contains the covalent radius of the atoms, and is indexed by atom number, 0..NA1.
double AtomSizeParameter (const double *atomsCovalentRadii, const double carbonSp3Radius = 1.4) const;
The shape attribute can take the atom sizes into account.
double ShapeAttribute_AtomEncoded (int order, const double *atomsCovalentRadii, const double carbonSp3Radius = 1.4) const;
The flexibility index is defined as:
Phi = ShapeAttribute_AtomEncoded(1) * ShapeAttribute_AtomEncoded(2) / n,
where n is the number of atoms.
double FlexibilityIndex (const double *atomsCovalentRadii, const double carbonSp3Radius = 1.4) const;
The Wiener Index also provides some measure of branching, and is defined as:
1/2 Sum (Dij)
where Dij are the offdiagonal elements of the distance matrix.
int WienerIndex() const;
The Balaban Index (J), the average distance sum connectivity, is:
J = NB * Sum sqrt (XiXj) / (F + 1)
where F is the cyclomatic number (#edges  #vertices + 1), and Xi is the distance sum, i.e., the sum of the entries in row (or column) "i" of the distance matrix.
double BalabanIndex() const;
The Molecular Topological Index (MTI) [Ref.2,Ref.3] is defined as:
MTI = Sum[j=1..NA] Ej
Ej = Sum[i=1..NA] Vi (Aij + Dij)
where Vi is atom i's valence, Aij is the element in the adjacency matrix, and Dij is the element in the distance matrix.
int MolecularTopologicalIndex() const;
Calculation of the polar surface area is based on fragment contributions (TPSA).
Peter Ertl, Novartis Pharma AG, Basel, August 2000.
peter.ertl@pharma.novartis.com 
peter.ertl@altavista.net
The program uses the SMILES Daylight Toolkit module. For a description of the methodology see:
P. Ertl, B. Rohde, P. Selzer, "Fast Calculation of Molecular Polar Surface Area as a Sum of Fragmentbased Contributions and Its Application to the Prediction of Drug Transport Properties", J.Med.Chem. 43, 37143717, 2000.
double PolarSurfaceArea() const;
A rotatable bond is defined as an acyclic bond that is drawn as a single bond (amide CN bonds, O=CN, *are* rotatable) where the atom on each end has at least one other nonhydrogen substituent.
int NumberOfRotatableBonds() const;
References
1. Michel Petijean, "Applications of the RadiusDiameter Diagram to the Classification of Topological and Geometrical Shapes of Chemical Compounds", JCICS 32, 331337 (1992).
2. Schultz, H.P, "Topological Organic Chemistry. 1. Graph Theory and Topological Indices of Alkanes", JCICS 29, 227228 (1989).
3. Klein, Mihalic & Trinajstic, "Molecular Topological Index: A Relation with the Wiener Index", JCICS 32, 304305 (1992).
4. Randic, M. "On Characterization of Molecular Branching", J.Am.Chem.Soc. 1975, 97, 6609.
5. Lionello Pogliani, "Modeling Properties with HigherLevel Molecular Connectivity Descriptors", JCICS 1999, 39, 104111.
Comments
0 comments
Article is closed for comments.