public class CIPTool extends Object
CIPLigandRule class.
Basic use starts from a ITetrahedralChirality and therefore
assumes atoms with four neighbours:
IAtom[] ligandAtoms = mol.getConnectedAtomsList(centralAtom).toArray(new IAtom[4]); ITetrahedralChirality tetraStereo = new TetrahedralChirality( centralAtom, ligandAtoms, Stereo.ANTI_CLOCKWISE ); CIP_CHIRALITY cipChirality = CIPTool.getCIPChirality(mol, tetraStereo);The
IBond.Stereo value can be
reconstructed from 3D coordinates with the StereoTool.| Modifier and Type | Class and Description |
|---|---|
static class |
CIPTool.CIP_CHIRALITY
Enumeration with the two tetrahedral chiralities defined by the CIP schema.
|
| Modifier and Type | Field and Description |
|---|---|
static int |
HYDROGEN
IAtom index to indicate an implicit hydrogen, not present in the chemical graph.
|
| Constructor and Description |
|---|
CIPTool() |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
checkIfAllLigandsAreDifferent(ILigand[] ligands)
Checks if each next
ILigand is different from the previous
one according to the CIPLigandRule. |
static org.openscience.cdk.geometry.cip.LigancyFourChirality |
defineLigancyFourChirality(IAtomContainer container,
int chiralAtom,
int ligand1,
int ligand2,
int ligand3,
int ligand4,
ITetrahedralChirality.Stereo stereo)
Creates a ligancy for chirality around a single chiral atom, where the involved
atoms are identified by there index in the
IAtomContainer. |
static ILigand |
defineLigand(IAtomContainer container,
VisitedAtoms visitedAtoms,
int chiralAtom,
int ligandAtom)
Creates a ligand attached to a single chiral atom, where the involved
atoms are identified by there index in the
IAtomContainer. |
static CIPTool.CIP_CHIRALITY |
getCIPChirality(IAtomContainer container,
IDoubleBondStereochemistry stereoCenter) |
static CIPTool.CIP_CHIRALITY |
getCIPChirality(IAtomContainer container,
ITetrahedralChirality stereoCenter)
Returns the R or S chirality according to the CIP rules, based on the given
chirality information.
|
static CIPTool.CIP_CHIRALITY |
getCIPChirality(org.openscience.cdk.geometry.cip.LigancyFourChirality stereoCenter)
Returns the R or S chirality according to the CIP rules, based on the given
chirality information.
|
static ILigand[] |
getLigandLigands(ILigand ligand)
Returns a CIP-expanded array of side chains of a ligand.
|
static void |
label(IAtomContainer container)
Convenience method for labelling all stereo elements.
|
static ILigand[] |
order(ILigand[] ligands)
Reorders the
ILigand objects in the array according to the CIP rules. |
public static final int HYDROGEN
public static CIPTool.CIP_CHIRALITY getCIPChirality(org.openscience.cdk.geometry.cip.LigancyFourChirality stereoCenter)
stereoCenter - Chiral center for which the CIP chirality is to be
determined as LigancyFourChirality object.CIPTool.CIP_CHIRALITY value.public static void label(IAtomContainer container)
CIPTool.CIP_CHIRALITY is determined for each element and stored as as String on the CDKConstants.CIP_DESCRIPTOR property key.
Atoms/bonds that are not stereocenters have no label assigned and the
property will be null.container - structure to labelpublic static CIPTool.CIP_CHIRALITY getCIPChirality(IAtomContainer container, ITetrahedralChirality stereoCenter)
container - IAtomContainer to which the stereoCenter
belongs.stereoCenter - Chiral center for which the CIP chirality is to be
determined as ITetrahedralChirality object.CIPTool.CIP_CHIRALITY value.public static CIPTool.CIP_CHIRALITY getCIPChirality(IAtomContainer container, IDoubleBondStereochemistry stereoCenter)
public static boolean checkIfAllLigandsAreDifferent(ILigand[] ligands)
ILigand is different from the previous
one according to the CIPLigandRule. It assumes that the input
is sorted based on that rule.ligands - array of ILigand to checkpublic static ILigand[] order(ILigand[] ligands)
ILigand objects in the array according to the CIP rules.public static org.openscience.cdk.geometry.cip.LigancyFourChirality defineLigancyFourChirality(IAtomContainer container, int chiralAtom, int ligand1, int ligand2, int ligand3, int ligand4, ITetrahedralChirality.Stereo stereo)
IAtomContainer. For the four ligand
atoms, HYDROGEN can be passed as index, which will indicate the presence of
an implicit hydrogen, not explicitly present in the chemical graph of the
given container.container - IAtomContainer for which the returned ILigands are definedchiralAtom - int pointing to the IAtom index of the chiral atomligand1 - int pointing to the IAtom index of the first ILigandligand2 - int pointing to the IAtom index of the second ILigandligand3 - int pointing to the IAtom index of the third ILigandligand4 - int pointing to the IAtom index of the fourth ILigandstereo - ITetrahedralChirality.Stereo for the chiralityLigancyFourChiralitypublic static ILigand defineLigand(IAtomContainer container, VisitedAtoms visitedAtoms, int chiralAtom, int ligandAtom)
IAtomContainer. For ligand
atom, HYDROGEN can be passed as index, which will indicate the presence of
an implicit hydrogen, not explicitly present in the chemical graph of the
given container.container - IAtomContainer for which the returned ILigands are definedvisitedAtoms - a list of atoms already visited in the analysischiralAtom - an integer pointing to the IAtom index of the chiral atomligandAtom - an integer pointing to the IAtom index of the ILigandILigandpublic static ILigand[] getLigandLigands(ILigand ligand)
Copyright © 2021. All rights reserved.