Package schrodinger :: Package application :: Package canvas :: Module topo_descriptors :: Class TopologicalDescriptors
[hide private]
[frames] | no frames]

Class TopologicalDescriptors

object --+
         |
        TopologicalDescriptors

Instance Methods [hide private]
 
__init__(self, default_descriptor_value=None)
Initializes valid topological descriptors, and creates an empty cached property dictionary.
list of str
allDescriptorFullLabels(self)
Returns all topological descriptor labels as label-key string
structure.Structure
calculateTopologicalDescriptors(self, st, descriptor_strings)
Calculates a set of topological descriptors for a given structure.
str
m2ioPropertyName(self, descriptor)
Create descriptor m2io property name for a Descriptor.
structure.Structure
_extractSingleStructure(self, st)
Extracts a single structure if more than one is present.
Descriptor
_findDescriptorEntry(self, desc_str)
Locates the corresponding Descriptor in the class tuple of Descriptors.
str
_makeFullLabel(self, descriptor)
Create complete descriptor label-key string
one of {float, int, bool, str}
_evaluateDescriptor(self, descriptor, st)
Evalulates a descriptor for a given structure.
 
_getDescriptorEntries(self)
Returns set of valid descriptor tuples in the form of: (descriptor key, descriptor label, function mapping)
 
_assertMultipleHeavyAtoms(self, st)
Raises a TopoError if the structure has only one heavy atom
 
_assertPathLength(self, st, m)
Raises a TopoError if the structure does not have any paths of length m
 
_getFirstZagrebIndex(self, st)
Handbook p.
 
_getFirstZagrebValenceIndex(self, st)
Handbook p.
 
_getSecondZagrebIndex(self, st)
Handbook p.
 
_getSecondZagrebValenceIndex(self, st)
Handbook p.
 
_getPolarityNumber(self, st)
Handbook p.
 
_getSimpleTopologicalIndex(self, st)
Handbook p.
 
_getHarmonicTopologicalIndex(self, st)
Handbook p.
 
_getGeometricTopologicalIndex(self, st)
Handbook p.
 
_getTotalStructureConnectivityIndex(self, st)
Handbook p.
 
_wienerOperator(self, matrix)
Handbook p.
 
_getWienerIndex(self, st)
Handbook p.
 
_getMeanWienerIndex(self, st)
Handbook p.
 
_getXuIndex(self, st)
Handbook p.
 
_getQuadraticIndex(self, st)
Handbook p.
 
_getRadialCentricInformationIndex(self, st)
Handbook p.
 
_getMeanSquareDistanceIndex(self, st)
Handbook p.
 
_getSuperpendenticIndex(self, st)
Handbook p.
 
_getHararyIndex(self, st)
Handbook p.
 
_getLogPRSIndex(self, st)
Handbook p.
 
_getPoglianiIndex(self, st)
Handbook p.
 
_baseSchultzIndex(self, st, vertex_func)
Handbook p.
 
_getSchultzMolecularTopologicalIndex(self, st)
Handbook p.
 
_getSchultzMolecularTopologicalValenceIndex(self, st)
Handbook p.
 
_getMeanDistanceDegreeDeviation(self, st)
Handbook p.
 
_getRamificationIndex(self, st)
Handbook p.
 
_baseGutmanIndex(self, st, vertex_func)
Handbook p.
 
_getGutmanMolecularTopologicalIndex(self, st)
Handbook p.
 
_getGutmanMolecularTopologicalValenceIndex(self, st)
Handbook p.
 
_getAverageDistanceDegree(self, st)
Handbook p.
 
_getUnipolarity(self, st)
Handbook p.
 
_getCentralization(self, st)
Handbook p.
 
_getVariation(self, st)
Handbook p.
 
_getMolecularElectrotopologicalVariation(self, st)
Adopted from DRAGON: molecular electrotopological variation
 
_getMaximalElectrotopologicalPositiveVariation(self, st)
Adopted from DRAGON: maximal electrotopological positive variation
 
_getMaximalElectrotopologicalNegativeVariation(self, st)
Adopted from DRAGON: maximal electrotopological negative variation
 
_getEccentricConnectivityIndex(self, st)
Handbook p.
 
_getEccentricity(self, st)
Handbook p.
 
_getAverageEccentricity(self, st)
Handbook p.
 
_getEccentric(self, st)
Handbook p.
 
_getValenceConnectivityIndex(self, st, m)
Handbook p.
 
_getMeanValenceConnectivityIndex(self, st, m)
Handbook p.
 
_getQuasiWienerIndex(self, st)
Handbook p.
 
_getFirstMoharIndex(self, st)
Handbook p.
 
_getSecondMoharIndex(self, st)
Handbook p.
 
_getSpanningTreeNumber(self, st)
Handbook p.
 
_getBenzeneLikelinessIndex(self, st)
Handbook p.
 
_getTopologicalChargeIndex(self, st, k)
Handbook p.
 
_getMeanTopologicalChargeIndex(self, st, k)
Handbook p.
 
_getGlobalTopologicalChargeIndex(self, st)
Handbook p.
 
_getHyperDistancePathIndex(self, st)
Handbook p.
 
_getReciprocalHyperDistancePathIndex(self, st)
Handbook p.
 
_getSquareReciprocalDistanceSumIndex(self, st)
Handbook p.
 
_getModifiedRandicIndex(self, st)
Handbook p.
 
_getBalabanCentricIndex(self, st)
Handbook p.
 
_getLoppingCentricInformationIndex(self, st)
Handbook p.
 
_getKierHallElectronegativitySum(self, st)
Handbook p.
 
_getTopologicalDistanceSum(self, st, elem1, elem2)
Adopted from DRAGON: sum of topological distances between all pairs of given atom types.
 
_getBaryszWeinerTypeIndex(self, st)
Handbook p.
 
_getElectronegativityWienerTypeIndex(self, st)
Handbook p.
 
_getMassWienerTypeIndex(self, st)
Handbook p.
 
_getVDWVolumeWienerTypeIndex(self, st)
Handbook p.
 
_getPolarizabilityWienerTypeIndex(self, st)
Handbook p.
 
_getBaryszIndex(self, st)
Handbook p.
 
_getElectronegativityBalabanTypeIndex(self, st)
Handbook p.
 
_getMassBalabanTypeIndex(self, st)
Handbook p.
 
_getVDWVolumeBalabanTypeIndex(self, st)
Handbook p.
 
_getPolarizabilityBalabanTypeIndex(self, st)
Handbook p.
 
_getTopologicalDiameter(self, st)
Handbook p.
 
_getTopologicalRadius(self, st)
Handbook p.
 
_getPetitjeanShapeIndex(self, st)
Handbook p.
 
_getBalabanDistanceConnectivityIndex(self, st)
Handbook p.
 
_getSolvationConnectivityIndex(self, st, m)
Handbook p.
 
_getConnectivityIndex(self, st, m)
Handbook p.
 
_getMeanConnectivityIndex(self, st, m)
Handbook p.
 
_getRDCHIIndex(self, st)
Handbook p.
 
_getRDSQIndex(self, st)
Handbook p.
 
_getKierAlphaModifiedShapeIndex(self, st, m)
Handbook p.
 
_getKierMolecularFlexibilityIndex(self, st)
Handbook p.
 
_getMolecularPathWalkIndex(self, st, m)
Handbook p.
 
_getEStateIndex(self, st)
Molecular Descriptors p.
 
_getChiralAtomCount(self, st)
Unknown source: number of chiral atoms -- count chiral atoms labeled with either R or S (ignoring ANR and ANS).
 
_getRingCount(self, st, n)
Adopted from DRAGON: number of rings of heavy atom count n
 
_getAtomCount(self, st)
Handbook p.
 
_getBondCount(self, st)
Handbook p.
 
_getRingAtomCount(self, st)
Molecular Descriptors p.
 
_getRingBondCount(self, st)
Molecular Descriptors p.
 
_getNumberRingSystems(self, st)
Molecular Descriptors p.
 
_getNormalizedNumberRingSystems(self, st)
Molecular Descriptors p.
 
_getRingFusionDegree(self, st)
Molecular Descriptors p.
 
_getTotalRingSize(self, st)
Molecular Descriptors p.
 
_getRingPerimeter(self, st)
Molecular Descriptors p.
 
_getRingBridges(self, st)
Molecular Descriptors p.
 
_getMolecularCyclizedDegree(self, st)
Molecular Descriptors p.
 
_getRingFusionDensity(self, st)
Molecular Descriptors p.
 
_getRingComplexityIndex(self, st)
Molecular Descriptors p.
 
_getTotalVDWSurfaceArea(self, st)
Molecular Descriptors p.
 
_getPVSAMolarRefractivity(self, st, n)
Molecular Descriptors p.
 
_getPVSAlogP(self, st, n)
Molecular Descriptors p.
 
_getPVSAPartialCharges(self, st, n)
Molecular Descriptors p.
 
_getHeavyStructure(self, st)
Handbook p.
 
_getFullStructure(self, st)
Fully hydrogenated molecule.
 
_getChmMol(self, st)
 
_getHydrogenCount(self, st, heavy_atom_index)
Handbook p.
 
_getAtomIndices(self, st)
Returns list of atom indices, which are 1-based.
 
_getAtomPairs(self, st)
Returns list of all pairs of atom indices, which are 1-based.
 
_getBondIndices(self, st)
Returns list of bond index tuples, which are 1-based.
 
_getAdjacencyMatrix(self, st)
Handbook p.
 
_getVertexDegree(self, st, atom_index)
Handbook p.
 
_getSimpleValenceVertexDegree(self, st, atom_index)
Handbook p.
 
_getValenceVertexDegree(self, st, atom_index)
Handbook p.
 
_getShortestPath(self, st, index1, index2)
Returns the shortest path from atom index1 to atom index2, inclusive.
 
_getDistanceMatrix(self, st)
Handbook p.
 
_getReciprocalDistanceMatrix(self, st)
Handbook p.
 
_getReciprocalSquareDistanceMatrix(self, st)
Handbook p.
 
_getVertexDistanceDegree(self, st, atom_index)
Handbook p.
 
_getAtomEccentricity(self, st, atom_index)
Handbook p.
 
_getDistanceCount(self, st, distance)
Handbook p.
 
_getReciprocalDistanceSum(self, st, atom_index)
Handbook p.
 
_getConnectivityPaths(self, st)
Handbook p.
 
_getCyclomaticNumber(self, st)
Handbook p.
 
_getIntrinsicStates(self, st)
Handbook p.
 
_getFieldEffects(self, st, k=2)
Handbook p.
 
_getLaplacianEigenvalues(self, st)
Handbook p.
 
_getChargeTermMatrix(self, st)
Handbook p.
tuple of structure.StructureBond
_getAromaticBonds(self, st)
Collects all bonds in the heavy atom structure that are aromatic.
 
_getConventionalBondOrder(self, st, i, j)
Handbook p.
 
_getMultigraphDistanceMatrix(self, st, carbon_weight, atom_weights)
Handbook p.
 
_getBaryszDistanceMatrix(self, st)
Handbook p.
 
_getElectronegativityDistanceMatrix(self, st)
Molecular Descriptors p.
 
_getMassDistanceMatrix(self, st)
Molecular Descriptors p.
 
_getVDWVolumeDistanceMatrix(self, st)
Molecular Descriptors p.
 
_getPolarizabilityDistanceMatrix(self, st)
Molecular Descriptors p.
 
_getAtomicWalkCounts(self, st, k)
Handbook p.
 
_getVDWSurfaceArea(self, st)
Molecular Descriptors p.
 
_balbanOperator(self, st, matrix)
Handbook p.
 
_centricIndexSum(self, st, value_function, centric_function)
Calculates atom centric index based on an atomic property function and a base function of the centric index sum.
 
_generalizedConnectivityIndex(self, st, m, vertex_func, exponent)
Handbook p.
 
_propertyRangeVDWSurfaceArea(self, st, properties, intervals, n)
Molecular Descriptors p.

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, default_descriptor_value=None)
(Constructor)

 

Initializes valid topological descriptors, and creates an empty cached property dictionary.

Overrides: object.__init__

allDescriptorFullLabels(self)

 

Returns all topological descriptor labels as label-key string

Returns: list of str
list of all descriptors as "Label (Key)" strings

calculateTopologicalDescriptors(self, st, descriptor_strings)

 

Calculates a set of topological descriptors for a given structure.

Parameters:
  • st (structure.Structure) - structure to consider
  • descriptor_strings (list of str) - list of descriptors to calculate
Returns: structure.Structure
Structure copy appended with successful descriptor properties

m2ioPropertyName(self, descriptor)

 

Create descriptor m2io property name for a Descriptor.

Parameters:
Returns: str
m2io formatted descriptor property name

_extractSingleStructure(self, st)

 

Extracts a single structure if more than one is present.

Parameters:
Returns: structure.Structure
Structure consisting of single largest molecule

_findDescriptorEntry(self, desc_str)

 

Locates the corresponding Descriptor in the class tuple of Descriptors. Looks for Descriptor based on matching the passed string to any of the key, label, or "label (key)" strings.

Parameters:
  • desc_str (str) - input descriptor string
Returns: Descriptor
Descriptor namedtuple
Raises:
  • TopoError - If the descriptor entry could not be found

_makeFullLabel(self, descriptor)

 

Create complete descriptor label-key string

Parameters:
Returns: str
full descriptor label

_evaluateDescriptor(self, descriptor, st)

 

Evalulates a descriptor for a given structure. If successful, the value is cast to the expected type before returning.

Parameters:
Returns: one of {float, int, bool, str}
descriptor value, cast to the appropriate return type
Raises:
  • TopoError - If the descriptor cast-type was unrecognized

_getDescriptorEntries(self)

 

Returns set of valid descriptor tuples in the form of:
  (descriptor key, descriptor label, function mapping)

@return: set of available topological descriptor mappings
@rtype: set of tuples

_getFirstZagrebIndex(self, st)

 

Handbook p. 509: First Zagreb index (M_1) -- topological index based on atomic vertex degrees. The first index in strictly related to zero-order connectivity index. Also called the Gutman index.

Decorators:
  • @cached_topo_descriptor

_getFirstZagrebValenceIndex(self, st)

 

Handbook p. 509: First valence Zagreb index (M^v_1) -- topological index based on atomic valence vertex degrees. The first index in strictly related to zero-order connectivity index.

Decorators:
  • @cached_topo_descriptor

_getSecondZagrebIndex(self, st)

 

Handbook p. 509: Second Zagreb index (M_2) -- topological index based on atomic vertex degrees. The second index in strictly related to first-order connectivity index; it is part of the Schuttz molecular topological index.

Decorators:
  • @cached_topo_descriptor

_getSecondZagrebValenceIndex(self, st)

 

Handbook p. 509: Second valence Zagreb index (M^v_2) -- topological index based on atomic valence vertex degrees. The second index in strictly related to first-order connectivity index.

Decorators:
  • @cached_topo_descriptor

_getPolarityNumber(self, st)

 

Handbook p. 114: polarity number (p_2) -- also known as Wiener polarity number; the number of pairs of graph vertices which are separated by three edges. It is usually assumed that the polarity number accounts for the flexibility of acyclic structures, p being equal to the number of bonds around which free rotations can take place.

Decorators:
  • @cached_topo_descriptor

_getSimpleTopologicalIndex(self, st)

 

Handbook p. 476: simple topological index (S) -- descriptor related to molecular branching, proposed as the product of the vertex degrees for each atom [Narumi, 1987]. NOTE: Take the natural log to avoid overflow.

Decorators:
  • @cached_topo_descriptor

_getHarmonicTopologicalIndex(self, st)

 

Handbook p. 476: harmonic topological index (H) -- descriptor related to the simple topological index [Narumi, 1987].

Decorators:
  • @cached_topo_descriptor

_getGeometricTopologicalIndex(self, st)

 

Handbook p. 476: geometric topological index (G) -- descriptor related to the simple topological index [Narumi, 1987].

Decorators:
  • @cached_topo_descriptor

_getTotalStructureConnectivityIndex(self, st)

 

Handbook p. 86: total structure connectivity index -- connectivity index contemporarily accounting for all the atoms in the graph. This is the square root of the simple topological index proposed by Narumi for measuring molecular branching. (Handbook misprint: inverse square root)

Decorators:
  • @cached_topo_descriptor

_wienerOperator(self, matrix)

 

Handbook p. 9, Wiener operator W(M) -- half the sum of the off-diagonal entries of the matrix M; name taken from the Wiener index.

_getWienerIndex(self, st)

 

Handbook p. 497: Wiener index (W) -- the sum over all bonds of the product of the number of vertices on each side of the bond; ie. the sum of all topological distancesinthe H-depleted molecular graph. Also known as the Weiner number.

Decorators:
  • @cached_topo_descriptor

_getMeanWienerIndex(self, st)

 

Handbook p. 497: mean Wiener index (W_bar) -- defined from the Wiener index as 2 * W / (A * (A - 1))

Decorators:
  • @cached_topo_descriptor

_getXuIndex(self, st)

 

Handbook p. 507: Xu index -- descriptor accounting for molecular size and branching. Defined as sqrt(A) * ln(L), where L represents the valence average topological distance calculated by vertex degree and vertex distance degree of all atoms. NOTE: Use natural log (comparable to E-DRAGON)

Decorators:
  • @cached_topo_descriptor

_getQuadraticIndex(self, st)

 

Handbook p. 44: quadratic index (Q) -- obtained by normalization of the first Zagreb index. Also called normalized quadratic index.

Decorators:
  • @cached_topo_descriptor

_getRadialCentricInformationIndex(self, st)

 

Handbook p. 44: radial centric information index (I^V_C,R) -- defined as the lopping centric information index, but where ng is the number of graph vertices having the same atom eccentricity.

Decorators:
  • @cached_topo_descriptor

_getMeanSquareDistanceIndex(self, st)

 

Handbook p. 113: mean square distance index (MSD) -- calculated from the second order distance distribution moment [Balaban, 1983a]. NOTE: Handbook misprint -- the square root should encompass [A * (A-1)]

Decorators:
  • @cached_topo_descriptor

_getSuperpendenticIndex(self, st)

 

Handbook p. 431: superpendentic index -- calculated from the pendent
matrix, which is a submatrix of the distance matrix which is to the
number of atoms by the number of terminal vertices. The superpendentic
index is calculated as the square root of the sum of the products of
the nonzero row elements in the pendent matrix.
NOTE: As with DRAGON, instead of returning sqrt of sum of ow products:
    pow(sum(numpy.prod(pendent_matrix, axis=1)), 0.5)
we avoid overflow by returning the sqrt of sum of log(row products)

Decorators:
  • @cached_topo_descriptor

_getHararyIndex(self, st)

 

Handbook p. 209: Harary index (H) -- topological index derived from the reciprocal distance matrix by the Wiener operator (Harary number)

Decorators:
  • @cached_topo_descriptor

_getLogPRSIndex(self, st)

 

Handbook p. 116: Log of PRS index -- log(Product of Row Sums index) defined as the lof of the product of the vertex distance degrees. Taking the log is preferred due to the large values that can be reached by the PRS index. NOTE: As per Handbook, log is base 10

Decorators:
  • @cached_topo_descriptor

_getPoglianiIndex(self, st)

 

Handbook p. 116: Pogliani index (D^nu) -- sum of the ratio of the number of valence electrons to the principal quantum number for each atom.

Decorators:
  • @cached_topo_descriptor

_baseSchultzIndex(self, st, vertex_func)

 

Handbook p. 381: Schultz molecular topological index (MTI) -- index derived from the adjacency and distance matrices, defined as the sum over (A+D).v intricacy numbers. NOTE: Handbook decomposes the index into two parts, a sum of square vertex degrees and vertex degree-vertex distance degree products, and erroneously labels the former as "the second Zagreb index". The sum for M2 is over only bonded pair i-j, whereas here is over ALL i-j pairs.

Parameters:
  • vertex_func (f(st, index)) - vertex degree function

_getSchultzMolecularTopologicalIndex(self, st)

 

Handbook p. 381: Schultz molecular topological index (MTI) -- molecular topological index calculated using the vertex degree.

Decorators:
  • @cached_topo_descriptor

_getSchultzMolecularTopologicalValenceIndex(self, st)

 

Handbook p. 382: Schultz molecular topological valence index (MTI^v) -- a vertex-valency-weighted analogue to the Schultz molecular topological index calculated using the valence vertex degree.

Decorators:
  • @cached_topo_descriptor

_getMeanDistanceDegreeDeviation(self, st)

 

Handbook p. 114: mean distance degree deviation (delta sigma) -- the mean devaiationo f the row sum of the distance matrix from its mean.

Decorators:
  • @cached_topo_descriptor

_getRamificationIndex(self, st)

 

Handbook p. 475: ramification index (r) -- a simple ramification index proposed for acyclic graphs, where the sum runs over all the vertex degrees greater than two.

Decorators:
  • @cached_topo_descriptor

_baseGutmanIndex(self, st, vertex_func)

 

Handbook p. 382: Gutman molecular topological index (S_G) -- sum of the topological distance between the vertices vi and vj weighted by the product of the endpoint vertex degrees.

Parameters:
  • vertex_func (f(st, index)) - vertex degree function

_getGutmanMolecularTopologicalIndex(self, st)

 

Handbook p. 382: Gutman molecular topological index (S_G) -- the vertex degree weighted form of S_G.

Decorators:
  • @cached_topo_descriptor

_getGutmanMolecularTopologicalValenceIndex(self, st)

 

Handbook p. 382: Gutman molecular topological valence index (S_G) -- a vertex-valency-weighted analogue of S_G, where the weighting factor is multiplicative.

Decorators:
  • @cached_topo_descriptor

_getAverageDistanceDegree(self, st)

 

Handbook p. 114: average distance degree (sigma^bar) -- average row sum of the distance matrix. Note this is also 2 * (Wiener index) / A.

Decorators:
  • @cached_topo_descriptor

_getUnipolarity(self, st)

 

Handbook p. 114: unipolarity (simga*) -- minimum value of the vertex distance degrees.

Decorators:
  • @cached_topo_descriptor

_getCentralization(self, st)

 

Handbook p. 114: centralization (delta sigma^*) -- molecular invariant immediately derived from the distance matrix.

Decorators:
  • @cached_topo_descriptor

_getVariation(self, st)

 

Handbook p. 114: variation (delta sigma^+) -- molecular invariant immediately derived from the distance matrix.

Decorators:
  • @cached_topo_descriptor

_getMolecularElectrotopologicalVariation(self, st)

 

Adopted from DRAGON: molecular electrotopological variation

Decorators:
  • @cached_topo_descriptor

_getMaximalElectrotopologicalPositiveVariation(self, st)

 

Adopted from DRAGON: maximal electrotopological positive variation

Decorators:
  • @cached_topo_descriptor

_getMaximalElectrotopologicalNegativeVariation(self, st)

 

Adopted from DRAGON: maximal electrotopological negative variation

Decorators:
  • @cached_topo_descriptor

_getEccentricConnectivityIndex(self, st)

 

Handbook p. 124: eccentric connectivity index (xi^C) -- the sum of the products between eccentricity and vertex degree over all atoms.

Decorators:
  • @cached_topo_descriptor

_getEccentricity(self, st)

 

Handbook p. 112: eccentricity (nu) -- sum of atom eccentricities.

Decorators:
  • @cached_topo_descriptor

_getAverageEccentricity(self, st)

 

Handbook p. 112: average atom eccentricity (nu^bar) -- average of atom eccentricities.

Decorators:
  • @cached_topo_descriptor

_getEccentric(self, st)

 

Handbook p. 112: eccentricity (Delta nu) -- mean deviation from average of atom eccentricities.

Decorators:
  • @cached_topo_descriptor

_getValenceConnectivityIndex(self, st, m)

 

Handbook p. 85: connectivity indices of mth order -- usually known as Kier-Hall connectivity indices, defined a general scheme based on the Randic index to also calculate zero-order and higher-order descriptors.

Parameters:
  • m (int) - index order of the connectivity index
Decorators:
  • @cached_topo_descriptor

_getMeanValenceConnectivityIndex(self, st, m)

 

Handbook p. 86: mean valence connectivity indices of mth order -- again, replacing the vertex degree by the valence vertex degree in the similar mean connectivity indices.

Parameters:
  • m (int) - index order of the connectivity index
Decorators:
  • @cached_topo_descriptor

_getQuasiWienerIndex(self, st)

 

Handbook p. 253: quasi-Wiener index (W^*) -- sum of the reciprocal A - 1 positive eigenvalues was proposed as a molecular descriptor. For acyclic graphs, the quasi-Wiener index coincides with the Wiener index, while for cycle-containing graphs the two descriptors differ. Moreover, it has been demonstrated that the quasi-Wiener index coincides with the Kirchhoff number for any graph.

Decorators:
  • @cached_topo_descriptor

_getFirstMoharIndex(self, st)

 

Handbook p. 254: first Mohar indices (TI)_1 -- index derived from the Laplacian matrix.

Decorators:
  • @cached_topo_descriptor

_getSecondMoharIndex(self, st)

 

Handbook p. 254: second Mohar indices (TI)_2 -- index derived from the Laplacian matrix.

Decorators:
  • @cached_topo_descriptor

_getSpanningTreeNumber(self, st)

 

Handbook p. 253: log of spanning tree number (T^*) -- log of the product of the positive A-1 eigenvalues of the Laplacian matrix. NOTE: Take the natural log to avoid overflow.

Decorators:
  • @cached_topo_descriptor

_getBenzeneLikelinessIndex(self, st)

 

Handbook p. 379: benzene-likeliness index -- an aromaticity index based on the first-order valence connectivity index divided by the number of bonds and normalized on the benzene molecule.

Decorators:
  • @cached_topo_descriptor

_getTopologicalChargeIndex(self, st, k)

 

Handbook p. 445: topological charge index (G_k) -- the half-sum of all charge terms corresponding to pair of vertices with topological distance = k and would represent the total charge transfer between atoms placed at topological distance k.

Parameters:
  • k (int) - path length
Decorators:
  • @cached_topo_descriptor

_getMeanTopologicalChargeIndex(self, st, k)

 

Handbook p. 445: mean topological charge index (J_k) -- topological charge index divided by the number of edges in an acyclic molecule. Values are set to zero for k greater than the molecular diameter.

Parameters:
  • k (int) - path length
Decorators:
  • @cached_topo_descriptor

_getGlobalTopologicalChargeIndex(self, st)

 

Handbook p. 445: global topological charge index (J) -- sum over mean topological charge indinces, with the superior limit equal to 5. The value was proposed by the authors to obtain uniform length descriptors. NOTE: Past implementation, as well as DRAGON, sum up to k=10

Decorators:
  • @cached_topo_descriptor

_getHyperDistancePathIndex(self, st)

 

Handbook p. 118: hyper-distance-path index (D_p) -- defined as applying the Wiener operator to the distance-path matrix, where entry i-j of the matrix is calculated from the distance matrix D as all the possible combinations of two elements taken from d_ij + 1 elements (binomial coefficient).

Decorators:
  • @cached_topo_descriptor

_getReciprocalHyperDistancePathIndex(self, st)

 

Handbook p. 118: reciprocal hyper-distance-pathindex (D_p^-1) -- defined in the same was as the hyper-distance-path index, but where elements of the distance-path matrix are reciprocal.

Decorators:
  • @cached_topo_descriptor

_getSquareReciprocalDistanceSumIndex(self, st)

 

Handbook p. 210: square reciprocal distance sum index (Har2) -- the Harary index calculated with the reciprocal squared distance matrix.

Decorators:
  • @cached_topo_descriptor

_getModifiedRandicIndex(self, st)

 

Handbook p. 88: modified Randic index (chi^1_mod) -- sum of atomic properties, accounting for valence electrons and extended connectivities using a Randic connectivity index-type formula.

0.5 * sum_atoms[ sum_atomi_bonds[ Z_i * (delta_i * delta_j) ^ -0.5 ]]

Decorators:
  • @cached_topo_descriptor

_getBalabanCentricIndex(self, st)

 

Handbook p. 42: Balaban centric index (B) -- topological index defined for acyclic graphs based on the pruning of the graph, a stepwise procedure for removing all the terminal vertices.

Decorators:
  • @cached_topo_descriptor

_getLoppingCentricInformationIndex(self, st)

 

Handbook p. 42: lopping centric information index (I_B) -- index defined as the mean information content derived from the pruning of acyclic graphs based on the pruning of the graph, a stepwise procedure for removing all the terminal vertices.

Decorators:
  • @cached_topo_descriptor

_getKierHallElectronegativitySum(self, st)

 

Handbook p. 475: Kier-Hall electronegativity index (KHE) -- sum of Kier-Hall electrotopological states.

Decorators:
  • @cached_topo_descriptor

_getTopologicalDistanceSum(self, st, elem1, elem2)

 

Adopted from DRAGON: sum of topological distances between all pairs of given atom types.

Decorators:
  • @cached_topo_descriptor

_getBaryszWeinerTypeIndex(self, st)

 

Handbook p. 489: index calculated by applying the Wiener operator to the Barysz distance matrix.

Decorators:
  • @cached_topo_descriptor

_getElectronegativityWienerTypeIndex(self, st)

 

Handbook p. 489: index calculated by applying the Wiener operator to the electronegativities weighted distance matrix.

Decorators:
  • @cached_topo_descriptor

_getMassWienerTypeIndex(self, st)

 

Handbook p. 489: index calculated by applying the Wiener operator to the atomic mass weighted distance matrix.

Decorators:
  • @cached_topo_descriptor

_getVDWVolumeWienerTypeIndex(self, st)

 

Handbook p. 489: index calculated by applying the Wiener operator to the van der Waals volume weighted distance matrix.

Decorators:
  • @cached_topo_descriptor

_getPolarizabilityWienerTypeIndex(self, st)

 

Handbook p. 489: index calculated by applying the Wiener operator to the polarizability weighted distance matrix.

Decorators:
  • @cached_topo_descriptor

_getBaryszIndex(self, st)

 

Handbook p. 489: Barysz index (J_het) -- a generalization of the Balaban distance connectivity index calculated by applying the Ivanciuc-Balaban operator to the Barysz distance matrix.

Decorators:
  • @cached_topo_descriptor

_getElectronegativityBalabanTypeIndex(self, st)

 

Handbook p. 489: index calculated by applying the Ivanciuc-Balaban operator to the electronegativities weighted distance matrix.

Decorators:
  • @cached_topo_descriptor

_getMassBalabanTypeIndex(self, st)

 

Handbook p. 489: index calculated by applying the Ivanciuc-Balaban operator to the atomic mass weighted distance matrix.

Decorators:
  • @cached_topo_descriptor

_getVDWVolumeBalabanTypeIndex(self, st)

 

Handbook p. 489: index calculated by applying the Ivanciuc-Balaban operator to the van der Waals volume weighted distance matrix.

Decorators:
  • @cached_topo_descriptor

_getPolarizabilityBalabanTypeIndex(self, st)

 

Handbook p. 489: index calculated by applying the Ivanciuc-Balaban operator to the polarizability weighted distance matrix.

Decorators:
  • @cached_topo_descriptor

_getTopologicalDiameter(self, st)

 

Handbook p. 112: topological diameter (D) -- defined as the maximum atom eccentricity

Decorators:
  • @cached_topo_descriptor

_getTopologicalRadius(self, st)

 

Handbook p. 112: topological radius (R) -- defined as the minimum atom eccentricity

Decorators:
  • @cached_topo_descriptor

_getPetitjeanShapeIndex(self, st)

 

Handbook p. 390: Petitjean shape index (I_2) -- a topological anisometry descriptor, also called a graph-theoretical shape coefficient.

Decorators:
  • @cached_topo_descriptor

_getBalabanDistanceConnectivityIndex(self, st)

 

Handbook p. 21: Balaban distance connectivity index (J) -- defined in
terms of sums over each i th row of the distance matrix as:
    B/(C+1) * sum_bonds[ (vertex dist_i * vertex dist_j) ^ -0.5 ]
It is also called distance connectivity index or average distance sum
connectivity.

Decorators:
  • @cached_topo_descriptor

_getSolvationConnectivityIndex(self, st, m)

 

Handbook p. 88: solvation connectivity indices (m chi^s_q) -- descriptor defined in order to model solvation entropy and describe dispersion interactions in solution.

Decorators:
  • @cached_topo_descriptor

_getConnectivityIndex(self, st, m)

 

Handbook p. 85: connectivity indices of mth order -- usually known as Kier-Hall connectivity indices, defined a general scheme based on the Randic index to also calculate zero-order and higher-order descriptors.

Parameters:
  • m (int) - index order of the connectivity index
Decorators:
  • @cached_topo_descriptor

_getMeanConnectivityIndex(self, st, m)

 

Handbook p. 85: mean connectivity indices of mth order -- the Handbook only describes the mean Randic connectivity index (m=1), defined as the Randic connectivity index divided by the number of bonds. Here, we extrapolate to zero and higher orders

Parameters:
  • m (int) - index order of the connectivity index
Decorators:
  • @cached_topo_descriptor

_getRDCHIIndex(self, st)

 

Handbook p. 116: RDCHI index -- topological index based on a Randic-type formula, which increases with molecular size but decreases with molecular branching.

Decorators:
  • @cached_topo_descriptor

_getRDSQIndex(self, st)

 

Handbook p. 116: RDSQ index -- topological index based on a Randic-type formula, which increases with both molecular size and molecular branching.

Decorators:
  • @cached_topo_descriptor

_getKierAlphaModifiedShapeIndex(self, st, m)

 

Handbook p. 249: Kier alpha-modified shape descriptor (m kappa_alpha) -- descriptor defined in terms of the number of graph vertices A and the number of paths with length (m = 1,2,3). The alpha-modified version takes into account the different shape contribution of heteroatoms and hybridization states.

Decorators:
  • @cached_topo_descriptor

_getKierMolecularFlexibilityIndex(self, st)

 

Handbook p. 178: Kier molecular flexibility index (fi) -- a measure of molecular flexibility derived from the Kier alpha-modified shape descriptors, kappa1 encodes information about the count of atoms and relative cyclicity of molecules, while kappa2 encodes information about branching or relative spatial density of molecules.

Decorators:
  • @cached_topo_descriptor

_getMolecularPathWalkIndex(self, st, m)

 

Handbook p. 393: Molecular path/walk indices -- the average sum of atomic path/walk indices of equal length. Obtained by separately summing all the paths and walks of the same length, and then calculating the ratio between their counts.

Decorators:
  • @cached_topo_descriptor

_getEStateIndex(self, st)

 

Molecular Descriptors p. 42: E-state topological parameter (TI^E) -- derived by applying the Ivanciuc-Balaban operator to the E-state index values. It has to be pointed out that the proposed formula for the E-state topological parameter cannot be used for every molecule because it presents two drawbacks: (1) it cannot be calculated when there exists one atom in the molecule with negative E-state value; (2) it assumes very large values even when one S value tends to zero. To overcome these drawbacks of the original formula, an alternative formula (adopted in the DRAGON descriptors) is used here.

Decorators:
  • @cached_topo_descriptor

_getChiralAtomCount(self, st)

 

Unknown source: number of chiral atoms -- count chiral atoms labeled with either R or S (ignoring ANR and ANS).

Decorators:
  • @cached_topo_descriptor

_getRingCount(self, st, n)

 

Adopted from DRAGON: number of rings of heavy atom count n

Decorators:
  • @cached_topo_descriptor

_getAtomCount(self, st)

 

Handbook p. 16: atom number (A) -- defined as the total number of atoms in a molecule, which refers only to non-hydrogen atoms (atom count).

Decorators:
  • @cached_topo_descriptor

_getBondCount(self, st)

 

Handbook p. 28: bond number (B) -- defined as the number of bonds in the molecule (edge counting; bond count).

Decorators:
  • @cached_topo_descriptor

_getRingAtomCount(self, st)

 

Molecular Descriptors p. 655: (A_R) -- the total number of atoms belonging to rings

Decorators:
  • @cached_topo_descriptor

_getRingBondCount(self, st)

 

Molecular Descriptors p. 655: (B_R) -- the total number of bonds belonging to rings

Decorators:
  • @cached_topo_descriptor

_getNumberRingSystems(self, st)

 

Molecular Descriptors p. 655: number of ring systems (NRS)

Decorators:
  • @cached_topo_descriptor

_getNormalizedNumberRingSystems(self, st)

 

Molecular Descriptors p. 655: normalized number of ring systems (NRS*) by the cyclomatic number.

Decorators:
  • @cached_topo_descriptor

_getRingFusionDegree(self, st)

 

Molecular Descriptors p. 655: ring fusion degree (RFD) -- the reciprocal of the normalized number of ring systems.

Decorators:
  • @cached_topo_descriptor

_getTotalRingSize(self, st)

 

Molecular Descriptors p. 656: total ring size (R) -- the sum of the ring size of all the single cycles of all the ring systems; in this case, the atoms belonging to fused connections are counted twice.

Decorators:
  • @cached_topo_descriptor

_getRingPerimeter(self, st)

 

Molecular Descriptors p. 656: ring perimeter (R_P) -- represents the perimeter of all the rings present in the molecule.

Decorators:
  • @cached_topo_descriptor

_getRingBridges(self, st)

 

Molecular Descriptors p. 656: ring bridges (R_B) -- represents the number of bridge edges.

Decorators:
  • @cached_topo_descriptor

_getMolecularCyclizedDegree(self, st)

 

Molecular Descriptors p. 656: molecular cyclized degree (MCD) -- ratio of ring atoms to total atoms.

Decorators:
  • @cached_topo_descriptor

_getRingFusionDensity(self, st)

 

Molecular Descriptors p. 656: ring fusion density (RF Delta)

Decorators:
  • @cached_topo_descriptor

_getRingComplexityIndex(self, st)

 

Molecular Descriptors p. 656: ring complexity index (C_R)

Decorators:
  • @cached_topo_descriptor

_getTotalVDWSurfaceArea(self, st)

 

Molecular Descriptors p. 609: Total VSA for all atoms

Decorators:
  • @cached_topo_descriptor

_getPVSAMolarRefractivity(self, st, n)

 

Molecular Descriptors p. 611: P_VSA based on molar refractivity. Property interval boundaries extracted from Table P16, p. 611

Decorators:
  • @cached_topo_descriptor

_getPVSAlogP(self, st, n)

 

Molecular Descriptors p. 611: P_VSA based on log P values, to capture hydrophobic and hydrophillic effect. Property interval boundaries extracted from Table P16, p. 611

Decorators:
  • @cached_topo_descriptor

_getPVSAPartialCharges(self, st, n)

 

Molecular Descriptors p. 611: P_VSA based on Gasteiger charges, ie. partial equalization of orbital electronegativity (PEOE). Property interval boundaries extracted from Table P16, p. 611

Decorators:
  • @cached_topo_descriptor

_getHeavyStructure(self, st)

 

Handbook p. 313: Hydrogen-depleted molecule.

Decorators:
  • @cached_topo_descriptor

_getFullStructure(self, st)

 

Fully hydrogenated molecule.

Decorators:
  • @cached_topo_descriptor

_getChmMol(self, st)

 
Decorators:
  • @cached_topo_descriptor

_getHydrogenCount(self, st, heavy_atom_index)

 

Handbook p. 474: (h_i) -- the number of hydrogen atoms bonded to a given heavy atom.

Parameters:
  • heavy_atom_index (int) - 1-based index of the heavy atom structure
Decorators:
  • @cached_topo_descriptor

_getAtomIndices(self, st)

 

Returns list of atom indices, which are 1-based.

Decorators:
  • @cached_topo_descriptor

_getAtomPairs(self, st)

 

Returns list of all pairs of atom indices, which are 1-based.

Decorators:
  • @cached_topo_descriptor

_getBondIndices(self, st)

 

Returns list of bond index tuples, which are 1-based. Sorts indices (for comparision purposes), and ignores zero-order bonds.

Decorators:
  • @cached_topo_descriptor

_getAdjacencyMatrix(self, st)

 

Handbook p. 2: adjacency matrix (A) -- represents the whole set of connections between adjacent pairs of atoms. The entries a_ij of the matrix equal one if vertices vi and vj are bonded, and zero otherwise. The adjacency matrix is symmetric with dimension A x A , where A is the number of atoms and it is derived from an H-depleted molecular graph.

Decorators:
  • @cached_topo_descriptor

_getVertexDegree(self, st, atom_index)

 

Handbook p. 474, 2: vertex degree (delta_i) -- the ith row sum of the adjacency matrix.

Parameters:
  • atom_index (int) - 1-based atomic index
Decorators:
  • @cached_topo_descriptor

_getSimpleValenceVertexDegree(self, st, atom_index)

 

Handbook p. 474: valence vertex degree (delta^v_i) -- vertex degree taking into account all valence electrons of the ith atom. A simplified version of the equation below.

Parameters:
  • atom_index (int) - 1-based atomic index
Decorators:
  • @cached_topo_descriptor

_getValenceVertexDegree(self, st, atom_index)

 

Handbook p. 474: valence vertex degree (delta^v_i) -- vertex degree taking into account all valence electrons of the ith atom. It encodes the electronic identity of the atom in terms of both valence electron and core electron counts. Given as: (Z^v_i - h_i) / (Z_i - Z^v_i - 1) For atoms of higher principal quantum levels (P, S, Cl, Br, I), Kier and Hall proposed to account for both valence and nonvalence electrons

Z^v_i = number of valence electrons of ith atom h_i = number of hydrogens bonded to atom Z_i = total number of electrons of ith atom (atomic number)

Parameters:
  • atom_index (int) - 1-based atomic index
Decorators:
  • @cached_topo_descriptor

_getShortestPath(self, st, index1, index2)

 

Returns the shortest path from atom index1 to atom index2, inclusive.

Decorators:
  • @cached_topo_descriptor

_getDistanceMatrix(self, st)

 

Handbook p. 112: distance matrix (D) -- matrix of all topological distances between all the atom pairs. Also known as the vertex distance matrix. The topological distance d_ij the number of edges in the shortest path between the vertices vi and vi; the off-diagonal entries of the distance matrix equal one if vertices vi and v, are adjacent (i.e. the atoms i and j are bonded) and are greater than one otherwise. The diagonal elements are of course equal to zero. The distance matrix is symmetric with dimension A x A, where A is the number of atoms, and is derived from the H-depleted molecular graph.

Decorators:
  • @cached_topo_descriptor

_getReciprocalDistanceMatrix(self, st)

 

Handbook p. 112: reciprocal distance matrix (D^-1) -- a square symmetric A x A matrix derived from the distance matrix where each off-diagonal element is the reciprocal of the topological distance d between the considered vertices (and 0 for d_ii).

Decorators:
  • @cached_topo_descriptor

_getReciprocalSquareDistanceMatrix(self, st)

 

Handbook p. 112: reciprocal square distance matrix (D^-2) -- a square symmetric A x A matrix derived from the distance matrix where each off-diagonal element is the reciprocal of the topological distance d between the considered vertices (and 0 for d_ii).

Decorators:
  • @cached_topo_descriptor

_getVertexDistanceDegree(self, st, atom_index)

 

Handbook p. 113, vertex distance degree (sigma_i) -- the ith row sum of the distance matrix. Also known as the distance number, distance index, distance rank, vertex distance sum, or distance of a vertex.

Parameters:
  • atom_index (int) - 1-based atomic index
Decorators:
  • @cached_topo_descriptor

_getAtomEccentricity(self, st, atom_index)

 

Handbook p. 112, atom eccentricity (nu_i) -- maximum value entry in the ith row of the distance matrix, i.e. the maximum distance from theith vertex to any other vertices (vertex eccentricity).

Parameters:
  • atom_index (int) - 1-based atomic index
Decorators:
  • @cached_topo_descriptor

_getDistanceCount(self, st, distance)

 

Handbook p. 113, graph distance count (f^k) -- total number of distances in the graph equal to k

Parameters:
  • distance (int) - bonded distance (kth-order)
Decorators:
  • @cached_topo_descriptor

_getReciprocalDistanceSum(self, st, atom_index)

 

Handbook p. 116: reciprocal distance sum (RDS_i) -- sum of the reciprocal distance matrix elements in the ith row.

Parameters:
  • atom_index (int) - 1-based atomic index
Decorators:
  • @cached_topo_descriptor

_getConnectivityPaths(self, st)

 

Handbook p. 85, all shortest paths keyed by path lengths. The paths are equivalent to mth order subgraphs in the molecular structure.

Decorators:
  • @cached_topo_descriptor

_getCyclomaticNumber(self, st)

 

Handbook p. 94, cyclomatic number -- the number of independent cycles (or rings), and, more exactly, the number of non-overlapping cycles.

Should be equivalent to len(st.ring)

Decorators:
  • @cached_topo_descriptor

_getIntrinsicStates(self, st)

 

Handbook p. 159: intrinsic state (I_i) -- calculated from the principal
quantum number, the number of valence electrons, and the number of
sigma electrons of the ith atom in the H-depleted molecular graph.

NOTE: Molecular Descriptors p. 284, Table E11 and DRAGON use the simple valence
      vertex degree when calculating the instrisic state.

Decorators:
  • @cached_topo_descriptor

_getFieldEffects(self, st, k=2)

 

Handbook p. 159: field effect (Delta I_i) -- calculated as perturbation of the intrinsic state of ith atom by all other atoms in the molecule. The exponent k is a parameter to modify the influence of distant or nearby atoms for particular studies. Usually it is taken as k = 2.

Decorators:
  • @cached_topo_descriptor

_getLaplacianEigenvalues(self, st)

 

Handbook p. 253: laplacian eigenvalues (lambda_i) -- from the Laplacian matrix, defined as the difference between the vertex degree matrix and the adjacency matrix. The diagonalization of the Laplacian matrix gives A real eigenvalues hi which constitute the Laplacian spectrum. All eignevalues are (a) non-negative numbers, (b) the last value is always zero, and (c) the second to last is great than zero if the graph is connected.

Decorators:
  • @cached_topo_descriptor

_getChargeTermMatrix(self, st)

 

Handbook p. 445: charge term matrix (CT) -- an unsymmetric matrix of charge terms that are graph invariants related to the charge transfer between the pair of considered vertices. The diagonal entries of the CT matrix represent the topological valence of the atoms; the off-diagonal entries CT_ij represent a measure of the net charge transferred from the atom j to the atom i.

Decorators:
  • @cached_topo_descriptor

_getAromaticBonds(self, st)

 

Collects all bonds in the heavy atom structure that are aromatic.

Returns: tuple of structure.StructureBond
tuple of aromatic bonds
Decorators:
  • @cached_topo_descriptor

_getConventionalBondOrder(self, st, i, j)

 

Handbook p. 28: conventional bond order (sigma^*) -- within the framework of the graph theory, specifically the multigraph, this is defined as being equal to 1, 2, 3, and 1.5 for single, double, triple and aromatic bonds, respectively.

Decorators:
  • @cached_topo_descriptor

_getMultigraphDistanceMatrix(self, st, carbon_weight, atom_weights)

 

Handbook p. 488: multigraph distance matrix (*D) -- a weighted distance matrix where the distance from vertex vi to vertex vj is obtained by counting the edges in the shortest path between them, where each edge counts as the inverse of the conventional bond order, i.e. the relative topological distance, and therefore contributes 1 / bond order to the overall path length.

Parameters:
  • carbon_weight (float) - weight for the carbon atom
  • atom_weights (tuple of float) - tuple of weights for each atom
Decorators:
  • @cached_topo_descriptor

_getBaryszDistanceMatrix(self, st)

 

Handbook p. 488: Barysz distance matrix (D^Z) -- a weighted distance matrix accounting simultaneously for the presence of heteroatoms and multiple bonds in the molecule.

Decorators:
  • @cached_topo_descriptor

_getElectronegativityDistanceMatrix(self, st)

 

Molecular Descriptors p. 909: generalized Ivanciuc weighting from the Barysz distance matrix with Sanderson electronegativities See: Handbook p. 488, Barysz distance matrix

Decorators:
  • @cached_topo_descriptor

_getMassDistanceMatrix(self, st)

 

Molecular Descriptors p. 909: generalized Ivanciuc weighting from the Barysz distance matrix with atomic masses See: Handbook p. 488, Barysz distance matrix

Decorators:
  • @cached_topo_descriptor

_getVDWVolumeDistanceMatrix(self, st)

 

Molecular Descriptors p. 909: generalized Ivanciuc weighting from the Barysz distance matrix with van der Waals volumes See: Handbook p. 488, Barysz distance matrix

Decorators:
  • @cached_topo_descriptor

_getPolarizabilityDistanceMatrix(self, st)

 

Molecular Descriptors p. 909: generalized Ivanciuc weighting from the Barysz distance matrix with polarizabilities See: Handbook p. 488, Barysz distance matrix

Decorators:
  • @cached_topo_descriptor

_getAtomicWalkCounts(self, st, k)

 

Handbook p. 480: atomic walk count (awc) -- the total number of equipoise walks of length k starting from vertex vi.

Decorators:
  • @cached_topo_descriptor

_getVDWSurfaceArea(self, st)

 

Molecular Descriptors p. 609: van der Waals surface area (VSA) -- calculated from the atomic van der Waals radius, summing over contributions from atoms in the adjacency matrix.

Decorators:
  • @cached_topo_descriptor

_balbanOperator(self, st, matrix)

 

Handbook p. 7, Ivanciuc-Balaban operator IB(M) -- a modified Randic
operator summing over all bonded pairs for row sums of each participant:
    B/(C+1) * sum_bonds[ (R(i) * R(j)) ^ -0.5 ]
C is the cyclomatic number, B is the number of bonds, and R is the row
sum operator.

_centricIndexSum(self, st, value_function, centric_function)

 

Calculates atom centric index based on an atomic property function and a base function of the centric index sum.

Parameters:
  • value_function (f(st, atom_index)) - function to extract atomic property
  • centric_function (f(count)) - base function for component value of count

_generalizedConnectivityIndex(self, st, m, vertex_func, exponent)

 

Handbook p. 86: formula for generalized connectivity indices, used for several descriptors.

Parameters:
  • m (int) - index order of the connectivity index
  • vertex_func (f(st, index)) - vertex degree function
  • exponent (float) - power to raise vertex degree product

_propertyRangeVDWSurfaceArea(self, st, properties, intervals, n)

 

Molecular Descriptors p. 609: P_VSA -- the amount of van der Waals surface area (VSA) having a property value in a certain range. These descriptors correspond to a partition of the molecular surface area conditioned by the atomic values of the property P.

Parameters:
  • properties (list) - 1-based atomic index
  • intervals (list) - 1-based atomic index
  • n (int) - 1-based interval