The sdf2smiles and smiles2sdf
functions provide format interconversion between SMILES strings
(Simplified Molecular Input Line Entry Specification) and
SDFset containers.
Convert an SDFset container to a SMILES
character string:
data(sdfsample);
sdfset <- sdfsample[1]
smiles <- sdf2smiles(sdfset)
smiles
Convert a SMILES character string to an
SDFset container:
sdf <- smiles2sdf("CC(=O)OC1=CC=CC=C1C(=O)O")
view(sdf)
When the ChemineOB package is installed these
conversions are performed with the OpenBabel Open Source Chemistry
Toolbox. Otherwise the functions will fall back to using the ChemMine
Tools web service for this operation. The latter will require internet
connectivity and is limited to only the first compound given.
ChemmineOB provides access to the compound format
conversion functions of OpenBabel. Currently, over 160 formats are
supported by OpenBabel. The functions convertFormat and
convertFormatFile can be used to convert files or
strings between any two formats supported by OpenBabel. For example, to
convert a SMILES string to an SDF string, one can use the
convertFormat function.
sdfStr <- convertFormat("SMI","SDF","CC(=O)OC1=CC=CC=C1C(=O)O_name")
This will return the given compound as an SDF formatted string. 2D
coordinates are also computed and included in the resulting SDF string.
To convert a file with compounds encoded in one format to another
format, the convertFormatFile function can be used
instead.
convertFormatFile("SMI","SDF","test.smiles","test.sdf")
To see the whole list of file formats supported by OpenBabel, one can
run from the command-line “obabel -L formats”.