RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
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 or
26 connect-the-dots method
27 \param charge (optional) the charge of the molecule; it must be provided if
28 the Hueckel method is used and charge is non-zero
29 \param covFactor (optional) the factor with which to multiply each covalent
30 radius if the van der Waals method is used
31 \param useVdw (optional) if this is \c false, the connect-the-dots method
32 will be used instead of the van der Waals method
33 */
35 bool useHueckel = false,
36 int charge = 0,
37 double covFactor = 1.3,
38 bool useVdw = false);
39
40// ! assigns bond ordering to a molecule that has atomic connectivity defined;
41// it is recommended to sanitize the molecule after calling this function if
42// embedChiral is not set to true
43/*!
44
45 This is based on xyz2mol: https://github.com/jensengroup/xyz2mol
46
47 \param mol is the molecule of interest; it must have single bonds
48 corresponding to the atomic connectivity
49 \param charge (optional) the charge
50 of the molecule; it must be provided if charge is non-zero
51 \param allowChargedFragments (optional) if this is \c true, formal charges
52 will be placed on atoms according to their valency; otherwise, radical
53 electrons will be placed on the atoms
54 \param embedChiral (optional) if this is \c true,
55 chirality information will be embedded into the molecule; the function calls
56 sanitizeMol() when this is true
57 \param useAtomMap (optional) if this is \c
58 true, an atom map will be created for the molecule
59 */
61 RWMol &mol, int charge = 0, bool allowChargedFragments = true,
62 bool embedChiral = true, bool useAtomMap = false);
63
64// ! assigns atomic connectivity to a molecule using atomic coordinates,
65// disregarding pre-existing bonds; it is recommended to sanitize the molecule
66// after calling this function if embedChiral is not set to true
67/*!
68
69 This is based on xyz2mol: https://github.com/jensengroup/xyz2mol
70
71 \param mol is the molecule of interest; it must have a 3D conformer
72 \param useHueckel (optional) if this is \c true, extended Hueckel theory
73 will be used to determine connectivity rather than the van der Waals or
74 connect-the-dots method
75 \param charge (optional) the charge of the molecule; it must be provided if
76 charge is non-zero
77 \param covFactor (optional) the factor with which to multiply each covalent
78 radius if the van der Waals method is used
79 \param allowChargedFragments (optional) if this is \c true, formal charges
80 will be placed on atoms according to their valency; otherwise, radical
81 electrons will be placed on the atoms
82 \param embedChiral (optional) if this is \c true, chirality information will
83 be embedded into the molecule; the function calls sanitizeMol() when this is
84 true
85 \param useAtomMap (optional) if this is \c true, an atom map will be created
86 for the molecule
87 \param useVdw (optional) if this is \c false, the connect-the-dots method
88 will be used instead of the van der Waals method
89 */
91 RWMol &mol, bool useHueckel = false, int charge = 0, double covFactor = 1.3,
92 bool allowChargedFragments = true, bool embedChiral = true,
93 bool useAtomMap = false, bool useVdw = false);
94
95} // namespace RDKit
96
97#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.
bool rdvalue_is(const RDValue_cast_t)
RDKIT_DETERMINEBONDS_EXPORT void determineConnectivity(RWMol &mol, bool useHueckel=false, int charge=0, double covFactor=1.3, bool useVdw=false)
RDKIT_DETERMINEBONDS_EXPORT void determineBondOrders(RWMol &mol, int charge=0, bool allowChargedFragments=true, bool embedChiral=true, bool useAtomMap=false)
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, bool useVdw=false)