Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Furan inchi and SMILES cannot be resolved #121

Closed
connie opened this issue Jun 12, 2013 · 8 comments
Closed

Furan inchi and SMILES cannot be resolved #121

connie opened this issue Jun 12, 2013 · 8 comments

Comments

@connie
Copy link
Member

connie commented Jun 12, 2013

Due to lack of aromaticity perception molecules like Furan cannot be resolved using RMG-Py.
SMILES: c1ccoc1
InChI=1S/C4H4O/c1-2-4-5-3-1/h1-4H

@rwest
Copy link
Member

rwest commented Jun 12, 2013

What happens if you enter it via its adjacency list? Then I think we bypass OpenBabel.

@connie
Copy link
Member Author

connie commented Jun 12, 2013

Yeah it works fine when you do that. When are we fully switching to RDKit? =p

@rwest
Copy link
Member

rwest commented Jun 12, 2013

As soon as you wish!
It can read and write InChI and SMILES, and canonical SMILES.
We'd lose CML from our input files, but I don't think that's a big cost.
I look forward to merging your rdkit branch, @connie 😜

@rwest
Copy link
Member

rwest commented Jun 13, 2013

Oh, one more thought - @pierrelb, can rdkit do the gaussian log file (i.e. coordinates only) to molecule conversion, i.e. the connect-the-dots and perceive-bond-order routines that we currently do with OpenBabel?

@pierrelb
Copy link
Contributor

Not entirely certain. I haven't found methods that do that as yet, though there is a lot to RDKit that it still unexplored. It does a good job determining distances when given the connectivity, so I'd assume there would be methods to do the reverse - hence I'll keep looking.

@gmagoon
Copy link
Contributor

gmagoon commented Jun 13, 2013

There is a perceiveConnectivity() routine in MoleCoor: https://github.com/gmagoon/MoleCoor/blob/master/MolecularCoordinates.py#L53 . It is used as an alternative to the OpenBabel approach in connectivity-checking in RMG-Java. I'm not sure whether RDKit has this functionality.

@rwest
Copy link
Member

rwest commented Jun 14, 2013

Thanks @gmagoon. That's looks like it's equivalent to OpenBabel's ConnectTheDots method, which seems reasonably straight forward (Pythagoras with two atomic radii and a threshold). Did you ever find OpenBabel's PerceiveBondOrder method (that does all sorts of rule-based checks, electronegativity checks, valence checks, distance checks, etc.) to be useful or necessary (to figure out which are double bonds), or do you just do graph isomorphism without labelled edges (i.e. a bond is just a bond) to check you've found the right structure? If the latter, then we can probably do without OpenBabel.

@pierrelb, do you know if rdkit can read @connie's furans?

@gmagoon
Copy link
Contributor

gmagoon commented Jun 14, 2013

@rwest: no need for bond order perception because graph isomorphism is done via InChI, which only considers what is connected, not how it is connected (i.e. InChI only localizes one pair of electrons per bond)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants