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.
|
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 representationpublic boolean contains(IAtom atom)
contains
in interface IStereoElement
atom
- an atom to test membershippublic IStereoElement map(Map<IAtom,IAtom> atoms, Map<IBond,IBond> bonds)
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
counterpartspublic IChemObjectBuilder getBuilder()
IChemObjectBuilder
for the data classes that extend
this class.getBuilder
in interface ICDKObject
IChemObjectBuilder
matching this ICDKObject
Copyright © 2017. All Rights Reserved.