public class SmilesStereo
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
ALLENE |
(package private) int |
atomCount |
private int |
chiralClass |
(package private) int |
chiralOrder |
static int |
DEFAULT |
private java.lang.String |
details |
private java.lang.String |
directives |
private boolean |
isNot |
private Node[] |
jmolAtoms |
static int |
OCTAHEDRAL |
private static int[] |
PERM_OCT |
private static int[] |
PERM_SS |
private static int[] |
PERM_TB |
static int |
POLYHEDRAL |
private int[][] |
polyhedralOrders |
private SmilesSearch |
search |
static int |
SEESAW |
private PolyhedronStereoSorter |
sorter |
static int |
SQUARE_PLANAR |
static int |
T_SHAPED |
static int |
TETRAHEDRAL |
static int |
TRIGONAL_BIPYRAMIDAL |
static int |
TRIGONAL_PYRAMIDAL |
(package private) VTemp |
v |
Constructor and Description |
---|
SmilesStereo(int chiralClass,
int chiralOrder,
int atomCount,
java.lang.String details,
java.lang.String directives) |
Modifier and Type | Method and Description |
---|---|
private void |
addAlleneLonePair(SmilesAtom pAtom,
Node[] jn,
int k)
for allenes, we must check for missing atoms
|
(package private) static int |
checkChirality(SmilesSearch search,
java.lang.String pattern,
int index,
SmilesAtom newAtom) |
(package private) boolean |
checkStereoChemistry(SmilesSearch search,
VTemp v) |
private static boolean |
checkStereochemistryAll(boolean isNot,
SimpleNode atom0,
int chiralClass,
int order,
SimpleNode atom1,
SimpleNode atom2,
SimpleNode atom3,
SimpleNode atom4,
SimpleNode atom5,
SimpleNode atom6,
VTemp v) |
int |
checkStereoForAtom(SmilesAtom pAtom,
Node atom0,
boolean isNot,
boolean haveTopo) |
(package private) void |
fixStereo(SmilesAtom sAtom)
Check number of connections and permute them to match a canonical version
|
Node[] |
getAlleneAtoms(SmilesAtom pAtom,
SmilesAtom pAtom1) |
int |
getChiralClass(SmilesAtom sAtom) |
private static int |
getChiralityClass(java.lang.String xx) |
(package private) static int |
getHandedness(SimpleNode a,
SimpleNode b,
SimpleNode c,
SimpleNode pt,
VTemp v)
determine the winding of the circuit a--b--c relative to point pt
|
private Node |
getJmolAtom(int i) |
private int[] |
getMappedTopoAtoms(SmilesAtom atom,
SmilesAtom a2,
Node[] cAtoms) |
private static void |
getPlaneNormals(javajs.util.P3 atom1,
javajs.util.P3 atom2,
javajs.util.P3 atom3,
javajs.util.P3 atom4,
VTemp v) |
private void |
getPolyhedralOrders()
experimental Jmol polySMILES
|
(package private) static java.lang.String |
getStereoFlag(SimpleNode atom0,
SimpleNode[] atoms,
int nAtoms,
VTemp v) |
private static boolean |
getTopoMapPt(int[] map,
int i,
SmilesAtom atom,
SmilesAtom cAtom,
SmilesBond[] bonds,
int n000) |
(package private) static boolean |
isDiaxial(SimpleNode atomA,
SimpleNode atomB,
SimpleNode atom1,
SimpleNode atom2,
VTemp v,
float f) |
static SmilesStereo |
newStereo(SmilesSearch search) |
private boolean |
normalizeClass(SmilesAtom atom)
re-order bonds to match standard @ and @@ types
|
private int |
setChiralClass(SmilesAtom sAtom) |
boolean |
setTopoCoordinates(SmilesAtom atom,
SmilesAtom sAtom,
SmilesAtom sAtom2,
Node[] cAtoms) |
(package private) void |
sortBondsByStereo(SimpleNode atom,
SimpleNode atomPrev,
javajs.util.T3 ref,
SimpleEdge[] bonds,
javajs.util.V3 vTemp)
Sort bond array as ccw rotation around the axis connecting the atom and the
reference point (polyhedron center) as seen from outside the polyhedron
looking in.
|
private int chiralClass
int chiralOrder
int atomCount
private java.lang.String details
private SmilesSearch search
private Node[] jmolAtoms
private java.lang.String directives
public static final int DEFAULT
public static final int POLYHEDRAL
public static final int ALLENE
public static final int TRIGONAL_PYRAMIDAL
public static final int TETRAHEDRAL
public static final int TRIGONAL_BIPYRAMIDAL
public static final int OCTAHEDRAL
public static final int SQUARE_PLANAR
public static final int T_SHAPED
public static final int SEESAW
private static final int[] PERM_TB
private static final int[] PERM_OCT
private static final int[] PERM_SS
VTemp v
private int[][] polyhedralOrders
private boolean isNot
private PolyhedronStereoSorter sorter
SmilesStereo(int chiralClass, int chiralOrder, int atomCount, java.lang.String details, java.lang.String directives) throws InvalidSmilesException
InvalidSmilesException
private static int getChiralityClass(java.lang.String xx)
public static SmilesStereo newStereo(SmilesSearch search) throws InvalidSmilesException
InvalidSmilesException
public int getChiralClass(SmilesAtom sAtom)
private int setChiralClass(SmilesAtom sAtom)
void fixStereo(SmilesAtom sAtom) throws InvalidSmilesException
sAtom
- InvalidSmilesException
private boolean normalizeClass(SmilesAtom atom)
atom
- public boolean setTopoCoordinates(SmilesAtom atom, SmilesAtom sAtom, SmilesAtom sAtom2, Node[] cAtoms)
private int[] getMappedTopoAtoms(SmilesAtom atom, SmilesAtom a2, Node[] cAtoms)
private static boolean getTopoMapPt(int[] map, int i, SmilesAtom atom, SmilesAtom cAtom, SmilesBond[] bonds, int n000)
map
- i
- atom
- cAtom
- bonds
- n000
- private Node getJmolAtom(int i)
void sortBondsByStereo(SimpleNode atom, SimpleNode atomPrev, javajs.util.T3 ref, SimpleEdge[] bonds, javajs.util.V3 vTemp)
atom
- atomPrev
- ref
- bonds
- vTemp
- boolean checkStereoChemistry(SmilesSearch search, VTemp v)
public int checkStereoForAtom(SmilesAtom pAtom, Node atom0, boolean isNot, boolean haveTopo)
public Node[] getAlleneAtoms(SmilesAtom pAtom, SmilesAtom pAtom1)
private void addAlleneLonePair(SmilesAtom pAtom, Node[] jn, int k)
pAtom
- jn
- k
- static java.lang.String getStereoFlag(SimpleNode atom0, SimpleNode[] atoms, int nAtoms, VTemp v)
atom0
- atoms
- nAtoms
- v
- private static boolean checkStereochemistryAll(boolean isNot, SimpleNode atom0, int chiralClass, int order, SimpleNode atom1, SimpleNode atom2, SimpleNode atom3, SimpleNode atom4, SimpleNode atom5, SimpleNode atom6, VTemp v)
static boolean isDiaxial(SimpleNode atomA, SimpleNode atomB, SimpleNode atom1, SimpleNode atom2, VTemp v, float f)
static int getHandedness(SimpleNode a, SimpleNode b, SimpleNode c, SimpleNode pt, VTemp v)
a
- b
- c
- pt
- v
- private static void getPlaneNormals(javajs.util.P3 atom1, javajs.util.P3 atom2, javajs.util.P3 atom3, javajs.util.P3 atom4, VTemp v)
static int checkChirality(SmilesSearch search, java.lang.String pattern, int index, SmilesAtom newAtom) throws InvalidSmilesException
InvalidSmilesException
private void getPolyhedralOrders() throws InvalidSmilesException
InvalidSmilesException