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 
16 namespace 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)