public final class ExtendedTetrahedral extends Object
p0 p2 p<i>: periphals
\ / t<i>: terminals
t0 = f = t1 f: focus
/ \
p1 p3
The data structure stores, the central 'focus' atom and the four peripheral
atoms. The peripheral atoms are stored in a single array, {p0, p1,
p2, p3}
, the first two and last two entries should be attached to the same
terminal atom (t0 or t1). For convenience the terminal atoms can be found with
findTerminalAtoms(IAtomContainer)
.
p0 p2 p0 p2
\ / \ /
t0 = f = t1 --> c c: t0/f/t1
/ \ / \
p1 p3 p1 p3
The configuration treats the focus and terminal atoms as a single atom, the
neighbours {p1, p2, p3}
then proceeded either clockwise or
anti-clockwise when the centre (t0/f/t1) is viewed from the first peripheral
atom p0
.
If any of the peripherals are implicit hydrogen atoms, then the terminal atom
to which the hydrogen is attached can be used as a placeholder.Modifier and Type | Field and Description |
---|---|
protected static int |
A |
protected static int |
B |
protected static int |
C |
protected static int |
D |
protected static int |
E |
protected static int |
F |
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 and Description |
---|
ExtendedTetrahedral(IAtom focus,
IAtom[] peripherals,
int config) |
ExtendedTetrahedral(IAtom focus,
IAtom[] peripherals,
ITetrahedralChirality.Stereo winding)
Create an extended tetrahedral stereo element for the provided 'focus'
and 'peripherals' in the given 'winding'.
|
Modifier and Type | Method and Description |
---|---|
boolean |
contains(IAtom atom)
Does the stereo element contain the provided atom.
|
protected IStereoElement<IAtom,IAtom> |
create(IAtom focus,
List<IAtom> carriers,
int cfg) |
IAtom[] |
findTerminalAtoms(IAtomContainer container)
Helper method to locate two terminal atoms in a container for this
extended tetrahedral element.
|
static IAtom[] |
findTerminalAtoms(IAtomContainer container,
IAtom focus)
Helper method to locate two terminal atoms in a container for a given
focus.
|
IAtom |
focus()
The central atom in the cumulated system.
|
IChemObjectBuilder |
getBuilder()
Returns a
IChemObjectBuilder for the data classes that extend
this class. |
List<C> |
getCarriers()
The carriers of the stereochemistry
|
int |
getConfig()
Access the configuration order and class of the stereochemistry.
|
int |
getConfigClass()
The configuration class of the stereochemistry.
|
int |
getConfigOrder()
The configuration order of the stereochemistry.
|
F |
getFocus()
The focus atom or bond at the 'centre' of the stereo-configuration.
|
int |
getGroupInfo()
Access the stereo group information - see class doc.
|
protected static <T> T[] |
invapply(T[] src,
int[] perm) |
IStereoElement<F,C> |
map(Map<IAtom,IAtom> atoms,
Map<IBond,IBond> bonds)
Map the atoms/bonds in this instance to a new stereo element using the
provided atom/bond mapping.
|
IStereoElement<F,C> |
map(Map<IChemObject,IChemObject> chemobjs) |
protected static int |
numCarriers(int cfg) |
IAtom[] |
peripherals()
The neighbouring peripherals atoms, these are attached to the terminal
atoms in the cumulated system.
|
protected void |
setBuilder(IChemObjectBuilder builder) |
void |
setConfigOrder(int cfg)
Set the configuration order of the stereochemistry.
|
void |
setGroupInfo(int grp)
Set the stereo group information - see class doc.
|
ITetrahedralChirality.Stereo |
winding()
The winding of the peripherals, when viewed from the first atom.
|
protected static final int A
protected static final int B
protected static final int C
protected static final int D
protected static final int E
protected static final int F
public ExtendedTetrahedral(IAtom focus, IAtom[] peripherals, ITetrahedralChirality.Stereo winding)
focus
- the central cumulated atomperipherals
- atoms attached to the terminal atomswinding
- the configurationpublic IAtom focus()
public IAtom[] peripherals()
public ITetrahedralChirality.Stereo winding()
public static IAtom[] findTerminalAtoms(IAtomContainer container, IAtom focus)
container
- structure representationfocus
- cumulated atompublic IAtom[] findTerminalAtoms(IAtomContainer container)
container
- structure representationprotected static int numCarriers(int cfg)
public F getFocus()
getFocus
in interface IStereoElement<F extends IChemObject,C extends IChemObject>
public List<C> getCarriers()
getCarriers
in interface IStereoElement<F extends IChemObject,C extends IChemObject>
public int getConfigClass()
getConfigClass
in interface IStereoElement<F extends IChemObject,C extends IChemObject>
public int getConfigOrder()
getConfigOrder
in interface IStereoElement<F extends IChemObject,C extends IChemObject>
public int getConfig()
getConfig
in interface IStereoElement<F extends IChemObject,C extends IChemObject>
public void setConfigOrder(int cfg)
setConfigOrder
in interface IStereoElement<F extends IChemObject,C extends IChemObject>
cfg
- the new configurationpublic int getGroupInfo()
getGroupInfo
in interface IStereoElement<F extends IChemObject,C extends IChemObject>
public void setGroupInfo(int grp)
setGroupInfo
in interface IStereoElement<F extends IChemObject,C extends IChemObject>
grp
- the group infopublic boolean contains(IAtom atom)
contains
in interface IStereoElement<F extends IChemObject,C extends IChemObject>
atom
- an atom to test membershippublic IStereoElement<F,C> map(Map<IAtom,IAtom> atoms, Map<IBond,IBond> bonds)
map
in interface IStereoElement<F extends IChemObject,C extends IChemObject>
atoms
- nullable atom mapping, used to convert the original atoms to their mapped
counterpartsbonds
- nullable bond mapping, used to convert the original bonds to their mapped
counterpartspublic IStereoElement<F,C> map(Map<IChemObject,IChemObject> chemobjs)
map
in interface IStereoElement<F extends IChemObject,C extends IChemObject>
public IChemObjectBuilder getBuilder()
IChemObjectBuilder
for the data classes that extend
this class.getBuilder
in interface ICDKObject
IChemObjectBuilder
matching this ICDKObject
protected void setBuilder(IChemObjectBuilder builder)
protected static <T> T[] invapply(T[] src, int[] perm)
Copyright © 2021. All rights reserved.