org.jmol.smiles
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) BitSet |
bsAromatic |
private BitSet |
bsFound |
(package private) BitSet |
bsRequired |
private BitSet |
bsReturn |
private BitSet |
bsSelected |
(package private) boolean |
firstMatchOnly |
(package private) boolean |
getMaps |
(package private) boolean |
haveAtomStereochemistry |
(package private) boolean |
haveBondStereochemistry |
(package private) boolean |
haveSelected |
private Map<String,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) 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) String |
pattern |
(package private) SmilesAtom[] |
patternAtoms |
private int[] |
ringConnections |
private int[] |
ringCounts |
private BitSet[] |
ringData |
(package private) int |
ringDataMax |
(package private) StringBuffer |
ringSets |
private int |
selectedAtomCount |
(package private) SmilesSearch[] |
subSearches |
(package private) SmilesSearch.VTemp |
v |
private List<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(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(BitSet bsAromatic) |
(package private) static float |
distanceToPlane(Vector3f norm,
float w,
Point3f pt) |
private 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,
BitSet bsHydrogens) |
private JmolNode |
getJmolAtom(int i) |
(package private) int[] |
getMappedAtoms(JmolNode atom,
JmolNode a2,
JmolNode[] cAtoms) |
(package private) int |
getMissingHydrogenCount() |
(package private) 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(StringBuffer ringSets,
int i,
int j) |
(package private) Object |
search(boolean firstAtomOnly)
the start of the search.
|
(package private) void |
setAtomArray() |
(package private) void |
setNested(int iNested,
Object o) |
void |
setParent(SmilesSearch parent) |
(package private) void |
setRingData(BitSet bsA) |
(package private) void |
setSelected(BitSet bs) |
private void |
setSmilesBondCoordinates(SmilesAtom sAtom1,
SmilesAtom sAtom2,
int bondType) |
private boolean |
setSmilesCoordinates(JmolNode atom,
SmilesAtom sAtom,
SmilesAtom sAtom2,
JmolNode[] cAtoms) |
String |
toString() |
addMolecule, getBranchBitSet, getMolecularFormula, getMolecularFormula, getMolecules
private static final int INITIAL_ATOMS
SmilesAtom[] patternAtoms
String pattern
JmolNode[] jmolAtoms
int jmolAtomCount
private BitSet bsSelected
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
List<SmilesMeasure> measures
boolean noAromatic
boolean ignoreStereochemistry
StringBuffer ringSets
BitSet bsAromatic
SmilesAtom lastChainAtom
boolean asVector
boolean getMaps
SmilesSearch parent
private boolean isSilent
private boolean isRingCheck
private int selectedAtomCount
private BitSet[] ringData
private int[] ringCounts
private int[] ringConnections
private BitSet bsFound
private int nNested
private SmilesBond nestedBond
private BitSet bsReturn
void setSelected(BitSet bs)
void setAtomArray()
SmilesAtom addAtom()
int addNested(String pattern)
void setNested(int iNested, Object o)
Object getNested(int iNested)
int getMissingHydrogenCount()
void setRingData(BitSet bsA) throws InvalidSmilesException
InvalidSmilesException
private Object getBitSets(SmilesSearch search, boolean firstAtomOnly, boolean isRingCheck) throws InvalidSmilesException
InvalidSmilesException
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(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)
void createTopoMap(BitSet bsAromatic)
public void setParent(SmilesSearch parent)
SmilesSearch getParent()