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_BITSET |
private static int |
MODE_MAP |
Constructor and Description |
---|
SmilesMatcher() |
Modifier and Type | Method and Description |
---|---|
boolean |
areEqual(java.lang.String smiles,
SmilesSearch molecule)
for JUnit test, mainly
|
int |
areEqual(java.lang.String smiles1,
java.lang.String smiles2) |
private static int |
countStereo(java.lang.String s) |
private BS[] |
find(java.lang.String pattern,
SmilesSearch search,
boolean isSmarts,
boolean matchAllAtoms,
boolean firstMatchOnly) |
BS[] |
find(java.lang.String pattern,
java.lang.String smiles,
boolean isSmarts,
boolean firstMatchOnly)
Searches for all matches of a pattern within a SMILES string.
|
int[][] |
getCorrelationMaps(java.lang.String pattern,
Node[] atoms,
int ac,
BS bsSelected,
boolean isSmarts,
boolean firstMatchOnly)
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() |
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,
BS bsSelected,
boolean asBioSmiles,
boolean bioAllowUnmatchedRings,
boolean bioAddCrossLinks,
java.lang.String bioComment,
boolean explicitH) |
BS |
getSubstructureSet(java.lang.String pattern,
Node[] atoms,
int ac,
BS bsSelected,
boolean isSmarts,
boolean firstMatchOnly)
Returns a bitset matching the pattern within atoms.
|
BS[] |
getSubstructureSetArray(java.lang.String pattern,
Node[] atoms,
int ac,
BS bsSelected,
BS bsAromatic,
boolean isSmarts,
boolean firstMatchOnly)
Returns a vector of bitsets indicating which atoms match the pattern.
|
void |
getSubstructureSets(java.lang.String[] smarts,
Node[] atoms,
int ac,
int flags,
BS bsSelected,
javajs.util.Lst<BS> ret,
javajs.util.Lst<BS>[] vRings)
called by ForceFieldMMFF.setAtomTypes
|
private java.lang.Object |
match(java.lang.String pattern,
Node[] atoms,
int ac,
BS bsSelected,
BS bsAromatic,
boolean isSmarts,
boolean matchAllAtoms,
boolean firstMatchOnly,
int mode) |
java.lang.String |
reverseChirality(java.lang.String smiles) |
private static final int MODE_BITSET
private static final int MODE_ARRAY
private static final int MODE_MAP
public java.lang.String getLastException()
getLastException
in interface SmilesMatcherInterface
public java.lang.String getMolecularFormula(java.lang.String pattern, boolean isSmarts) throws java.lang.Exception
getMolecularFormula
in interface SmilesMatcherInterface
java.lang.Exception
public java.lang.String getSmiles(Node[] atoms, int ac, BS bsSelected, boolean asBioSmiles, boolean bioAllowUnmatchedRings, boolean bioAddCrossLinks, java.lang.String bioComment, boolean explicitH) throws java.lang.Exception
getSmiles
in interface SmilesMatcherInterface
java.lang.Exception
public int areEqual(java.lang.String smiles1, java.lang.String smiles2) throws java.lang.Exception
areEqual
in interface SmilesMatcherInterface
java.lang.Exception
public boolean areEqual(java.lang.String smiles, SmilesSearch molecule) throws java.lang.Exception
smiles
- molecule
- java.lang.Exception
public BS[] find(java.lang.String pattern, java.lang.String smiles, boolean isSmarts, boolean firstMatchOnly) throws java.lang.Exception
find
in interface SmilesMatcherInterface
pattern
- SMILES or SMARTS pattern.smiles
- isSmarts
- TRUE for SMARTS strings, FALSE for SMILES stringsfirstMatchOnly
- java.lang.Exception
public java.lang.String getRelationship(java.lang.String smiles1, java.lang.String smiles2) throws java.lang.Exception
getRelationship
in interface SmilesMatcherInterface
java.lang.Exception
public java.lang.String reverseChirality(java.lang.String smiles)
reverseChirality
in interface SmilesMatcherInterface
public BS getSubstructureSet(java.lang.String pattern, Node[] atoms, int ac, BS bsSelected, boolean isSmarts, boolean firstMatchOnly) throws java.lang.Exception
getSubstructureSet
in interface SmilesMatcherInterface
pattern
- SMILES or SMARTS pattern.atoms
- ac
- bsSelected
- isSmarts
- firstMatchOnly
- java.lang.Exception
public void getSubstructureSets(java.lang.String[] smarts, Node[] atoms, int ac, int flags, BS bsSelected, javajs.util.Lst<BS> ret, javajs.util.Lst<BS>[] vRings) throws java.lang.Exception
getSubstructureSets
in interface SmilesMatcherInterface
java.lang.Exception
public BS[] getSubstructureSetArray(java.lang.String pattern, Node[] atoms, int ac, BS bsSelected, BS bsAromatic, boolean isSmarts, boolean firstMatchOnly) throws java.lang.Exception
getSubstructureSetArray
in interface SmilesMatcherInterface
pattern
- SMILES or SMARTS pattern.atoms
- ac
- bsSelected
- bsAromatic
- isSmarts
- firstMatchOnly
- java.lang.Exception
public int[][] getCorrelationMaps(java.lang.String pattern, Node[] atoms, int ac, BS bsSelected, boolean isSmarts, boolean firstMatchOnly) throws java.lang.Exception
getCorrelationMaps
in interface SmilesMatcherInterface
pattern
- SMILES or SMARTS pattern.atoms
- ac
- bsSelected
- isSmarts
- firstMatchOnly
- java.lang.Exception
private BS[] find(java.lang.String pattern, SmilesSearch search, boolean isSmarts, boolean matchAllAtoms, boolean firstMatchOnly) throws java.lang.Exception
java.lang.Exception
private java.lang.Object match(java.lang.String pattern, Node[] atoms, int ac, BS bsSelected, BS bsAromatic, boolean isSmarts, boolean matchAllAtoms, boolean firstMatchOnly, int mode) throws java.lang.Exception
java.lang.Exception
private static int countStereo(java.lang.String s)