I'm quite surprised to find out that there appears no way to convert InChI strings into useable structures (smiles/sdfs etc). I'm more surprised considering the Term to Structure node in text processing can generate InChI strings from chemical names, but then you cannot do anything with them.
Am I missing the converter somewhere ?
If not, are there any plans to introduce this functionality ?
The RDKit has the ability to do this, but there are some caveats;
1) the InChI -> molecule conversion isn't as well tested as the other direction
2) there are some rare situations where InChI can not be correctly converted to a molecule.
If you're willing to live with this risk, I can add it to the list of things that should be added to the RDKit nodes.
That would be a really useful addition, I'm happy to live with the odd occassion when it cannot convert a InChI to a molecule, so long as it doesnt cause the node to fail, and instead parses failed conversions to a 2nd out port would be my ideal preference.
OpenBabel can do this conversion, but the OpenBabel node cannot - although it simply calls the OpenBabel executable. Does anyone know how if the node just needs a parameter added to handle InChI?
Yes I eventually managed to do this using OpenBabel node. Its a fudge to get it working as InChI is not available in the dropdown list in the OpenBabel node.
To do this, simply take a TableCreator node and enter in "inchi". Then convert this to a variable with "Tablerow to Variable" and then attach this to the variable port of the OpenBabel node, and then from the flow variables tab of the OpenBabel node, choose "new column" from the dropdown next to source. This then forces inchi to be passed to the OpenBabel executable, and hey presto it works.
Hardly elegant or straightforward, so I look forward to the RDKit implementation ;-)
Sweet - nice incentive for me to play with flow variables...
We'll add inchi to the format list in the babel node.
Thanks for making us aware of that!
If you are updating the babel node, then would it also be possible to add a means of adding extra options to the conversion - e.g. for fpt output, selecting fp type, or the '-xs' option - this might be simplest achieved through a text input in which the user has to type any extras in command line format?
I opened a feature request for this one, too. We'll add the "inchi" input option for v2.5.2 (shouldn't make bigger changes because it's a patch release ). ... and for v2.6 we have opened feature requests to have more dynamic type filters (i.e. we call "babel -h" and parse the commandline help instead of using a hardcoded list of types) plus these additional option field.
In the latest nightly build of Indigo Nodes we have added a preliminary support of InChI to Molecule conversion and vice-versa. The only one limitation is that is does not support sterechemistry yet, but we are working on this feature.
Molecule to Indigo node accepts string columns, and automatically converts SMILES and InChI strings.
InChI and InChIKey can be generated with the Indigo to Molecule nodes.