Dear Evgueni,

this is a general interest answer, so I'm directing it to the mailing list.

On Wed, Aug 13, 2008 at 2:09 PM, Evgueni Kolossov <ekolos...@gmail.com> wrote:
>
> I have enclosed a file with the list of things I need to find to calculate
> descriptors. I am sure most of this things are there in one or another form,
> so i need just to be pointed to where I can find them.

After having looked through the list, reproduced below, most of these
are pretty straightforward and can be found in the API docs; so I'm
going to be brief:


- Calculate(Get) the principal quantum number of the given atom.
  This one actually isn't available. You'll have to do a lookup table.

- Get charge of the given atom
  Atom.getFormalCharge()

- Get Number of Filled Valencies for the given atom
  Not sure exactly what you mean. Probably
Atom.getExplicitValence()+Atom.getImplicitValence()

- Get atom type like (IsAromatic, IsSaturatedCarbon, etc.)
  well, there's Atom.getIsAromatic(), the rest can be done using
combinations of other properties or SMARTS queries.

- Calculate(Get) the number of valence electrons of the given atom,
taking account of charge
  for this you would combine
PeriodicTable::getTable()->getNouterElecs() with
Atom.getFormalCharge()

- Get number of attached hydrogens for the given atom.
  Atom.getTotalNumHs()

- get the number of sigma electrons excluding electrons bonded to
hydrogens for the given atom.
  again, this is a definition thing, but it's probably
2*(Atom.getTotalDegree()-Atom.getTotalNumHs(true))

- get bond type for each bond of the given atom
  This is a loop over an atom's bonds. That's handled at the molecule
level: ROMol.getAtomBonds() and there's an example in documentation
for that method.

- For given atom:
        - get number of:
                triple bonds
                double bonds
                aromatic bonds
                single bonds
    Here you'd loop over the atom's bonds and count whatever you want.

- Get number of smallest rings for mol
     The molecule has a RingInfo member. You get a pointer to it with
ROMol.getRingInfo(). You fill it with a call to MolOps::findSSSR()
and, probably, MolOps::symmetrizeSSR(). NOTE: if you build a molecule
using one of the standard RDKit parsers, and do not switch off
sanitization, the SSSR functions have already been called.

- get number of bonds connected not to hydrogens for goven atom
  if "number of bonds" means "degree", then:
Atom.getTotalDegree()-Atom.getTotalNumHs(true)

- get shortest path between atoms
  If you want the path itself, that's MolOps::getShortestPath(), if
you just want the path length MolOps::getDistanceMat() gives you all
the topological distances.

-greg

Reply via email to