RDKit
Open-source cheminformatics and machine learning.
Fragment.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
#include <
RDGeneral/export.h
>
11
#ifndef RD_FRAGMENT_REMOVER_H
12
#define RD_FRAGMENT_REMOVER_H
13
14
#include <
Catalogs/Catalog.h
>
15
#include <
GraphMol/MolStandardize/FragmentCatalog/FragmentCatalogEntry.h
>
16
#include <
GraphMol/MolStandardize/FragmentCatalog/FragmentCatalogParams.h
>
17
#include <
GraphMol/MolStandardize/MolStandardize.h
>
18
19
namespace
RDKit
{
20
class
ROMol;
21
22
namespace
MolStandardize {
23
24
RDKIT_MOLSTANDARDIZE_EXPORT
extern
const
CleanupParameters
25
defaultCleanupParameters
;
26
27
typedef
RDCatalog::HierarchCatalog
<
FragmentCatalogEntry
,
FragmentCatalogParams
,
28
int
>
29
FragmentCatalog
;
30
31
class
RDKIT_MOLSTANDARDIZE_EXPORT
FragmentRemover
{
32
public
:
33
FragmentRemover
();
34
FragmentRemover
(
const
std::string fragmentFile,
bool
leave_last,
35
bool
skip_if_all_match =
false
);
36
FragmentRemover
(std::istream &fragmentStream,
bool
leave_last,
37
bool
skip_if_all_match =
false
);
38
~
FragmentRemover
();
39
40
//! making FragmentRemover objects non-copyable
41
FragmentRemover
(
const
FragmentRemover
&other) =
delete
;
42
FragmentRemover
&operator=(
FragmentRemover
const
&) =
delete
;
43
44
ROMol
*remove(
const
ROMol
&mol);
45
46
private
:
47
// Setting leave_last to True will ensure at least one fragment
48
// is left in the molecule, even if it is matched by a
49
// FragmentPattern
50
bool
LEAVE_LAST;
51
// If set, this causes the original molecule to be returned
52
// if every fragment in it matches the salt list
53
bool
SKIP_IF_ALL_MATCH;
54
FragmentCatalog
*d_fcat;
55
56
};
// class FragmentRemover
57
58
class
RDKIT_MOLSTANDARDIZE_EXPORT
LargestFragmentChooser
{
59
public
:
60
// LargestFragmentChooser(){};
61
LargestFragmentChooser
(
bool
prefer_organic =
false
)
62
: PREFER_ORGANIC(prefer_organic){};
63
LargestFragmentChooser
(
const
LargestFragmentChooser
&other);
64
~LargestFragmentChooser
(){};
65
66
ROMol
*choose(
const
ROMol
&mol);
67
struct
Largest
{
68
Largest
();
69
Largest
(std::string &smiles,
const
boost::shared_ptr<ROMol> &fragment,
70
unsigned
int
&numatoms,
double
&weight,
bool
&organic);
71
std::string
Smiles
;
72
boost::shared_ptr<ROMol>
Fragment
;
73
unsigned
int
NumAtoms
;
74
double
Weight
;
75
bool
Organic
;
76
};
77
78
private
:
79
bool
PREFER_ORGANIC;
80
};
// class LargestFragmentChooser
81
}
// namespace MolStandardize
82
}
// namespace RDKit
83
84
#endif
MolStandardize.h
RDKit::MolStandardize::FragmentCatalog
RDCatalog::HierarchCatalog< FragmentCatalogEntry, FragmentCatalogParams, int > FragmentCatalog
Definition:
Fragment.h:29
FragmentCatalogParams.h
RDCatalog::HierarchCatalog
A Catalog with a hierarchical structure.
Definition:
Catalog.h:135
Catalog.h
RDKit::ROMol
Definition:
ROMol.h:171
RDKit::MolStandardize::LargestFragmentChooser::Largest::NumAtoms
unsigned int NumAtoms
Definition:
Fragment.h:73
RDKit::MolStandardize::FragmentCatalogEntry
Definition:
FragmentCatalogEntry.h:23
RDKit::MolStandardize::LargestFragmentChooser::Largest::Weight
double Weight
Definition:
Fragment.h:74
RDKit::MolStandardize::LargestFragmentChooser::~LargestFragmentChooser
~LargestFragmentChooser()
Definition:
Fragment.h:64
FragmentCatalogEntry.h
RDKit::MolStandardize::FragmentCatalogParams
Definition:
FragmentCatalogParams.h:25
RDKit::MolStandardize::LargestFragmentChooser::LargestFragmentChooser
LargestFragmentChooser(bool prefer_organic=false)
Definition:
Fragment.h:61
RDKit
Std stuff.
Definition:
Atom.h:30
RDKit::MolStandardize::LargestFragmentChooser::Largest
Definition:
Fragment.h:67
RDKit::MolStandardize::LargestFragmentChooser::Largest::Organic
bool Organic
Definition:
Fragment.h:75
RDKit::MolStandardize::FragmentRemover
Definition:
Fragment.h:31
RDKit::MolStandardize::LargestFragmentChooser::Largest::Smiles
std::string Smiles
Definition:
Fragment.h:71
RDKit::MolStandardize::LargestFragmentChooser
Definition:
Fragment.h:58
RDKIT_MOLSTANDARDIZE_EXPORT
#define RDKIT_MOLSTANDARDIZE_EXPORT
Definition:
export.h:437
RDKit::MolStandardize::defaultCleanupParameters
const RDKIT_MOLSTANDARDIZE_EXPORT CleanupParameters defaultCleanupParameters
Definition:
Fragment.h:25
RDKit::MolStandardize::LargestFragmentChooser::Largest::Fragment
boost::shared_ptr< ROMol > Fragment
Definition:
Fragment.h:72
export.h
GraphMol
MolStandardize
Fragment.h
Generated on Fri Jun 12 2020 19:04:45 for RDKit by
1.8.17