RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
Mancude.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
12///
13/// Utilities to handle atomic numbers in Mancude (maximum number
14/// of noncumulative double bonds) rings
15///
16/// This guarantees that aromatic rings containing heteroatoms
17/// are always resolved in the same way
18///
19
20#pragma once
21
22#include <vector>
23
25#include <boost/rational.hpp>
27
28namespace RDKit {
29
30namespace CIPLabeler {
31
32class CIPMol;
33
34enum class Type {
35 Cv4D3, // =C(X)-
36 Nv3D2, // =N-
37 Nv4D3Plus, // =[N+]<
38 Nv2D2Minus, // -[N-]-
39 Cv3D3Minus, // -[C(X)-]-
40 Ov3D2Plus, // -[O+]=
41 Other
42};
43
44/**
45 * Calculate fractional atomic numbers for all atoms in the mol.
46 * Using fractional atomic numbers makes sure that atoms in rings
47 * that have resonant structures are always considered with the same
48 * priority.
49 *
50 */
51std::vector<boost::rational<int>> calcFracAtomNums(const CIPMol &mol);
52
53} // namespace CIPLabeler
54} // namespace RDKit
std::vector< boost::rational< int > > calcFracAtomNums(const CIPMol &mol)
Std stuff.