Re: [Rdkit-discuss] MolToSmiles preserve atom order

2019-11-18 Thread Andrew Dalke
On Nov 18, 2019, at 17:40, David Cosgrove wrote: > > Point taken. I don’t think you’d be able to get RDKit to spit such SMILES > strings out unless you tortured it pretty hard, however. Did someone mention one of my favorite things to do? :) See:

Re: [Rdkit-discuss] MolToSmiles preserve atom order

2019-11-18 Thread Rafal Roszak
On Mon, 18 Nov 2019 16:40:28 + David Cosgrove wrote: > Point taken. I don’t think you’d be able to get RDKit to spit such SMILES > strings out unless you tortured it pretty hard, however. Export smiles with arbitrary given atom order is diffrent problem. Normally working with mol object you

Re: [Rdkit-discuss] MolToSmiles preserve atom order

2019-11-18 Thread David Cosgrove
Hi Rocco, Point taken. I don’t think you’d be able to get RDKit to spit such SMILES strings out unless you tortured it pretty hard, however. Dave On Mon, 18 Nov 2019 at 16:36, Rocco Moretti wrote: > Actually, it is possible to get arbitrary orders, if you (ab)use the '.' > component ("zero

Re: [Rdkit-discuss] MolToSmiles preserve atom order

2019-11-18 Thread Rocco Moretti
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

Re: [Rdkit-discuss] MolToSmiles preserve atom order

2019-11-18 Thread David Cosgrove
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,

[Rdkit-discuss] MolToSmiles preserve atom order

2019-11-18 Thread Rafal Roszak
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