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 ILigand
s are definedchiralAtom
- int pointing to the IAtom
index of the chiral atomligand1
- int pointing to the IAtom
index of the first ILigand
ligand2
- int pointing to the IAtom
index of the second ILigand
ligand3
- int pointing to the IAtom
index of the third ILigand
ligand4
- int pointing to the IAtom
index of the fourth ILigand
stereo
- ITetrahedralChirality.Stereo
for the chiralityLigancyFourChirality
public 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 ILigand
s 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 ILigand
ILigand
public static ILigand[] getLigandLigands(ILigand ligand)
Copyright © 2018. All Rights Reserved.