public class SmilesMatcher extends java.lang.Object implements SmilesMatcherInterface
The original SMILES description can been found at the SMILES Home Page. Specification for this implementation can be found in package.html.
public methods:
int areEqual -- checks a SMILES string against a reference (-1 for error; 0 for no finds; >0 for number of finds)
BitSet[] find -- finds one or more occurances of a SMILES or SMARTS string within a SMILES string
int[][] getCorrelationMaps -- returns correlated arrays of atoms
String getLastError -- returns any error that was last encountered.
String getMolecularFormula -- returns the MF of a SMILES or SMARTS string
String getRelationship -- returns isomeric relationship
String getSmiles -- returns a standard SMILES string or a
Jmol BIOSMILES string with comment header.
BitSet getSubstructureSet -- returns a single BitSet with all found atoms included
in Jmol script:
string2.find("SMILES", string1)
string2.find("SMARTS", string1)
e.g.
print "CCCC".find("SMILES", "C[C]")
select search("smartsString")
All bioSMARTS strings begin with ~ (tilde).
| Modifier and Type | Field and Description |
|---|---|
private static int |
MODE_ARRAY |
private static int |
MODE_ATROP |
private static int |
MODE_BITSET |
private static int |
MODE_MAP |
| Constructor and Description |
|---|
SmilesMatcher() |
| Modifier and Type | Method and Description |
|---|---|
int |
areEqual(java.lang.String smiles1,
java.lang.String smiles2) |
boolean |
areEqualTest(java.lang.String smiles,
SmilesSearch search)
for JUnit test, mainly
|
java.lang.String |
cleanSmiles(java.lang.String smiles) |
int[][] |
find(java.lang.String pattern,
java.lang.String target,
int flags)
Searches for all matches of a pattern within a SMILES string.
|
private java.lang.Object |
findPriv(java.lang.String pattern,
SmilesSearch search,
int flags,
int mode) |
Node[] |
getAtoms(java.lang.String target) |
java.lang.String |
getAtropisomerKeys(java.lang.String pattern,
Node[] atoms,
int ac,
javajs.util.BS bsSelected,
javajs.util.BS bsAromatic,
int flags)
called by SmilesParser to get nn in ^nn- base on match to actual structure
|
int[][] |
getCorrelationMaps(java.lang.String pattern,
Node[] atoms,
int atomCount,
javajs.util.BS bsSelected,
int flags)
Rather than returning bitsets, this method returns the sets of matching
atoms in array form so that a direct atom-atom correlation can be made.
|
java.lang.String |
getLastException() |
int[][] |
getMapForJME(java.lang.String jme,
Atom[] at,
javajs.util.BS bsAtoms) |
void |
getMMFF94AtomTypes(java.lang.String[] smarts,
Node[] atoms,
int ac,
javajs.util.BS bsSelected,
javajs.util.Lst<javajs.util.BS> ret,
javajs.util.Lst<javajs.util.BS>[] vRings)
called by ForceFieldMMFF.setAtomTypes only
|
java.lang.String |
getMolecularFormula(java.lang.String pattern,
boolean isSmarts) |
java.lang.String |
getRelationship(java.lang.String smiles1,
java.lang.String smiles2) |
java.lang.String |
getSmiles(Node[] atoms,
int ac,
javajs.util.BS bsSelected,
java.lang.String bioComment,
int flags)
internal to Jmol -- called by org.jmol.Viewer.getSmiles
|
javajs.util.BS |
getSubstructureSet(java.lang.String pattern,
Node[] atoms,
int ac,
javajs.util.BS bsSelected,
int flags)
Returns a bitset matching the pattern within a set of Jmol atoms.
|
javajs.util.BS[] |
getSubstructureSetArray(java.lang.String pattern,
Node[] atoms,
int ac,
javajs.util.BS bsSelected,
javajs.util.BS bsAromatic,
int flags)
Returns a vector of bitsets indicating which atoms match the pattern.
|
private java.lang.Object |
matchPriv(java.lang.String pattern,
Node[] atoms,
int ac,
javajs.util.BS bsSelected,
javajs.util.BS bsAromatic,
boolean doTestAromatic,
int flags,
int mode) |
java.lang.String |
polyhedronToSmiles(Node center,
int[][] faces,
int atomCount,
javajs.util.P3[] points,
int flags,
java.lang.String details)
Generate a topological SMILES string from a set of faces
|
java.lang.String |
reverseChirality(java.lang.String smiles)
Note, this may be incompatible with [$(select(..))]
THIS IS NOT DEPENDABLE.
|
private static final int MODE_BITSET
private static final int MODE_ARRAY
private static final int MODE_MAP
private static final int MODE_ATROP
public java.lang.String getLastException()
getLastException in interface SmilesMatcherInterfacepublic java.lang.String getMolecularFormula(java.lang.String pattern,
boolean isSmarts)
throws java.lang.Exception
getMolecularFormula in interface SmilesMatcherInterfacejava.lang.Exceptionpublic java.lang.String getSmiles(Node[] atoms, int ac, javajs.util.BS bsSelected, java.lang.String bioComment, int flags) throws java.lang.Exception
getSmiles in interface SmilesMatcherInterfacejava.lang.Exceptionpublic int areEqual(java.lang.String smiles1,
java.lang.String smiles2)
throws java.lang.Exception
areEqual in interface SmilesMatcherInterfacejava.lang.Exceptionpublic boolean areEqualTest(java.lang.String smiles,
SmilesSearch search)
throws java.lang.Exception
smiles - search - java.lang.Exceptionpublic int[][] find(java.lang.String pattern,
java.lang.String target,
int flags)
throws java.lang.Exception
find in interface SmilesMatcherInterfacepattern - SMILES or SMARTS pattern.target - flags - java.lang.Exceptionpublic Node[] getAtoms(java.lang.String target) throws java.lang.Exception
getAtoms in interface SmilesMatcherInterfacejava.lang.Exceptionpublic java.lang.String getRelationship(java.lang.String smiles1,
java.lang.String smiles2)
throws java.lang.Exception
getRelationship in interface SmilesMatcherInterfacejava.lang.Exceptionpublic java.lang.String reverseChirality(java.lang.String smiles)
reverseChirality in interface SmilesMatcherInterfacepublic javajs.util.BS getSubstructureSet(java.lang.String pattern,
Node[] atoms,
int ac,
javajs.util.BS bsSelected,
int flags)
throws java.lang.Exception
getSubstructureSet in interface SmilesMatcherInterfacepattern - SMILES or SMARTS pattern.atoms - ac - bsSelected - java.lang.Exceptionpublic void getMMFF94AtomTypes(java.lang.String[] smarts,
Node[] atoms,
int ac,
javajs.util.BS bsSelected,
javajs.util.Lst<javajs.util.BS> ret,
javajs.util.Lst<javajs.util.BS>[] vRings)
throws java.lang.Exception
getMMFF94AtomTypes in interface SmilesMatcherInterfacejava.lang.Exceptionpublic javajs.util.BS[] getSubstructureSetArray(java.lang.String pattern,
Node[] atoms,
int ac,
javajs.util.BS bsSelected,
javajs.util.BS bsAromatic,
int flags)
throws java.lang.Exception
getSubstructureSetArray in interface SmilesMatcherInterfacepattern - SMILES or SMARTS pattern.atoms - ac - bsSelected - bsAromatic - java.lang.Exceptionpublic java.lang.String getAtropisomerKeys(java.lang.String pattern,
Node[] atoms,
int ac,
javajs.util.BS bsSelected,
javajs.util.BS bsAromatic,
int flags)
throws java.lang.Exception
pattern - atoms - ac - bsSelected - bsAromatic - flags - java.lang.Exceptionpublic java.lang.String polyhedronToSmiles(Node center, int[][] faces, int atomCount, javajs.util.P3[] points, int flags, java.lang.String details) throws java.lang.Exception
polyhedronToSmiles in interface SmilesMatcherInterfacefaces - atomCount - java.lang.Exceptionpublic int[][] getCorrelationMaps(java.lang.String pattern,
Node[] atoms,
int atomCount,
javajs.util.BS bsSelected,
int flags)
throws java.lang.Exception
getCorrelationMaps in interface SmilesMatcherInterfacepattern - SMILES or SMARTS pattern.atoms - bsSelected - java.lang.Exceptionprivate java.lang.Object findPriv(java.lang.String pattern,
SmilesSearch search,
int flags,
int mode)
throws java.lang.Exception
java.lang.Exceptionprivate java.lang.Object matchPriv(java.lang.String pattern,
Node[] atoms,
int ac,
javajs.util.BS bsSelected,
javajs.util.BS bsAromatic,
boolean doTestAromatic,
int flags,
int mode)
throws java.lang.Exception
java.lang.Exceptionpublic java.lang.String cleanSmiles(java.lang.String smiles)
cleanSmiles in interface SmilesMatcherInterfacepublic int[][] getMapForJME(java.lang.String jme,
Atom[] at,
javajs.util.BS bsAtoms)
getMapForJME in interface SmilesMatcherInterface