Actually, it is possible to get arbitrary orders, if you (ab)use the '.' component ("zero order bond") directive and the numeric bonding ("ring closure") directives:
>>> Chem.MolToSmiles( Chem.MolFromSmiles("O1.Cl2.C12" ) ) 'OCCl' Whether you want to do things that way is another question. On Mon, Nov 18, 2019 at 10:24 AM David Cosgrove <davidacosgrov...@gmail.com> wrote: > Hi Rafal, > It is not always possible to preserve the atom ordering in the SMILES > string because there is an implied bond between contiguous symbols in the > SMILES. I think, for example, that the molecule with the SMILES OCCl > couldn’t have the order in the molecule object O first, Cl second, C third, > with bonds between 1 and 3 and 2 and 3 and get the SMILES in that order. > > I hope that made sense. Please ask again if not. > > Best regards, > Dave > > > On Mon, 18 Nov 2019 at 12:33, Rafal Roszak <rmrmg.c...@gmail.com> wrote: > >> Hi all, >> >> Is there any way to preserve atom order from Mol object during >> exporting to smiles? I tried MolToSmiles with rootedAtAtom=0 and >> canonical=False options but it not always prevent oryginal order. >> I know I can use _smilesAtomOutputOrder to map old indices to new one >> in canonical smiles but maybe we have something more handy? >> >> Best, >> >> Rafał >> >> >> _______________________________________________ >> Rdkit-discuss mailing list >> Rdkit-discuss@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss >> > -- > David Cosgrove > Freelance computational chemistry and chemoinformatics developer > http://cozchemix.co.uk > > _______________________________________________ > Rdkit-discuss mailing list > Rdkit-discuss@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss >
_______________________________________________ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss