Loading...
Searching...
No Matches
RDKit::CIPLabeler Namespace Reference

## Classes

class | AtropisomerBond
class | CIPMol
class | CIPMolSpan
class | Configuration
class | Digraph
class | Edge
class | MaxIterationsExceeded
class | Node
class | PairList
class | Priority
class | Rule1a
class | Rule1b
class | Rule2
class | Rule3
class | Rule4a
class | Rule4b
class | Rule4c
class | Rule5
class | Rule5New
class | Rule6
class | Rules
class | SequenceRule
class | Sort
class | Sp2Bond
class | Tetrahedral
class | TooManyNodesException

## Enumerations

enum class | Type { Cv4D3 , Nv3D2 , Nv4D3Plus , Nv2D2Minus , Cv3D3Minus , Ov3D2Plus , Other }

## Functions

RDKIT_CIPLABELER_EXPORT void | assignCIPLabels (ROMol &mol, unsigned int maxRecursiveIterations=0)
RDKIT_CIPLABELER_EXPORT void | assignCIPLabels (ROMol &mol, const boost::dynamic_bitset<> &atoms, const boost::dynamic_bitset<> &bonds, unsigned int maxRecursiveIterations=0)
std::vector< boost::rational< int > > | calcFracAtomNums (const CIPMol &mol)
enum class | Descriptor { NONE , UNKNOWN , ns , R , S , r , s , seqTrans , seqCis , E , Z , M , P , m , p , SP_4 , TBPY_5 , OC_6 }
static std::string | to_string (const Descriptor &desc)

## Enumeration Type Documentation

## Descriptor

enum class RDKit::CIPLabeler::Descriptor

strong

Defines a descriptor which can be assigned to an atom to indicate the type of chirality (if there is any). Each descriptor defines its generallink Type} which can be useful when comparing centres of different geometry.

Enumerator
NONE |
UNKNOWN |
ns |
R | Tetrahedral
S |
r |
s |
seqTrans | Cis/Trans
seqCis |
E |
Z |
M |
P |
m |
p |
SP_4 |
TBPY_5 |
OC_6 |

Definition at line 25 of file Descriptor.h.

## Type

enum class RDKit::CIPLabeler::Type

strong

Enumerator
Cv4D3 |
Nv3D2 |
Nv4D3Plus |
Nv2D2Minus |
Cv3D3Minus |
Ov3D2Plus |
Other |

Definition at line 34 of file Mancude.h.

## Function Documentation

## assignCIPLabels() [1/2]

RDKIT_CIPLABELER_EXPORT void RDKit::CIPLabeler::assignCIPLabels | ( | ROMol & | mol,
|  | const boost::dynamic_bitset<> & | atoms,
|  | const boost::dynamic_bitset<> & | bonds,
|  | unsigned int | maxRecursiveIterations = `0`
| ) |  |

Overload that allows selecting which atoms and/or bonds will be labeled.

Parameters

  mol | - the molecule to be labelled.
  atoms | - bitset with the atom indexes to be labeled.
  bonds | - bitset with the bond indexes to be labeled.
  maxRecursiveIterations | - maximum number of iterations A value of 1,250,000 take about 1 second. Most structures requires less than 10,000 iterations. A peptide with MW~3000 took about 100 iterations, and a 20,000 mw protein took about 600 iterations.

## assignCIPLabels() [2/2]

RDKIT_CIPLABELER_EXPORT void RDKit::CIPLabeler::assignCIPLabels | ( | ROMol & | mol,
|  | unsigned int | maxRecursiveIterations = `0`
| ) |  |

Calculate Stereochemical labels based on an accurate implementation of the CIP rules.

This is a C++ port of https://github.com/SiMolecule/centres, which was originally written by John Mayfield in Java. The original algorithm was described in:

Hanson, R. M., Musacchio, S., Mayfield, J. W., Vainio, M. J., Yerin, A., Redkin, D. Algorithmic Analysis of Cahn–Ingold–Prelog Rules of Stereochemistry: Proposals for Revised Rules and a Guide for Machine Implementation. J. Chem. Inf. Model. 2018, 58, 1755-1765.

Parameters

  mol | - the molecule to be labelled.

Note
  only atoms with chiral tags and double bonds with proper bond directions will be labelled.
  Labels will be stored under the common_properties::_CIPCode property of the relevant atoms/bonds.

## calcFracAtomNums()

std::vector< boost::rational< int > > RDKit::CIPLabeler::calcFracAtomNums | ( | const CIPMol & | mol | ) |

Calculate fractional atomic numbers for all atoms in the mol. Using fractional atomic numbers makes sure that atoms in rings that have resonant structures are always considered with the same priority.

## to_string()

static std::string RDKit::CIPLabeler::to_string | ( | const Descriptor & | desc | ) |

static

Definition at line 54 of file Descriptor.h.

References E, M, m, NONE, ns, OC_6, P, p, R, r, RDKit::rdvalue_is(), S, s, seqCis, seqTrans, SP_4, TBPY_5, UNKNOWN, and Z.

Referenced by RDKit::CIPLabeler::PairList::toString().