RDKit
Open-source cheminformatics and machine learning.
CIPLabeler.h
Go to the documentation of this file.
1
//
2
//
3
// Copyright (C) 2020 Schrödinger, LLC
4
//
5
// @@ All Rights Reserved @@
6
// This file is part of the RDKit.
7
// The contents are covered by the terms of the BSD license
8
// which is included in the file license.txt, found at the root
9
// of the RDKit source tree.
10
//
11
#pragma once
12
13
#include <boost/dynamic_bitset.hpp>
14
15
#include <
RDGeneral/export.h
>
16
17
namespace
RDKit
{
18
19
class
ROMol;
20
21
namespace
CIPLabeler {
22
23
/**
24
* Calculate Stereochemical labels based on an accurate implementation
25
* of the CIP rules.
26
*
27
* This is a C++ port of https://github.com/SiMolecule/centres, which was
28
* originally written by John Mayfield in Java. The original algorithm was
29
* described in:
30
*
31
* Hanson, R. M., Musacchio, S., Mayfield, J. W., Vainio, M. J., Yerin, A.,
32
* Redkin, D. Algorithmic Analysis of Cahn--Ingold--Prelog Rules of
33
* Stereochemistry: Proposals for Revised Rules and a Guide for Machine
34
* Implementation. J. Chem. Inf. Model. 2018, 58, 1755-1765.
35
*
36
* \param mol - the molecule to be labelled.
37
*
38
* \note only atoms with chiral tags and double bonds with proper
39
* bond directions will be labelled.
40
* \note Labels will be stored under the common_properties::_CIPCode
41
* property of the relevant atoms/bonds.
42
*/
43
RDKIT_CIPLABELER_EXPORT
void
assignCIPLabels
(
ROMol
&mol);
44
45
/**
46
* Overload that allows selecting which atoms and/or bonds will be labeled.
47
*
48
* \param mol - the molecule to be labelled.
49
*
50
* \param atoms - bitset with the atom indexes to be labeled.
51
*
52
* \param bonds - bitset with the bond indexes to be labeled.
53
*
54
*/
55
RDKIT_CIPLABELER_EXPORT
void
56
assignCIPLabels
(
ROMol
&mol,
const
boost::dynamic_bitset<> &atoms,
57
const
boost::dynamic_bitset<> &bonds);
58
}
// namespace CIPLabeler
59
}
// namespace RDKit
RDKit::ROMol
Definition:
ROMol.h:171
export.h
RDKIT_CIPLABELER_EXPORT
#define RDKIT_CIPLABELER_EXPORT
Definition:
export.h:60
RDKit::CIPLabeler::assignCIPLabels
RDKIT_CIPLABELER_EXPORT void assignCIPLabels(ROMol &mol)
RDKit
Std stuff.
Definition:
Abbreviations.h:17
GraphMol
CIPLabeler
CIPLabeler.h
Generated on Tue Sep 28 2021 12:56:39 for RDKit by
1.9.1