Package org.openscience.cdk.stereo
Class TetrahedralChirality
java.lang.Object
org.openscience.cdk.stereo.TetrahedralChirality
- All Implemented Interfaces:
Cloneable,ICDKObject,IStereoElement<IAtom,,IAtom> ITetrahedralChirality
Stereochemistry specification for tetravalent atoms. See
ITetrahedralChirality for
further details.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.openscience.cdk.interfaces.ITetrahedralChirality
ITetrahedralChirality.Stereo -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intFields 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
ConstructorsConstructorDescriptionTetrahedralChirality(IAtom chiralAtom, IAtom[] ligands, int config) TetrahedralChirality(IAtom chiralAtom, IAtom[] ligands, ITetrahedralChirality.Stereo stereo) -
Method Summary
Modifier and TypeMethodDescriptionbooleanDoes the stereo element contain the provided atom.protected IStereoElement<IAtom,IAtom> Returns aIChemObjectBuilderfor the data classes that extend this class.The carriers of the stereochemistryAtom that is the chirality center.intAccess the configuration order and class of the stereochemistry.intThe configuration class of the stereochemistry.intThe configuration order of the stereochemistry.getFocus()The focus atom or bond at the 'centre' of the stereo-configuration.intAccess the stereo group information - see class doc.IAtom[]Returns an array of ligand atoms around the chiral atom.Defines the stereochemistry around the chiral atom.protected static <T> T[]invapply(T[] src, int[] perm) Map the atoms/bonds in this instance to a new stereo element using the provided atom/bond mapping.map(Map<IChemObject, IChemObject> chemobjs) Update the stereo using the remapping of atoms/bonds in this instance to a new stereo element using the provided atom/bond mapping.final IStereoElement<IAtom,IAtom> mapStrict(Map<IChemObject, IChemObject> chemobjs) Update the stereo using the remapping of atoms/bonds in this instance to a new stereo element using the provided atom/bond mapping.protected static intnumCarriers(int cfg) protected IAtom[]processCarriers(IAtom focus, IAtom[] carriers) Hook for subclasses to process carriers before they are stored, e.g., to enforce a constraint.voidsetBuilder(IChemObjectBuilder builder) voidsetConfigOrder(int cfg) Set the configuration order of the stereochemistry.voidsetGroupInfo(int grp) Set the stereo group information - see class doc.voidSet the stereochemistry of this tetrahedral centre.toString()Returns aStringrepresentation of this chiral element.updateCarriers(IAtom remove, Iterable<IAtom> adds) updateCarriers(Set<IAtom> remove, IAtom rep) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.openscience.cdk.interfaces.ICDKObject
getBuilderMethods inherited from interface org.openscience.cdk.interfaces.IStereoElement
contains, getCarriers, getConfig, getConfigClass, getConfigOrder, getFocus, getGroupInfo, mapStrict, setConfigOrder, setGroupInfo, updateCarriers, updateCarriers, updateCarriers
-
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
-
TetrahedralChirality
-
TetrahedralChirality
-
-
Method Details
-
getLigands
Description copied from interface:ITetrahedralChiralityReturns an array of ligand atoms around the chiral atom. If the chiral centre has an implicit hydrogen or lone pair one of the ligands will be the chiral atom (ITetrahedralChirality.getChiralAtom()).- Specified by:
getLigandsin interfaceITetrahedralChirality- Returns:
- an array of four
IAtoms.
-
getChiralAtom
Description copied from interface:ITetrahedralChiralityAtom that is the chirality center.- Specified by:
getChiralAtomin interfaceITetrahedralChirality- Returns:
- the chiral
IAtom.
-
getStereo
Description copied from interface:ITetrahedralChiralityDefines the stereochemistry around the chiral atom. The value depends on the order of ligand atoms.- Specified by:
getStereoin interfaceITetrahedralChirality- Returns:
- the
ITetrahedralChirality.Stereofor this stereo element.
-
setStereo
Description copied from interface:ITetrahedralChiralitySet the stereochemistry of this tetrahedral centre.- Specified by:
setStereoin interfaceITetrahedralChirality- Parameters:
stereo- the new stereo assignment
-
create
-
map
Map the atoms/bonds in this instance to a new stereo element using the provided atom/bond mapping. This allows the stereo element to be transferred between a cloned or aligned (i.e. isomorphic) chemical graph. If no mapping is found for a given atom or bond it is left intact. However the provided atom and bonds maps must not be null.- Specified by:
mapin interfaceIStereoElement<IAtom,IAtom> - Specified by:
mapin interfaceITetrahedralChirality- Parameters:
atoms- used to convert the original atoms to their mapped counterpartsbonds- used to convert the original bonds to their mapped counterparts- Returns:
- a new stereo element in the same configuration but with atoms/bonds replaced with their mapped equivalence.
-
map
Description copied from interface:IStereoElementUpdate the stereo using the remapping of atoms/bonds in this instance to a new stereo element using the provided atom/bond mapping. This allows the stereo element to be transferred between a cloned or aligned (i.e. isomorphic) chemical graph. If no mapping is found for a given atom or bond the existing atom/bond it is left intact. If you want to remove stereo in such cases please useIStereoElement.mapStrict(java.util.Map<org.openscience.cdk.interfaces.IChemObject, org.openscience.cdk.interfaces.IChemObject>).- Specified by:
mapin interfaceIStereoElement<IAtom,IAtom> - Parameters:
chemobjs- chem object mapping- Returns:
- a new stereo element in the same configuration but with atoms/bonds replaced with their mapped equivalence.
-
setBuilder
-
toString
Returns aStringrepresentation of this chiral element. -
numCarriers
protected static int numCarriers(int cfg) -
processCarriers
Hook for subclasses to process carriers before they are stored, e.g., to enforce a constraint. The default implementation returns the carriers as-is.- Parameters:
focus- the focuscarriers- the carriers- Returns:
- the processed carriers
-
getFocus
The focus atom or bond at the 'centre' of the stereo-configuration.- Specified by:
getFocusin interfaceIStereoElement<F extends IChemObject,C extends IChemObject> - Returns:
- the focus
-
getCarriers
The carriers of the stereochemistry- Specified by:
getCarriersin interfaceIStereoElement<F extends IChemObject,C extends IChemObject> - Returns:
- the carriers
-
getConfigClass
public int getConfigClass()The configuration class of the stereochemistry.- Specified by:
getConfigClassin interfaceIStereoElement<F extends IChemObject,C extends IChemObject> - Returns:
- configuration class
-
getConfigOrder
public int getConfigOrder()The configuration order of the stereochemistry.- Specified by:
getConfigOrderin interfaceIStereoElement<F extends IChemObject,C extends IChemObject> - Returns:
- configuration
-
getConfig
public int getConfig()Access the configuration order and class of the stereochemistry.- Specified by:
getConfigin interfaceIStereoElement<F extends IChemObject,C extends IChemObject> - Returns:
- the configuration
-
setConfigOrder
public void setConfigOrder(int cfg) Set the configuration order of the stereochemistry.- Specified by:
setConfigOrderin interfaceIStereoElement<F extends IChemObject,C extends IChemObject> - Parameters:
cfg- the new configuration
-
getGroupInfo
public int getGroupInfo()Access the stereo group information - see class doc.- Specified by:
getGroupInfoin interfaceIStereoElement<F extends IChemObject,C extends IChemObject> - Returns:
- the group info
-
setGroupInfo
public void setGroupInfo(int grp) Set the stereo group information - see class doc.- Specified by:
setGroupInfoin interfaceIStereoElement<F extends IChemObject,C extends IChemObject> - Parameters:
grp- the group info
-
contains
Does the stereo element contain the provided atom.- Specified by:
containsin interfaceIStereoElement<F extends IChemObject,C extends IChemObject> - Parameters:
atom- an atom to test membership- Returns:
- whether the atom is present
-
updateCarriers
- Specified by:
updateCarriersin interfaceIStereoElement<F extends IChemObject,C extends IChemObject>
-
updateCarriers
- Specified by:
updateCarriersin interfaceIStereoElement<F extends IChemObject,C extends IChemObject>
-
mapStrict
Description copied from interface:IStereoElementUpdate the stereo using the remapping of atoms/bonds in this instance to a new stereo element using the provided atom/bond mapping. This allows the stereo element to be transferred between a cloned or aligned (i.e. isomorphic) chemical graph. If no mapping is found for a given atom or bond a new element is NOT created.- Specified by:
mapStrictin interfaceIStereoElement<F extends IChemObject,C extends IChemObject> - Parameters:
chemobjs- chem object mapping- Returns:
- a new stereo element in the same configuration but with atoms/bonds replaced with their mapped equivalence.
-
getBuilder
Returns aIChemObjectBuilderfor the data classes that extend this class.- Specified by:
getBuilderin interfaceICDKObject- Returns:
- The
IChemObjectBuildermatching thisICDKObject
-
invapply
protected static <T> T[] invapply(T[] src, int[] perm)
-