public class SmilesSearch extends JmolMolecule
Modifier and Type | Class and Description |
---|---|
(package private) static class |
SmilesSearch.VTemp |
Modifier and Type | Field and Description |
---|---|
(package private) boolean |
asVector |
(package private) java.util.BitSet |
bsAromatic |
private java.util.BitSet |
bsFound |
(package private) java.util.BitSet |
bsRequired |
private java.util.BitSet |
bsReturn |
private java.util.BitSet |
bsSelected |
(package private) boolean |
firstMatchOnly |
(package private) boolean |
getMaps |
(package private) boolean |
haveAtomStereochemistry |
(package private) boolean |
haveBondStereochemistry |
(package private) boolean |
haveSelected |
private java.util.Map<java.lang.String,java.lang.Object> |
htNested |
(package private) boolean |
ignoreStereochemistry |
private static int |
INITIAL_ATOMS |
private boolean |
isRingCheck |
private boolean |
isSilent |
(package private) boolean |
isSmarts |
(package private) boolean |
isSmilesFind |
(package private) int |
jmolAtomCount |
(package private) JmolNode[] |
jmolAtoms |
(package private) SmilesAtom |
lastChainAtom |
(package private) boolean |
matchAllAtoms |
(package private) java.util.List<SmilesMeasure> |
measures |
(package private) boolean |
needAromatic |
(package private) boolean |
needRingData |
(package private) boolean |
needRingMemberships |
private SmilesBond |
nestedBond |
private int |
nNested |
(package private) boolean |
noAromatic |
(package private) SmilesSearch |
parent |
(package private) java.lang.String |
pattern |
(package private) SmilesAtom[] |
patternAtoms |
private int[] |
ringConnections |
private int[] |
ringCounts |
private java.util.BitSet[] |
ringData |
(package private) int |
ringDataMax |
(package private) java.lang.StringBuffer |
ringSets |
private int |
selectedAtomCount |
(package private) SmilesSearch[] |
subSearches |
(package private) SmilesSearch.VTemp |
v |
private java.util.List<java.lang.Object> |
vReturn |
altElementCounts, altElementMax, atomCount, atomList, elementCounts, elementNumberMax, firstAtomIndex, indexInModel, mf, modelIndex, moleculeIndex, nElements, nodes
Constructor and Description |
---|
SmilesSearch() |
Modifier and Type | Method and Description |
---|---|
(package private) SmilesAtom |
addAtom() |
(package private) int |
addNested(java.lang.String pattern) |
private boolean |
checkMatch(SmilesAtom patternAtom,
int atomNum,
int iAtom,
boolean firstAtomOnly)
Check for a specific match of a model set atom with a pattern position
|
private boolean |
checkMatchBond(SmilesAtom patternAtom,
SmilesAtom atom1,
SmilesBond patternBond,
int iAtom,
int matchingAtom,
JmolEdge bond) |
private boolean |
checkPrimitiveAtom(SmilesAtom patternAtom,
int iAtom) |
private boolean |
checkPrimitiveBond(SmilesBond patternBond,
int iAtom1,
int iAtom2,
JmolEdge bond) |
private boolean |
checkStereochemistry() |
(package private) static boolean |
checkStereochemistry(boolean isNot,
JmolNode atom0,
int chiralClass,
int order,
JmolNode atom1,
JmolNode atom2,
JmolNode atom3,
JmolNode atom4,
JmolNode atom5,
JmolNode atom6,
SmilesSearch.VTemp v) |
private boolean |
continueMatch(int atomNum,
int iAtom,
boolean firstAtomOnly) |
(package private) void |
createTopoMap(java.util.BitSet bsAromatic) |
(package private) static float |
distanceToPlane(javax.vecmath.Vector3f norm,
float w,
javax.vecmath.Point3f pt) |
private java.lang.Object |
getBitSets(SmilesSearch search,
boolean firstAtomOnly,
boolean isRingCheck) |
private static int |
getHandedness(JmolNode a,
JmolNode b,
JmolNode c,
JmolNode pt,
SmilesSearch.VTemp v)
compares the
|
private JmolNode |
getHydrogens(JmolNode atom,
java.util.BitSet bsHydrogens) |
private JmolNode |
getJmolAtom(int i) |
(package private) int[] |
getMappedAtoms(JmolNode atom,
JmolNode a2,
JmolNode[] cAtoms) |
(package private) int |
getMissingHydrogenCount() |
(package private) java.lang.Object |
getNested(int iNested) |
(package private) SmilesSearch |
getParent() |
private static void |
getPlaneNormals(JmolNode atom1,
JmolNode atom2,
JmolNode atom3,
JmolNode atom4,
SmilesSearch.VTemp v) |
private void |
getX(SmilesAtom sAtom,
JmolNode[] jn,
int pt,
boolean haveCoordinates,
boolean needHSwitch) |
(package private) static boolean |
isDiaxial(JmolNode atomA,
JmolNode atomB,
JmolNode atom1,
JmolNode atom2,
SmilesSearch.VTemp v,
float f) |
(package private) static boolean |
isRingBond(java.lang.StringBuffer ringSets,
int i,
int j) |
(package private) java.lang.Object |
search(boolean firstAtomOnly)
the start of the search.
|
(package private) void |
setAtomArray() |
(package private) void |
setNested(int iNested,
java.lang.Object o) |
void |
setParent(SmilesSearch parent) |
(package private) void |
setRingData(java.util.BitSet bsA) |
(package private) void |
setSelected(java.util.BitSet bs) |
private void |
setSmilesBondCoordinates(SmilesAtom sAtom1,
SmilesAtom sAtom2,
int bondType) |
private boolean |
setSmilesCoordinates(JmolNode atom,
SmilesAtom sAtom,
SmilesAtom sAtom2,
JmolNode[] cAtoms) |
java.lang.String |
toString() |
addMolecule, getBranchBitSet, getMolecularFormula, getMolecularFormula, getMolecules
private static final int INITIAL_ATOMS
SmilesAtom[] patternAtoms
java.lang.String pattern
JmolNode[] jmolAtoms
int jmolAtomCount
private java.util.BitSet bsSelected
java.util.BitSet bsRequired
boolean firstMatchOnly
boolean matchAllAtoms
boolean isSmarts
boolean isSmilesFind
SmilesSearch[] subSearches
boolean haveSelected
boolean haveBondStereochemistry
boolean haveAtomStereochemistry
boolean needRingData
boolean needAromatic
boolean needRingMemberships
int ringDataMax
java.util.List<SmilesMeasure> measures
boolean noAromatic
boolean ignoreStereochemistry
java.lang.StringBuffer ringSets
java.util.BitSet bsAromatic
SmilesAtom lastChainAtom
boolean asVector
boolean getMaps
SmilesSearch parent
private boolean isSilent
private boolean isRingCheck
private int selectedAtomCount
private java.util.BitSet[] ringData
private int[] ringCounts
private int[] ringConnections
private java.util.BitSet bsFound
private java.util.Map<java.lang.String,java.lang.Object> htNested
private int nNested
private SmilesBond nestedBond
private java.util.List<java.lang.Object> vReturn
private java.util.BitSet bsReturn
public java.lang.String toString()
toString
in class java.lang.Object
void setSelected(java.util.BitSet bs)
void setAtomArray()
SmilesAtom addAtom()
int addNested(java.lang.String pattern)
void setNested(int iNested, java.lang.Object o)
java.lang.Object getNested(int iNested)
int getMissingHydrogenCount()
void setRingData(java.util.BitSet bsA) throws InvalidSmilesException
InvalidSmilesException
private java.lang.Object getBitSets(SmilesSearch search, boolean firstAtomOnly, boolean isRingCheck) throws InvalidSmilesException
InvalidSmilesException
java.lang.Object search(boolean firstAtomOnly) throws InvalidSmilesException
firstAtomOnly
- TODOInvalidSmilesException
private final boolean checkMatch(SmilesAtom patternAtom, int atomNum, int iAtom, boolean firstAtomOnly) throws InvalidSmilesException
patternAtom
- Atom of the pattern that is currently tested.atomNum
- Current atom of the pattern.iAtom
- Atom number of the Jmol atom that is currently tested to match
patternAtom
.firstAtomOnly
- TODOInvalidSmilesException
private boolean continueMatch(int atomNum, int iAtom, boolean firstAtomOnly) throws InvalidSmilesException
InvalidSmilesException
private boolean checkPrimitiveAtom(SmilesAtom patternAtom, int iAtom) throws InvalidSmilesException
InvalidSmilesException
private boolean checkMatchBond(SmilesAtom patternAtom, SmilesAtom atom1, SmilesBond patternBond, int iAtom, int matchingAtom, JmolEdge bond)
private boolean checkPrimitiveBond(SmilesBond patternBond, int iAtom1, int iAtom2, JmolEdge bond)
static boolean isRingBond(java.lang.StringBuffer ringSets, int i, int j)
private boolean checkStereochemistry()
private void getX(SmilesAtom sAtom, JmolNode[] jn, int pt, boolean haveCoordinates, boolean needHSwitch)
static boolean checkStereochemistry(boolean isNot, JmolNode atom0, int chiralClass, int order, JmolNode atom1, JmolNode atom2, JmolNode atom3, JmolNode atom4, JmolNode atom5, JmolNode atom6, SmilesSearch.VTemp v)
private JmolNode getJmolAtom(int i)
private void setSmilesBondCoordinates(SmilesAtom sAtom1, SmilesAtom sAtom2, int bondType)
private boolean setSmilesCoordinates(JmolNode atom, SmilesAtom sAtom, SmilesAtom sAtom2, JmolNode[] cAtoms)
static boolean isDiaxial(JmolNode atomA, JmolNode atomB, JmolNode atom1, JmolNode atom2, SmilesSearch.VTemp v, float f)
private static int getHandedness(JmolNode a, JmolNode b, JmolNode c, JmolNode pt, SmilesSearch.VTemp v)
a
- b
- c
- pt
- v
- private static void getPlaneNormals(JmolNode atom1, JmolNode atom2, JmolNode atom3, JmolNode atom4, SmilesSearch.VTemp v)
static float distanceToPlane(javax.vecmath.Vector3f norm, float w, javax.vecmath.Point3f pt)
void createTopoMap(java.util.BitSet bsAromatic)
public void setParent(SmilesSearch parent)
SmilesSearch getParent()