org.jmol.smiles

Class SmilesParser

public class SmilesParser extends Object

Parses a SMILES String to create a SmilesMolecule. The SMILES specification has been found at the SMILES Home Page. An other explanation can be found in the Daylight Theory Manual.
Currently this parser supports only parts of the SMILES specification.
An example on how to use it:

 try {
   SmilesParser sp = new SmilesParser();
   SmilesMolecule sm = sp.parseSmiles("CC(C)C(=O)O");
   // Use the resulting molecule 
 } catch (InvalidSmilesException e) {
   // Exception management
 }
 

See Also: SMILES Home Page

Field Summary
SmilesBond[]ringBonds
Constructor Summary
SmilesParser()
Constructs a SmilesParser.
Method Summary
SmilesAtomparseAtom(SmilesMolecule molecule, String smiles, SmilesAtom currentAtom, int bondType, boolean complete)
Parses an atom definition
voidparseRing(SmilesMolecule molecule, String smiles, SmilesAtom currentAtom, int bondType)
Parses a ring definition
SmilesMoleculeparseSmiles(String smiles)
Parses a SMILES String
voidparseSmiles(SmilesMolecule molecule, String smiles, SmilesAtom currentAtom)
Parses a part of a SMILES String

Field Detail

ringBonds

private SmilesBond[] ringBonds

Constructor Detail

SmilesParser

public SmilesParser()
Constructs a SmilesParser.

Method Detail

parseAtom

private SmilesAtom parseAtom(SmilesMolecule molecule, String smiles, SmilesAtom currentAtom, int bondType, boolean complete)
Parses an atom definition

Parameters: molecule Resulting molecule smiles SMILES String currentAtom Current atom bondType Bond type complete Indicates if is a complete definition (between [])

Returns: New atom

Throws: InvalidSmilesException

parseRing

private void parseRing(SmilesMolecule molecule, String smiles, SmilesAtom currentAtom, int bondType)
Parses a ring definition

Parameters: molecule Resulting molecule smiles SMILES String currentAtom Current atom bondType Bond type

Throws: InvalidSmilesException

parseSmiles

public SmilesMolecule parseSmiles(String smiles)
Parses a SMILES String

Parameters: smiles SMILES String

Returns: Molecule corresponding to smiles

Throws: InvalidSmilesException

parseSmiles

private void parseSmiles(SmilesMolecule molecule, String smiles, SmilesAtom currentAtom)
Parses a part of a SMILES String

Parameters: molecule Resulting molecule smiles SMILES String currentAtom Current atom

Throws: InvalidSmilesException