Morphochem

Zagreb indices

CDL descriptor
Descriptor Category : topological
c++ entity: functor

Description

Topological indices based on the vertex degree of atoms.
The first zagreb index is defined as

 

Equation 1: First Zagreb index.

 

Where F(g) is the vertex degree count; i.e, the number of vertices with the same vertex degree. g is the value of the considered vertex degree. The second Zagreb index is calculated as shown in equation 2.

 

Equation 2: Second Zagreb index.

 

Where b runs over all bonds. i and j are the source and target vertices of the considered bond.

Prototype

For the first Zagreb index :
  template <class HDepletedMolecule>
  struct first_zagreb : std::unary_function<HDepletedMolecule,size_t> {

    result_type operator()(typename boost::call_traits<argument_type>::param_type m);

  };
And
  template <class HDepletedMolecule>
  struct second_zagreb : std::unary_function<HDepletedMolecule,size_t> {

    result_type operator()(typename boost::call_traits<argument_type>::param_type m);

  };
For the second.

Where defined

morpho/cdl/descriptors/topological.hpp

Namespace

morpho::cdl

Inherits from

std::unary_function<Molecule,size_t>

Arguments

ArgumentModel of
Molecule cdl::molecule

Example

// suppose you're streaming a mol format from the stdin:
typedef desc_molecular_properties<>   desc_mol_props_t;
typedef boost::property<mol_propsS, molecular_properties<>,
  boost::property<descriptors_mol_propsS, desc_mol_props_t> > descr_props_t;
typedef molecule<double,descr_props_t>    M;
morpho::cdl::nail_juice<M>             j;
morpho::cdl::get_juice_from_stream(std::cin, j, 0, sdf_formatT());
M   mol(j);
morpho::cdl::first_zagreb<M>    FZ;
morpho::cdl::second_zagreb<M>   SZ;
std::cout << "First Zagreb index of my mol: ";
std::cout << FZ(mol) << '\n';
std::cout << "Second Zagreb index of my mol: ";
std::cout << SZ(mol) << '\n';

Related Items

Schultz molecular topological index

References

  1. Gutman, I., Ruscic, B., Trinajstic, N. and Wilcox Jr., C.F.; "Graph theory and molecular orbitals. XII. Acyclic polyenes"; J.Chem.Phy., 62. 3399-3405. 1975.
  2. Todeschini, R.; Consonni, V. "Handbook of Molecular Descriptors". Wiley-VCH, Methods and Principles in Medicinal Chemistry. Volume 11. 2000.


Copyright (c) Vladimir Josef Sykora and Morphochem AG 2003