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
24#include <boost/rational.hpp>
25
26namespace RDKit {
27
28namespace CIPLabeler {
29
30class CIPMol;
31
32enum class Type {
33 Cv4D3, // =C(X)-
34 Nv3D2, // =N-
35 Nv4D3Plus, // =[N+]<
36 Nv2D2Minus, // -[N-]-
37 Cv3D3Minus, // -[C(X)-]-
38 Ov3D2Plus, // -[O+]=
39 Other
40};
41
42/**
43 * Calculate fractional atomic numbers for all atoms in the mol.
44 * Using fractional atomic numbers makes sure that atoms in rings
45 * that have resonant structures are always considered with the same
46 * priority.
47 *
48 */
49std::vector<boost::rational<int>> calcFracAtomNums(const CIPMol &mol);
50
51} // namespace CIPLabeler
52} // namespace RDKit
std::vector< boost::rational< int > > calcFracAtomNums(const CIPMol &mol)
Std stuff.