public class SmilesParser extends Object
SmilesMolecule.
The SMILES specification has been found at the
SMILES Home Page.
An other explanation can be found in the
Daylight Theory Manual.
try {
SmilesParser sp = new SmilesParser();
SmilesMolecule sm = sp.parseSmiles("CC(C)C(=O)O");
// Use the resulting molecule
} catch (InvalidSmilesException e) {
// Exception management
}
| Modifier and Type | Field and Description |
|---|---|
private char |
bioType |
private int |
braceCount |
private int |
branchLevel |
private int |
flags |
(package private) Map<String,SmilesMeasure> |
htMeasures |
private boolean |
isBioSequence |
private boolean |
isSmarts |
private Map<Integer,SmilesBond> |
ringBonds |
| Constructor and Description |
|---|
SmilesParser(boolean isSmarts) |
| Modifier and Type | Method and Description |
|---|---|
private int |
checkBioType(String pattern,
int index) |
private boolean |
checkBrace(SmilesSearch molecule,
char ch,
char type) |
private int |
checkCharge(String pattern,
int index,
SmilesAtom newAtom) |
private int |
checkChirality(String pattern,
int index,
SmilesAtom newAtom) |
private boolean |
checkLogic(SmilesSearch molecule,
String pattern,
SmilesAtom atom,
SmilesBond bond,
SmilesAtom currentAtom,
boolean isPrimitive,
boolean isBranchAtom) |
private void |
checkNested(SmilesSearch molecule,
SmilesAtom atom,
int flags) |
(package private) static String |
cleanPattern(String pattern) |
private void |
fixChirality(SmilesSearch molecule) |
private static char |
getChar(String pattern,
int i) |
private static int |
getDigits(String pattern,
int index,
int[] ret) |
static SmilesSearch |
getMolecule(String pattern,
boolean isSmarts) |
(package private) static String |
getRingPointer(int i) |
(package private) SmilesSearch |
getSearch(SmilesSearch parent,
String pattern,
int flags) |
private static String |
getSubPattern(String pattern,
int index,
char ch) |
(package private) SmilesSearch |
parse(String pattern)
Parses a SMILES String
|
private SmilesAtom |
parseAtom(SmilesSearch molecule,
SmilesAtom atomSet,
String pattern,
SmilesAtom currentAtom,
SmilesBond bond,
boolean isBracketed,
boolean isPrimitive,
boolean isBranchAtom)
Parses an atom definition
|
private SmilesBond |
parseBond(SmilesSearch molecule,
SmilesBond bondSet,
String pattern,
SmilesBond bond,
SmilesAtom currentAtom,
boolean isPrimitive,
boolean isBranchAtom) |
private void |
parseMeasure(SmilesSearch molecule,
String strMeasure,
SmilesAtom currentAtom) |
private String |
parseNested(SmilesSearch molecule,
String pattern,
String prefix) |
private void |
parseRing(SmilesSearch molecule,
int ringNum,
SmilesAtom currentAtom,
SmilesBond bond)
Parses a ring definition
|
private void |
parseSmiles(SmilesSearch molecule,
String pattern,
SmilesAtom currentAtom,
boolean isBranchAtom)
Parses a part of a SMILES String
|
private String |
parseVariableLength(String pattern) |
private String |
parseVariables(String pattern) |
(package private) void |
reset() |
private static int |
skipTo(String pattern,
int index,
char ch0) |
private boolean isSmarts
private boolean isBioSequence
private char bioType
private Map<Integer,SmilesBond> ringBonds
private int braceCount
private int branchLevel
private int flags
Map<String,SmilesMeasure> htMeasures
public static SmilesSearch getMolecule(String pattern, boolean isSmarts) throws InvalidSmilesException
InvalidSmilesExceptionvoid reset()
SmilesSearch parse(String pattern) throws InvalidSmilesException
pattern - SMILES StringpatternInvalidSmilesExceptionprivate String parseVariableLength(String pattern) throws InvalidSmilesException
InvalidSmilesExceptionSmilesSearch getSearch(SmilesSearch parent, String pattern, int flags) throws InvalidSmilesException
InvalidSmilesExceptionprivate void checkNested(SmilesSearch molecule, SmilesAtom atom, int flags) throws InvalidSmilesException
InvalidSmilesExceptionprivate void fixChirality(SmilesSearch molecule) throws InvalidSmilesException
InvalidSmilesExceptionprivate void parseSmiles(SmilesSearch molecule, String pattern, SmilesAtom currentAtom, boolean isBranchAtom) throws InvalidSmilesException
molecule - Resulting moleculepattern - SMILES StringcurrentAtom - Current atomisBranchAtom - If we are starting a new branchInvalidSmilesExceptionprivate int checkBioType(String pattern, int index)
private void parseMeasure(SmilesSearch molecule, String strMeasure, SmilesAtom currentAtom) throws InvalidSmilesException
InvalidSmilesExceptionprivate boolean checkBrace(SmilesSearch molecule, char ch, char type) throws InvalidSmilesException
InvalidSmilesExceptionprivate String parseNested(SmilesSearch molecule, String pattern, String prefix) throws InvalidSmilesException
InvalidSmilesExceptionprivate String parseVariables(String pattern) throws InvalidSmilesException
InvalidSmilesExceptionprivate SmilesAtom parseAtom(SmilesSearch molecule, SmilesAtom atomSet, 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 - InvalidSmilesExceptionprivate void parseRing(SmilesSearch molecule, int ringNum, SmilesAtom currentAtom, SmilesBond bond) throws InvalidSmilesException
molecule - Resulting moleculeringNum - currentAtom - Current atombond - InvalidSmilesExceptionprivate int checkCharge(String pattern, int index, SmilesAtom newAtom) throws InvalidSmilesException
InvalidSmilesExceptionprivate int checkChirality(String pattern, int index, SmilesAtom newAtom) throws InvalidSmilesException
InvalidSmilesExceptionprivate SmilesBond parseBond(SmilesSearch molecule, SmilesBond bondSet, String pattern, SmilesBond bond, SmilesAtom currentAtom, boolean isPrimitive, boolean isBranchAtom) throws InvalidSmilesException
InvalidSmilesExceptionprivate boolean checkLogic(SmilesSearch molecule, String pattern, SmilesAtom atom, SmilesBond bond, SmilesAtom currentAtom, boolean isPrimitive, boolean isBranchAtom) throws InvalidSmilesException
InvalidSmilesExceptionprivate static String getSubPattern(String pattern, int index, char ch) throws InvalidSmilesException
InvalidSmilesExceptionprivate static char getChar(String pattern, int i)
private static int getDigits(String pattern, int index, int[] ret)
pattern - index - ret - private static int skipTo(String pattern, int index, char ch0)
static String getRingPointer(int i)