public class SmilesStereo extends 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 String |
details |
private 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 |
Constructor and Description |
---|
SmilesStereo(int chiralClass,
int chiralOrder,
int atomCount,
String details,
String directives) |
Modifier and Type | Method and Description |
---|---|
(package private) static int |
checkChirality(String pattern,
int index,
SmilesAtom newAtom) |
(package private) boolean |
checkStereoChemistry(SmilesSearch search,
VTemp v) |
private static boolean |
checkStereochemistryAll(boolean isNot,
Node atom0,
int chiralClass,
int order,
Node atom1,
Node atom2,
Node atom3,
Node atom4,
Node atom5,
Node atom6,
VTemp v) |
(package private) static float |
distanceToPlane(javajs.util.V3 norm,
float w,
javajs.util.P3 pt) |
(package private) void |
fixStereo(SmilesAtom sAtom)
Check number of connections and permute them to match a canonical version
|
private void |
getAlleneAtom(SmilesAtom pAtom,
Node[] jn,
int k,
boolean haveTopo)
for allenes, we must check for missing atoms
|
int |
getChiralClass(SmilesAtom sAtom) |
private static int |
getChiralityClass(String xx) |
(package private) static int |
getHandedness(Node a,
Node b,
Node c,
Node 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(Node atom1,
Node atom2,
Node atom3,
Node atom4,
VTemp v) |
private void |
getPolyhedralOrders()
experimental Jmol polySMILES
|
(package private) static String |
getStereoFlag(Node atom0,
Node[] 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(Node atomA,
Node atomB,
Node atom1,
Node atom2,
VTemp v,
float f) |
static SmilesStereo |
newStereo(SmilesStereo stereo) |
private boolean |
normalizeClass(SmilesAtom atom)
re-order bonds to match standard @ and @@ types
|
private int |
setChiralClass(SmilesAtom sAtom) |
private boolean |
setTopoCoordinates(SmilesAtom atom,
SmilesAtom sAtom,
SmilesAtom sAtom2,
Node[] cAtoms) |
(package private) void |
sortBondsByStereo(Node atom,
Node atomPrev,
javajs.util.T3 ref,
Edge[] 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 String details
private SmilesSearch search
private Node[] jmolAtoms
private 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
private int[][] polyhedralOrders
private boolean isNot
private PolyhedronStereoSorter sorter
SmilesStereo(int chiralClass, int chiralOrder, int atomCount, String details, String directives) throws InvalidSmilesException
InvalidSmilesException
private static int getChiralityClass(String xx)
public static SmilesStereo newStereo(SmilesStereo stereo) 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
- private 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(Node atom, Node atomPrev, javajs.util.T3 ref, Edge[] bonds, javajs.util.V3 vTemp)
atom
- atomPrev
- ref
- bonds
- vTemp
- boolean checkStereoChemistry(SmilesSearch search, VTemp v)
private void getAlleneAtom(SmilesAtom pAtom, Node[] jn, int k, boolean haveTopo)
pAtom
- jn
- k
- haveTopo
- static String getStereoFlag(Node atom0, Node[] atoms, int nAtoms, VTemp v)
atom0
- atoms
- nAtoms
- v
- private static boolean checkStereochemistryAll(boolean isNot, Node atom0, int chiralClass, int order, Node atom1, Node atom2, Node atom3, Node atom4, Node atom5, Node atom6, VTemp v)
static boolean isDiaxial(Node atomA, Node atomB, Node atom1, Node atom2, VTemp v, float f)
static int getHandedness(Node a, Node b, Node c, Node pt, VTemp v)
a
- b
- c
- pt
- v
- private static void getPlaneNormals(Node atom1, Node atom2, Node atom3, Node atom4, VTemp v)
static float distanceToPlane(javajs.util.V3 norm, float w, javajs.util.P3 pt)
static int checkChirality(String pattern, int index, SmilesAtom newAtom) throws InvalidSmilesException
InvalidSmilesException
private void getPolyhedralOrders() throws InvalidSmilesException
InvalidSmilesException