Package org.openscience.cdk.stereo
Class Octahedral
java.lang.Object
org.openscience.cdk.stereo.Octahedral
- All Implemented Interfaces:
Cloneable
,ICDKObject
,IStereoElement<IAtom,
IAtom>
Represents an octahedral configuration of an atom six neighbors. The
configuration order is defined as between 1 and 30 using the same permutation
tables as SMILES (e.g. @OH1 .. @OH30). This allows the 720 permutations of
atom ordering to be described.
Normalizing the representation (with
Normalizing the representation (with
normalize()
returns a
configuration reordered such that the configuration order is 1. For example
C[Co@OH8](F)(Br)(Cl)(I)Sis the same as
C[Co@OH1](F)(Cl)(Br)(I)S. The normalised form is easy to work with as the first and last carriers form an axis, the middle four equatorial carriers are arranged anti-clockwise looking from the first carrier.
c | a |/ d---x---b = OH1 /| where a: first carrier, b: second carried, etc f | x: focus e 'a' is in front of the focus 'x', 'f' is behind
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final int
protected static final int
protected static final int
protected static final int
protected static final int
protected static final int
Fields inherited from interface org.openscience.cdk.interfaces.IStereoElement
AL, Allenal, AT, Atropisomeric, CFG_MASK, CisTrans, CLS_MASK, CT, CU, Cumulene, GRP_ABS, GRP_MASK, GRP_NUM_MASK, GRP_NUM_SHIFT, GRP_RAC, GRP_RAC1, GRP_RAC2, GRP_RAC3, GRP_RAC4, GRP_RAC5, GRP_REL, GRP_REL1, GRP_REL2, GRP_REL3, GRP_REL4, GRP_REL5, GRP_TYPE_MASK, HBPY8, HBPY9, HeptagonalBipyramidal, HexagonalBipyramidal, LEFT, OC, Octahedral, OPPOSITE, PBPY, PentagonalBipyramidal, RIGHT, SP, SP4, SPU, SPY, SPZ, SquarePlanar, SquarePyramidal, TBPY, Tetrahedral, TH, TOGETHER, TrigonalBipyramidal
-
Constructor Summary
ConstructorsConstructorDescriptionOctahedral
(IAtom focus, IAtom[] carriers, int order) Create a new octahedral configuration. -
Method Summary
Modifier and TypeMethodDescriptionboolean
protected Octahedral
int
int
int
getFocus()
int
protected static <T> T[]
invapply
(T[] src, int[] perm) map
(Map<IChemObject, IChemObject> chemobjs) final IStereoElement<IAtom,
IAtom> mapStrict
(Map<IChemObject, IChemObject> chemobjs) Normalize the configuration to the lowest order (1).protected static int
numCarriers
(int cfg) protected void
setBuilder
(IChemObjectBuilder builder) void
setConfigOrder
(int cfg) void
setGroupInfo
(int grp)
-
Field Details
-
A
protected static final int A- See Also:
-
B
protected static final int B- See Also:
-
C
protected static final int C- See Also:
-
D
protected static final int D- See Also:
-
E
protected static final int E- See Also:
-
F
protected static final int F- See Also:
-
-
Constructor Details
-
Octahedral
Create a new octahedral configuration.- Parameters:
focus
- the focuscarriers
- the carriersorder
- the order of the configuration 0-30.
-
-
Method Details
-
normalize
Normalize the configuration to the lowest order (1). For exampleC[Co@OH8](F)(Br)(Cl)(I)S
is the same asC[Co@OH1](F)(Cl)(Br)(I)S
. The normalised form is easy to work with as the first and last carriers form an axis, the middle four equatorial carriers are arranged anti-clockwise looking from the first carrier.- Returns:
- the normalized form
-
create
-
numCarriers
protected static int numCarriers(int cfg) -
getFocus
- Specified by:
getFocus
in interfaceIStereoElement<F extends IChemObject,
C extends IChemObject>
-
getCarriers
- Specified by:
getCarriers
in interfaceIStereoElement<F extends IChemObject,
C extends IChemObject>
-
getConfigClass
public int getConfigClass()- Specified by:
getConfigClass
in interfaceIStereoElement<F extends IChemObject,
C extends IChemObject>
-
getConfigOrder
public int getConfigOrder()- Specified by:
getConfigOrder
in interfaceIStereoElement<F extends IChemObject,
C extends IChemObject>
-
getConfig
public int getConfig()- Specified by:
getConfig
in interfaceIStereoElement<F extends IChemObject,
C extends IChemObject>
-
setConfigOrder
public void setConfigOrder(int cfg) - Specified by:
setConfigOrder
in interfaceIStereoElement<F extends IChemObject,
C extends IChemObject>
-
getGroupInfo
public int getGroupInfo()- Specified by:
getGroupInfo
in interfaceIStereoElement<F extends IChemObject,
C extends IChemObject>
-
setGroupInfo
public void setGroupInfo(int grp) - Specified by:
setGroupInfo
in interfaceIStereoElement<F extends IChemObject,
C extends IChemObject>
-
contains
- Specified by:
contains
in interfaceIStereoElement<F extends IChemObject,
C extends IChemObject>
-
map
- Specified by:
map
in interfaceIStereoElement<F extends IChemObject,
C extends IChemObject>
-
map
- Specified by:
map
in interfaceIStereoElement<F extends IChemObject,
C extends IChemObject>
-
mapStrict
- Specified by:
mapStrict
in interfaceIStereoElement<F extends IChemObject,
C extends IChemObject>
-
getBuilder
- Specified by:
getBuilder
in interfaceICDKObject
-
setBuilder
-
invapply
protected static <T> T[] invapply(T[] src, int[] perm)
-