parse.smiles: Parse SMILES strings into molecule objects.

View source: R/smiles.R

parse.smilesR Documentation

Parse SMILES strings into molecule objects.


This function parses a vector of SMILES strings to generate a list of 'IAtomContainer' objects. Note that the resultant molecule will not have any 2D or 3D coordinates. Note that the molecules obtained from this method will not have any aromaticity perception (unless aromatic symbols are encountered, in which case the relevant atoms are automatically set to aromatic), atom typing or isotopic configuration done on them. This is in contrast to the load.molecules method. Thus, you should perform these steps manually on the molecules.


parse.smiles(smiles, kekulise = TRUE, omit.nulls = FALSE, smiles.parser = NULL)



A single SMILES string or a vector of SMILES strings


If set to 'FALSE' disables electron checking and allows for parsing of incorrect SMILES. If a SMILES does not parse by default, try setting this to 'FALSE' - though the resultant molecule may not have consistent bonding. As an example, 'c4ccc2c(cc1=Nc3ncccc3(Cn12))c4' will not be parsed by default because it is missing a nitrogen. With this argument set to 'FALSE' it will parse successfully, but this is a hack to handle an incorrect SMILES


If set to 'TRUE', omits SMILES which were parsed as 'NULL'


A SMILES parser object obtained from get.smiles.parser


A 'list' of 'jobjRef's to their corresponding CDK 'IAtomContainer' objects. If a SMILES string could not be parsed and 'omit.nulls=TRUE' it is omited from the output list.


Rajarshi Guha (

See Also

get.smiles, parse.smiles

rcdk documentation built on July 9, 2023, 7:27 p.m.