RDKit
Open-source cheminformatics and machine learning.
Metal.h
Go to the documentation of this file.
1
//
2
// Copyright (C) 2018 Susan H. Leung
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
/*! \file Metal.h
11
12
\brief Defines the MetalDisconnector class.
13
14
*/
15
#include <
RDGeneral/export.h
>
16
#ifndef __RD_METAL_H__
17
#define __RD_METAL_H__
18
19
#include <
GraphMol/ROMol.h
>
20
21
namespace
RDKit
{
22
class
RWMol;
23
class
ROMol;
24
25
namespace
MolStandardize {
26
//! The MetalDisconnector class contains tools for disconnecting metal atoms
27
//! that are defined as covalently bonded to non-metals.
28
/*!
29
30
<b>Notes:</b>
31
-
32
*/
33
34
class
RDKIT_MOLSTANDARDIZE_EXPORT
MetalDisconnector
{
35
public
:
36
MetalDisconnector
();
37
MetalDisconnector
(
const
MetalDisconnector
&other);
38
~
MetalDisconnector
();
39
40
ROMol
*getMetalNof();
// {return metal_nof;}
41
ROMol
*getMetalNon();
// {return metal_non;}
42
void
setMetalNof(
const
ROMol
&mol);
43
void
setMetalNon(
const
ROMol
&mol);
44
45
//! Break covalent bonds between metals and organic atoms under certain
46
//! conditions.
47
/*!
48
<b>Notes:</b>
49
The algorithm works as follows:
50
- Disconnect N, O, F from any metal.
51
- Disconnect other non-metals from transition metals + Al (but not Hg, Ga, Ge,
52
In, Sn, As, Tl, Pb, Bi, Po).
53
- For every bond broken, adjust the charges of the begin and end atoms
54
accordingly.
55
*/
56
ROMol
*disconnect(
const
ROMol
&mol);
57
//! overload
58
// modifies the molecule in place
59
void
disconnect(
RWMol
&mol);
60
61
private
:
62
ROMOL_SPTR
metal_nof;
63
ROMOL_SPTR
metal_non;
64
65
};
// class Metal
66
}
// namespace MolStandardize
67
}
// namespace RDKit
68
#endif
RDKit::RWMol
RWMol is a molecule class that is intended to be edited.
Definition:
RWMol.h:31
export.h
ROMol.h
Defines the primary molecule class ROMol as well as associated typedefs.
RDKit::ROMol
Definition:
ROMol.h:169
RDKit::ROMOL_SPTR
boost::shared_ptr< ROMol > ROMOL_SPTR
Definition:
ChemTransforms.h:22
RDKit
Std stuff.
Definition:
Atom.h:30
RDKIT_MOLSTANDARDIZE_EXPORT
#define RDKIT_MOLSTANDARDIZE_EXPORT
Definition:
export.h:424
RDKit::MolStandardize::MetalDisconnector
Definition:
Metal.h:34
GraphMol
MolStandardize
Metal.h
Generated on Wed May 1 2019 11:56:24 for RDKit by
1.8.13