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>
18 
19 namespace RDKit {
20 class ROMol;
21 
22 namespace MolStandardize {
23 
24 RDKIT_MOLSTANDARDIZE_EXPORT extern const CleanupParameters
26 
28  int>
30 
32  public:
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);
39 
40  //! making FragmentRemover objects non-copyable
41  FragmentRemover(const FragmentRemover &other) = 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 
59  public:
60  // LargestFragmentChooser(){};
61  LargestFragmentChooser(bool prefer_organic = false)
62  : PREFER_ORGANIC(prefer_organic){};
65 
66  ROMol *choose(const ROMol &mol);
67  struct Largest {
69  Largest(std::string &smiles, 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::LargestFragmentChooser::Largest::Largest
Largest(std::string &smiles, boost::shared_ptr< ROMol > fragment, unsigned int &numatoms, double &weight, bool &organic)
RDKit::MolStandardize::FragmentRemover::FragmentRemover
FragmentRemover()
RDKit::MolStandardize::FragmentRemover::~FragmentRemover
~FragmentRemover()
RDKit::MolStandardize::LargestFragmentChooser::choose
ROMol * choose(const ROMol &mol)
RDKit::MolStandardize::LargestFragmentChooser::Largest::Largest
Largest()
RDKit::MolStandardize::FragmentCatalog
RDCatalog::HierarchCatalog< FragmentCatalogEntry, FragmentCatalogParams, int > FragmentCatalog
Definition: Fragment.h:29
FragmentCatalogParams.h
RDKit::MolStandardize::FragmentRemover::remove
ROMol * remove(const ROMol &mol)
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::FragmentRemover::FragmentRemover
FragmentRemover(const std::string fragmentFile, bool leave_last, bool skip_if_all_match=false)
RDKit::MolStandardize::FragmentCatalogEntry
Definition: FragmentCatalogEntry.h:24
RDKit::MolStandardize::LargestFragmentChooser::Largest::Weight
double Weight
Definition: Fragment.h:74
RDKit::MolStandardize::FragmentRemover::FragmentRemover
FragmentRemover(const FragmentRemover &other)=delete
making FragmentRemover objects non-copyable
RDKit::MolStandardize::LargestFragmentChooser::~LargestFragmentChooser
~LargestFragmentChooser()
Definition: Fragment.h:64
FragmentCatalogEntry.h
RDKit::MolStandardize::FragmentCatalogParams
Definition: FragmentCatalogParams.h:26
RDKit::MolStandardize::LargestFragmentChooser::LargestFragmentChooser
LargestFragmentChooser(bool prefer_organic=false)
Definition: Fragment.h:61
RDKit
Std stuff.
Definition: Atom.h:30
RDKit::MolStandardize::defaultCleanupParameters
RDKIT_MOLSTANDARDIZE_EXPORT const CleanupParameters defaultCleanupParameters
Definition: Fragment.h:25
RDKit::MolStandardize::FragmentRemover::operator=
FragmentRemover & operator=(FragmentRemover const &)=delete
RDKit::MolStandardize::LargestFragmentChooser::Largest
Definition: Fragment.h:67
RDKit::MolStandardize::LargestFragmentChooser::Largest::Organic
bool Organic
Definition: Fragment.h:75
RDKit::MolStandardize::LargestFragmentChooser::LargestFragmentChooser
LargestFragmentChooser(const LargestFragmentChooser &other)
RDKit::MolStandardize::FragmentRemover::FragmentRemover
FragmentRemover(std::istream &fragmentStream, bool leave_last, bool skip_if_all_match=false)
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::LargestFragmentChooser::Largest::Fragment
boost::shared_ptr< ROMol > Fragment
Definition: Fragment.h:72
export.h