|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jmol.smiles.SmilesParser
public class SmilesParser
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
}
Field Summary | |
---|---|
private char |
bioType
|
private int |
braceCount
|
private int |
branchLevel
|
(package private) java.util.Map<java.lang.String,SmilesMeasure> |
htMeasures
|
private boolean |
isBioSequence
|
private boolean |
isSmarts
|
private java.util.Map<java.lang.Integer,SmilesBond> |
ringBonds
|
Constructor Summary | |
---|---|
private |
SmilesParser(boolean isSmarts)
|
Method Summary | |
---|---|
private int |
checkBioType(java.lang.String pattern,
int index)
|
private boolean |
checkBrace(SmilesSearch molecule,
char ch,
char type)
|
private int |
checkCharge(java.lang.String pattern,
int index,
SmilesAtom newAtom)
|
private int |
checkChirality(java.lang.String pattern,
int index,
SmilesAtom newAtom)
|
private boolean |
checkLogic(SmilesSearch molecule,
java.lang.String pattern,
SmilesAtom atom,
SmilesBond bond,
SmilesAtom currentAtom,
boolean isPrimitive,
boolean isBranchAtom)
|
private void |
checkNested(SmilesSearch molecule,
SmilesAtom atom,
boolean noAromatic,
boolean ignoreStereochemistry)
|
private static java.lang.String |
cleanPattern(java.lang.String pattern,
boolean isSmarts)
|
private void |
fixChirality(SmilesSearch molecule)
|
private static char |
getChar(java.lang.String pattern,
int i)
|
private static int |
getDigits(java.lang.String pattern,
int index,
int[] ret)
|
static SmilesSearch |
getMolecule(java.lang.String pattern,
boolean isSmarts)
|
(package private) static java.lang.String |
getRingPointer(int i)
|
private SmilesSearch |
getSearch(SmilesSearch parent,
java.lang.String pattern,
boolean noAromatic,
boolean ignoreStereochemistry)
|
private static java.lang.String |
getSubPattern(java.lang.String pattern,
int index,
char ch)
|
(package private) SmilesSearch |
parse(java.lang.String pattern)
Parses a SMILES String |
private SmilesAtom |
parseAtom(SmilesSearch molecule,
SmilesAtom atomSet,
java.lang.String pattern,
SmilesAtom currentAtom,
SmilesBond bond,
boolean isBracketed,
boolean isPrimitive,
boolean isBranchAtom)
Parses an atom definition |
private SmilesBond |
parseBond(SmilesSearch molecule,
SmilesBond bondSet,
java.lang.String pattern,
SmilesBond bond,
SmilesAtom currentAtom,
boolean isPrimitive,
boolean isBranchAtom)
|
private void |
parseMeasure(SmilesSearch molecule,
java.lang.String strMeasure,
SmilesAtom currentAtom)
|
private java.lang.String |
parseNested(SmilesSearch molecule,
java.lang.String pattern)
|
private void |
parseRing(SmilesSearch molecule,
int ringNum,
SmilesAtom currentAtom,
SmilesBond bond)
Parses a ring definition |
private void |
parseSmiles(SmilesSearch molecule,
java.lang.String pattern,
SmilesAtom currentAtom,
boolean isBranchAtom)
Parses a part of a SMILES String |
private java.lang.String |
parseVariableLength(java.lang.String pattern)
|
private java.lang.String |
parseVariables(java.lang.String pattern)
|
private static int |
skipTo(java.lang.String pattern,
int index,
char ch0)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private boolean isSmarts
private boolean isBioSequence
private char bioType
private java.util.Map<java.lang.Integer,SmilesBond> ringBonds
private int braceCount
private int branchLevel
java.util.Map<java.lang.String,SmilesMeasure> htMeasures
Constructor Detail |
---|
private SmilesParser(boolean isSmarts)
Method Detail |
---|
public static SmilesSearch getMolecule(java.lang.String pattern, boolean isSmarts) throws InvalidSmilesException
InvalidSmilesException
SmilesSearch parse(java.lang.String pattern) throws InvalidSmilesException
pattern
- SMILES String
pattern
InvalidSmilesException
private java.lang.String parseVariableLength(java.lang.String pattern) throws InvalidSmilesException
InvalidSmilesException
private SmilesSearch getSearch(SmilesSearch parent, java.lang.String pattern, boolean noAromatic, boolean ignoreStereochemistry) throws InvalidSmilesException
InvalidSmilesException
private void checkNested(SmilesSearch molecule, SmilesAtom atom, boolean noAromatic, boolean ignoreStereochemistry) throws InvalidSmilesException
InvalidSmilesException
private void fixChirality(SmilesSearch molecule) throws InvalidSmilesException
InvalidSmilesException
private void parseSmiles(SmilesSearch molecule, java.lang.String pattern, SmilesAtom currentAtom, boolean isBranchAtom) throws InvalidSmilesException
molecule
- Resulting moleculepattern
- SMILES StringcurrentAtom
- Current atomisBranchAtom
- If we are starting a new branch
InvalidSmilesException
private int checkBioType(java.lang.String pattern, int index)
private void parseMeasure(SmilesSearch molecule, java.lang.String strMeasure, SmilesAtom currentAtom) throws InvalidSmilesException
InvalidSmilesException
private boolean checkBrace(SmilesSearch molecule, char ch, char type) throws InvalidSmilesException
InvalidSmilesException
private java.lang.String parseNested(SmilesSearch molecule, java.lang.String pattern) throws InvalidSmilesException
InvalidSmilesException
private java.lang.String parseVariables(java.lang.String pattern) throws InvalidSmilesException
InvalidSmilesException
private SmilesAtom parseAtom(SmilesSearch molecule, SmilesAtom atomSet, java.lang.String pattern, SmilesAtom currentAtom, SmilesBond bond, boolean isBracketed, boolean isPrimitive, boolean isBranchAtom) throws InvalidSmilesException
molecule
- Resulting moleculeatomSet
- pattern
- SMILES StringcurrentAtom
- Current atombond
- isBracketed
- Indicates if is a isBracketed definition (between [])isPrimitive
- isBranchAtom
-
InvalidSmilesException
private void parseRing(SmilesSearch molecule, int ringNum, SmilesAtom currentAtom, SmilesBond bond) throws InvalidSmilesException
molecule
- Resulting moleculeringNum
- currentAtom
- Current atombond
-
InvalidSmilesException
private int checkCharge(java.lang.String pattern, int index, SmilesAtom newAtom) throws InvalidSmilesException
InvalidSmilesException
private int checkChirality(java.lang.String pattern, int index, SmilesAtom newAtom) throws InvalidSmilesException
InvalidSmilesException
private SmilesBond parseBond(SmilesSearch molecule, SmilesBond bondSet, java.lang.String pattern, SmilesBond bond, SmilesAtom currentAtom, boolean isPrimitive, boolean isBranchAtom) throws InvalidSmilesException
InvalidSmilesException
private boolean checkLogic(SmilesSearch molecule, java.lang.String pattern, SmilesAtom atom, SmilesBond bond, SmilesAtom currentAtom, boolean isPrimitive, boolean isBranchAtom) throws InvalidSmilesException
InvalidSmilesException
private static java.lang.String getSubPattern(java.lang.String pattern, int index, char ch) throws InvalidSmilesException
InvalidSmilesException
private static char getChar(java.lang.String pattern, int i)
private static int getDigits(java.lang.String pattern, int index, int[] ret)
pattern
- index
- ret
-
private static int skipTo(java.lang.String pattern, int index, char ch0)
static java.lang.String getRingPointer(int i)
private static java.lang.String cleanPattern(java.lang.String pattern, boolean isSmarts)
pattern
- isSmarts
-
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |