org.jmol.smiles
Class SmilesParser

java.lang.Object
  extended by org.jmol.smiles.SmilesParser

public class SmilesParser
extends java.lang.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
private  SmilesBond[] ringBonds
           
 
Constructor Summary
SmilesParser()
          Constructs a SmilesParser.
 
Method Summary
private  SmilesAtom parseAtom(SmilesMolecule molecule, java.lang.String smiles, SmilesAtom currentAtom, int bondType, boolean complete)
          Parses an atom definition
private  void parseRing(SmilesMolecule molecule, java.lang.String smiles, SmilesAtom currentAtom, int bondType)
          Parses a ring definition
private  void parseSmiles(SmilesMolecule molecule, java.lang.String smiles, SmilesAtom currentAtom)
          Parses a part of a SMILES String
 SmilesMolecule parseSmiles(java.lang.String smiles)
          Parses a SMILES String
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ringBonds

private SmilesBond[] ringBonds
Constructor Detail

SmilesParser

public SmilesParser()
Constructs a SmilesParser.

Method Detail

parseSmiles

public SmilesMolecule parseSmiles(java.lang.String smiles)
                           throws InvalidSmilesException
Parses a SMILES String

Parameters:
smiles - SMILES String
Returns:
Molecule corresponding to smiles
Throws:
InvalidSmilesException

parseSmiles

private void parseSmiles(SmilesMolecule molecule,
                         java.lang.String smiles,
                         SmilesAtom currentAtom)
                  throws InvalidSmilesException
Parses a part of a SMILES String

Parameters:
molecule - Resulting molecule
smiles - SMILES String
currentAtom - Current atom
Throws:
InvalidSmilesException

parseAtom

private SmilesAtom parseAtom(SmilesMolecule molecule,
                             java.lang.String smiles,
                             SmilesAtom currentAtom,
                             int bondType,
                             boolean complete)
                      throws InvalidSmilesException
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,
                       java.lang.String smiles,
                       SmilesAtom currentAtom,
                       int bondType)
                throws InvalidSmilesException
Parses a ring definition

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