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