RDKit
Open-source cheminformatics and machine learning.
DetermineBonds.h
Go to the documentation of this file.
1//
2// Copyright (C) 2022 Sreya Gogineni and other RDKit contributors
3//
4// @@ All Rights Reserved @@
5// This file is part of the RDKit.
6// The contents are covered by the terms of the BSD license
7// which is included in the file license.txt, found at the root
8// of the RDKit source tree.
9//
10#include <RDGeneral/export.h>
11
12#ifndef RD_DETERMINEBONDS_H
13#define RD_DETERMINEBONDS_H
14#include <GraphMol/RDKitBase.h>
15
16namespace RDKit {
17// ! assigns atomic connectivity to a molecule using atomic coordinates,
18// disregarding pre-existing bonds
19/*!
20
21 This is based on xyz2mol: https://github.com/jensengroup/xyz2mol
22
23 \param mol is the molecule of interest; it must have a 3D conformer
24 \param useHueckel (optional) if this is \c true, extended Hueckel theory
25 will be used to determine connectivity rather than the van der Waals method
26 \param charge (optional) the charge of the molecule; it must be provided if
27 the Hueckel method is used and charge is non-zero
28 \param covFactor (optional) the factor with which to multiply each covalent
29 radius if the van der Waals method is used
30 */
32 bool useHueckel = false,
33 int charge = 0,
34 double covFactor = 1.3);
35
36// ! assigns bond ordering to a molecule that has atomic connectivity defined;
37// it is recommended to sanitize the molecule after calling this function if
38// embedChiral is not set to true
39/*!
40
41 This is based on xyz2mol: https://github.com/jensengroup/xyz2mol
42
43 \param mol is the molecule of interest; it must have single bonds
44 corresponding to the atomic connectivity
45 \param charge (optional) the charge
46 of the molecule; it must be provided if charge is non-zero
47 \param allowChargedFragments (optional) if this is \c true, formal charges
48 will be placed on atoms according to their valency; otherwise, radical
49 electrons will be placed on the atoms
50 \param embedChiral (optional) if this is \c true,
51 chirality information will be embedded into the molecule; the function calls
52 sanitizeMol() when this is true
53 \param useAtomMap (optional) if this is \c
54 true, an atom map will be created for the molecule
55 */
57 RWMol &mol, int charge = 0, bool allowChargedFragments = true,
58 bool embedChiral = true, bool useAtomMap = false);
59
60// ! assigns atomic connectivity to a molecule using atomic coordinates,
61// disregarding pre-existing bonds; it is recommended to sanitize the molecule
62// after calling this function if embedChiral is not set to true
63/*!
64
65 This is based on xyz2mol: https://github.com/jensengroup/xyz2mol
66
67 \param mol is the molecule of interest; it must have a 3D conformer
68 \param useHueckel (optional) if this is \c true, extended Hueckel theory
69 will be used to determine connectivity rather than the van der Waals method
70 \param charge (optional) the charge of the molecule; it must be provided if
71 charge is non-zero
72 \param covFactor (optional) the factor with which to multiply each covalent
73 radius if the van der Waals method is used
74 \param allowChargedFragments (optional) if this is \c true, formal charges
75 will be placed on atoms according to their valency; otherwise, radical
76 electrons will be placed on the atoms
77 \param embedChiral (optional) if this is \c true, chirality information will
78 be embedded into the molecule; the function calls sanitizeMol() when this is
79 true
80 \param useAtomMap (optional) if this is \c true, an atom map will be created
81 for the molecule
82 */
84 RWMol &mol, bool useHueckel = false, int charge = 0, double covFactor = 1.3,
85 bool allowChargedFragments = true, bool embedChiral = true,
86 bool useAtomMap = false);
87
88} // namespace RDKit
89
90#endif
pulls in the core RDKit functionality
RWMol is a molecule class that is intended to be edited.
Definition: RWMol.h:32
#define RDKIT_DETERMINEBONDS_EXPORT
Definition: export.h:113
Std stuff.
Definition: Abbreviations.h:19
RDKIT_DETERMINEBONDS_EXPORT void determineBonds(RWMol &mol, bool useHueckel=false, int charge=0, double covFactor=1.3, bool allowChargedFragments=true, bool embedChiral=true, bool useAtomMap=false)
RDKIT_DETERMINEBONDS_EXPORT void determineBondOrders(RWMol &mol, int charge=0, bool allowChargedFragments=true, bool embedChiral=true, bool useAtomMap=false)
RDKIT_DETERMINEBONDS_EXPORT void determineConnectivity(RWMol &mol, bool useHueckel=false, int charge=0, double covFactor=1.3)