On 8/16/10 7:39 AM, eiso wrote: > hi, > > I'm looking for some convenient standard atom naming scheme that I > could use for assigning (1H) NMR resonances on a large set of compounds. > > Preferably, atoms that are topologically similar and/or are chemically > and or magnetically equivalent would have similar names (or root names), > for example the protons of a single methylgroup, equivalent protons > of rotating aromatic groups (like PHE/TYR HD/HE). > > My initial thoughts run in this direction: > > * generate cansmi (to be independent of how the input format is specified) > > * name heavy atoms numerically or alphabetically following the smiles string > or > molecular tree from the start, preferably taking symmetries in the > molecule > into account (but how?).
When you generate a canonical SMILES, a string is created that lists the atoms' order in that SMILES. The relevant code in smilesformat.cpp is this: if (canonical && !mol.HasData("Canonical Atom Order")) { OBPairData *canData = new OBPairData; canData->SetAttribute("Canonical Atom Order"); canData->SetValue(m2s.GetOutputOrder()); mol.SetData(canData); } It is a space-separated string with the atom->GetIdx() value of each atom in canonical order. > First and last point are trivial I guess, but the middle point seems to > be quite tricky. I'm probably not the first with this problem, so if anyone > knows software that does something similar or has suggestions how to approach > this, I would be very grateful. I hope this is what you are looking for. Craig ------------------------------------------------------------------------------ This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev _______________________________________________ OpenBabel-discuss mailing list OpenBabel-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-discuss