baoilleach/deepsmiles

non-canonical smiles using deepsmiles

Closed this issue · 1 comments

smiles have non-canonical smiles and canonical ones.
Here are some examples of from three non-canonical smiles to the same canonical smiles

Chem.MolToSmiles(Chem.MolFromSmiles('C1=CC=CN=C1'))
'c1ccncc1'
Chem.MolToSmiles(Chem.MolFromSmiles('c1cccnc1'))
'c1ccncc1'
Chem.MolToSmiles(Chem.MolFromSmiles('n1ccccc1'))
'c1ccncc1'

For deepsmiles,

converter.encode('n1ccccc1')
'nccccc6'
converter.encode('C1=CC=CN=C1')
'C=CC=CN=C6'
converter.encode('c1cccnc1')
'ccccnc6'

It gives three different answers. Are they all reasonable valid deepsmiles? Is there a way to tell 'nccccc6' == 'C=CC=CN=C6' =='ccccnc6'? (a way to canonicalize them). Thank you in advance!

Hi, and sorry for the delay in replying. These are all "reasonable valid deepsmiles". To tell that they are the same, I would convert them back to SMILES, read them into a toolkit and generate canonical SMILES.