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, 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.
|
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.
|
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 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 ICDKObjectIChemObjectBuilder matching this ICDKObjectprotected void setBuilder(IChemObjectBuilder builder)
protected static <T> T[] invapply(T[] src,
int[] perm)
Copyright © 2018. All Rights Reserved.