Dear developers
In some cases, the marker of ring closure bonds will locate after the marker of branching, for example C(CC)1OC1 and C1(CC)OC1. OpenBabel can accept them and yield the same structure, which can be validated by command line obabel -ismi -:'C1(CC)OC1' -osmi and obabel -ismi -:'C(CC)1OC1' -osmi, the converted SMILES expressions are C1(CC)OC1.
However pysmiles acting differently as following:
>>> import pysmiles
>>> number_first = pysmiles.read_smiles('C1(CC)OC1')
>>> number_last = pysmiles.read_smiles('C(CC)1OC1')
>>> number_first.edges
EdgeView([(0, 1), (0, 3), (0, 4), (1, 2), (3, 4)])
>>> number_last.edges
EdgeView([(0, 1), (0, 3), (1, 2), (2, 4), (3, 4)])
>>> number_inner = pysmiles.read_smiles('C(CC1)OC1')
>>> number_inner.edges
EdgeView([(0, 1), (0, 3), (1, 2), (2, 4), (3, 4)])
the number last expression is somehow been misinterpreted. would the pysmiles be permissive to this condition?
Dear developers
In some cases, the marker of ring closure bonds will locate after the marker of branching, for example
C(CC)1OC1andC1(CC)OC1. OpenBabel can accept them and yield the same structure, which can be validated by command lineobabel -ismi -:'C1(CC)OC1' -osmiandobabel -ismi -:'C(CC)1OC1' -osmi, the converted SMILES expressions areC1(CC)OC1.However pysmiles acting differently as following:
the number last expression is somehow been misinterpreted. would the pysmiles be permissive to this condition?