public final class ExtendedTetrahedral extends Object implements IStereoElement
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.Constructor and Description |
---|
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.
|
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. |
IStereoElement |
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.
|
IAtom[] |
peripherals()
The neighbouring peripherals atoms, these are attached to the terminal
atoms in the cumulated system.
|
ITetrahedralChirality.Stereo |
winding()
The winding of the peripherals, when viewed from the first atom.
|
@TestMethod(value="peripheralsAreCopied") public ExtendedTetrahedral(IAtom focus, IAtom[] peripherals, ITetrahedralChirality.Stereo winding)
focus
- the central cumulated atomperipherals
- atoms attached to the terminal atomswinding
- the configuration@TestMethod(value="noOperation") public IAtom focus()
@TestMethod(value="peripheralsAreNotModifable") public IAtom[] peripherals()
@TestMethod(value="noOperation") public ITetrahedralChirality.Stereo winding()
@TestMethod(value="terminalAtomsAreFoundUnordered") public static IAtom[] findTerminalAtoms(IAtomContainer container, IAtom focus)
container
- structure representationfocus
- cumulated atom@TestMethod(value="terminalAtomsAreFoundOrdered") public IAtom[] findTerminalAtoms(IAtomContainer container)
container
- structure representation@TestMethod(value="containsAnAtom") public boolean contains(IAtom atom)
IStereoElement
contains
in interface IStereoElement
atom
- an atom to test membershippublic IStereoElement map(Map<IAtom,IAtom> atoms, Map<IBond,IBond> bonds)
IStereoElement
map
in interface IStereoElement
atoms
- non-null atom mapping, used to convert the original atoms to their mapped
counterpartsbonds
- non-null bond mapping, used to convert the original bonds to their mapped
counterparts@TestMethod(value="noBuilder") public IChemObjectBuilder getBuilder()
ICDKObject
IChemObjectBuilder
for the data classes that extend
this class.getBuilder
in interface ICDKObject
IChemObjectBuilder
matching this ICDKObject
Copyright © 2014. All Rights Reserved.