public class SmilesSearch extends JmolMolecule
Modifier and Type | Field and Description |
---|---|
private boolean |
aromaticDouble |
(package private) boolean |
asVector |
(package private) BNode[] |
bioAtoms |
(package private) BS |
bsAromatic |
(package private) BS |
bsAromatic5 |
(package private) BS |
bsAromatic6 |
private BS |
bsCheck |
(package private) BS |
bsFound |
(package private) BS |
bsRequired |
(package private) BS |
bsReturn |
private BS |
bsSelected |
(package private) boolean |
firstMatchOnly |
(package private) int |
flags |
(package private) boolean |
getMaps |
(package private) boolean |
haveBondStereochemistry |
(package private) boolean |
haveSelected |
private java.util.Map<java.lang.String,java.lang.Object> |
htNested |
private boolean |
ignoreStereochemistry |
private static int |
INITIAL_ATOMS |
(package private) boolean |
invertStereochemistry |
private boolean |
isRingCheck |
private boolean |
isSilent |
(package private) boolean |
isSmarts |
(package private) boolean |
isSmilesFind |
(package private) boolean |
isTopology |
(package private) int |
jmolAtomCount |
(package private) Node[] |
jmolAtoms |
(package private) SmilesAtom |
lastChainAtom |
(package private) boolean |
matchAllAtoms |
(package private) javajs.util.Lst<SmilesMeasure> |
measures |
(package private) boolean |
needAromatic |
(package private) boolean |
needRingData |
(package private) boolean |
needRingMemberships |
private SmilesBond |
nestedBond |
private int |
nNested |
private boolean |
noAromatic |
private boolean |
noncanonical |
(package private) java.lang.String |
pattern |
(package private) SmilesAtom[] |
patternAtoms |
private int[] |
ringConnections |
private int[] |
ringCounts |
private BS[] |
ringData |
(package private) int |
ringDataMax |
(package private) javajs.util.SB |
ringSets |
private int |
selectedAtomCount |
(package private) SmilesStereo |
stereo |
(package private) SmilesSearch[] |
subSearches |
(package private) SmilesSearch |
top |
(package private) VTemp |
v |
private javajs.util.Lst<java.lang.Object> |
vReturn |
ac, altElementCounts, altElementMax, 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) |
(package private) SmilesAtom |
appendAtom(SmilesAtom sAtom) |
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,
Edge bond) |
private boolean |
checkPrimitiveAtom(SmilesAtom patternAtom,
int iAtom) |
private boolean |
checkPrimitiveBond(SmilesBond patternBond,
int iAtom1,
int iAtom2,
Edge bond) |
private boolean |
checkStereochemistry() |
(package private) void |
clear() |
private void |
clearBsFound(int iAtom) |
private boolean |
continueMatch(int atomNum,
int iAtom,
boolean firstAtomOnly) |
(package private) void |
createTopoMap(BS bsAromatic) |
(package private) Node |
getHydrogens(Node atom,
BS bsHydrogens) |
(package private) int[] |
getMappedAtoms(Node atom,
Node a2,
Node[] cAtoms) |
(package private) int |
getMissingHydrogenCount() |
(package private) java.lang.Object |
getNested(int iNested) |
(package private) void |
getRingData(boolean needRingData,
int flags,
javajs.util.Lst<BS>[] vRings) |
(package private) void |
getSelections()
htNested may contain $(select xxxx) primitives.
|
(package private) SmilesSearch |
getTop() |
(package private) static boolean |
isRingBond(javajs.util.SB ringSets,
int i,
int j) |
(package private) java.lang.Object |
search(boolean firstAtomOnly)
the start of the search.
|
private void |
setAromatic56(javajs.util.Lst<java.lang.Object> vRings,
BS bs56,
int n56,
javajs.util.Lst<BS> vAromatic56) |
(package private) void |
setAtomArray() |
(package private) void |
setNested(int iNested,
java.lang.Object o) |
(package private) void |
setRingData(BS bsA) |
(package private) void |
setSelected(BS bs) |
private void |
setSmilesBondCoordinates(SmilesAtom sAtom1,
SmilesAtom sAtom2,
int bondType) |
void |
setTop(SmilesSearch parent) |
(package private) java.lang.Object |
subsearch(SmilesSearch search,
boolean firstAtomOnly,
boolean isRingCheck) |
java.lang.String |
toString() |
addMolecule, getBitSetForMF, getBranchBitSet, getMolecularFormula, getMolecularFormula, getMolecules
private static final int INITIAL_ATOMS
SmilesAtom[] patternAtoms
java.lang.String pattern
Node[] jmolAtoms
BNode[] bioAtoms
int jmolAtomCount
private BS bsSelected
BS bsRequired
boolean firstMatchOnly
boolean matchAllAtoms
boolean isSmarts
boolean isSmilesFind
boolean isTopology
SmilesSearch[] subSearches
boolean haveSelected
boolean haveBondStereochemistry
SmilesStereo stereo
boolean needRingData
boolean needAromatic
boolean needRingMemberships
int ringDataMax
javajs.util.Lst<SmilesMeasure> measures
int flags
javajs.util.SB ringSets
BS bsAromatic
BS bsAromatic5
BS bsAromatic6
SmilesAtom lastChainAtom
boolean asVector
boolean getMaps
SmilesSearch top
private boolean isSilent
private boolean isRingCheck
private int selectedAtomCount
private BS[] ringData
private int[] ringCounts
private int[] ringConnections
BS bsFound
private java.util.Map<java.lang.String,java.lang.Object> htNested
private int nNested
private SmilesBond nestedBond
private javajs.util.Lst<java.lang.Object> vReturn
BS bsReturn
private boolean ignoreStereochemistry
boolean invertStereochemistry
private boolean noAromatic
private boolean aromaticDouble
private boolean noncanonical
private BS bsCheck
VTemp v
public java.lang.String toString()
toString
in class java.lang.Object
void setSelected(BS bs)
void setAtomArray()
SmilesAtom addAtom()
SmilesAtom appendAtom(SmilesAtom sAtom)
int addNested(java.lang.String pattern)
void clear()
void setNested(int iNested, java.lang.Object o)
java.lang.Object getNested(int iNested)
int getMissingHydrogenCount()
void setRingData(BS bsA) throws InvalidSmilesException
InvalidSmilesException
void getRingData(boolean needRingData, int flags, javajs.util.Lst<BS>[] vRings) throws InvalidSmilesException
InvalidSmilesException
private void setAromatic56(javajs.util.Lst<java.lang.Object> vRings, BS bs56, int n56, javajs.util.Lst<BS> vAromatic56)
java.lang.Object subsearch(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 void clearBsFound(int iAtom)
private boolean checkPrimitiveAtom(SmilesAtom patternAtom, int iAtom) throws InvalidSmilesException
InvalidSmilesException
private boolean checkMatchBond(SmilesAtom patternAtom, SmilesAtom atom1, SmilesBond patternBond, int iAtom, int matchingAtom, Edge bond)
private boolean checkPrimitiveBond(SmilesBond patternBond, int iAtom1, int iAtom2, Edge bond)
static boolean isRingBond(javajs.util.SB ringSets, int i, int j)
private boolean checkStereochemistry()
private void setSmilesBondCoordinates(SmilesAtom sAtom1, SmilesAtom sAtom2, int bondType)
void createTopoMap(BS bsAromatic)
public void setTop(SmilesSearch parent)
SmilesSearch getTop()
void getSelections()