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
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss