OEGetSmiStringOrder

OESystem::OEIterBase<OEAtomBase>*OEGetSmiStringOrder(OEMolBase& mol,
                                                     unsigned int flavor = OESMILESFlag::DEFAULT)
OESystem::OEIterBase<const OEAtomBase>*OEGetSmiStringOrder(const OEMolBase& mol,
                                                           unsigned int flavor = OESMILESFlag::DEFAULT)

Returns an iterator over the heavy atoms of a molecule, in the order in which they appear in the canonical SMILES string. Several variants of SMILES format are supported by using different flavors from the OESMILESFlag namespace.

OEGraphMol mol = new OEGraphMol();
OEChem.OESmilesToMol(mol, "N1CCCC1");

foreach (OEAtomBase atom in OEChem.OEGetSmiStringOrder(mol))
{
    Console.WriteLine(atom.GetIdx() + " " + OEChem.OEGetAtomicSymbol(atom.GetAtomicNum()));
}

See also