File: Tautomer.h

package info (click to toggle)
rdkit 201809.1%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 123,688 kB
  • sloc: cpp: 230,509; python: 70,501; java: 6,329; ansic: 5,427; sql: 1,899; yacc: 1,739; lex: 1,243; makefile: 445; xml: 229; fortran: 183; sh: 123; cs: 93
file content (76 lines) | stat: -rw-r--r-- 2,231 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//
//  Copyright (C) 2018 Susan H. Leung
//
//   @@ All Rights Reserved @@
//  This file is part of the RDKit.
//  The contents are covered by the terms of the BSD license
//  which is included in the file license.txt, found at the root
//  of the RDKit source tree.
//
#include <RDGeneral/export.h>
#ifndef __RD_TAUTOMER_H__
#define __RD_TAUTOMER_H__

#include <string>
#include <Catalogs/Catalog.h>
#include <GraphMol/MolStandardize/TautomerCatalog/TautomerCatalogEntry.h>
#include <GraphMol/MolStandardize/TautomerCatalog/TautomerCatalogParams.h>

namespace RDKit {
class ROMol;
class RWMol;

namespace MolStandardize {

typedef RDCatalog::HierarchCatalog<TautomerCatalogEntry, TautomerCatalogParams,
                                   int>
    TautomerCatalog;

class RDKIT_MOLSTANDARDIZE_EXPORT TautomerCanonicalizer {
 public:
  //	TautomerCanonicalizer(unsigned int max_tautomers)
  //			: MAX_TAUTOMERS(max_tautomers) {};
  //	TautomerCanonicalizer(const TautomerCanonicalizer &other) {
  //		MAX_TAUTOMERS = other.MAX_TAUTOMERS;
  //	};
  //	~TautomerCanonicalizer() {};

  ROMol *canonicalize(const ROMol &mol, TautomerCatalog *tautcat);

  //	private:
  //		unsigned int MAX_TAUTOMERS;
};  // TautomerCanonicalizer class

class RDKIT_MOLSTANDARDIZE_EXPORT TautomerEnumerator {
 public:
  std::vector<ROMOL_SPTR> enumerate(const ROMol &mol, TautomerCatalog *tautcat);

  //		struct Tautomer {
  //			std::string Smiles;
  //			boost::shared_ptr<ROMol> Mol;
  //			Tautomer(std::string smiles, boost::shared_ptr<ROMol>
  // mol) 				: Smiles(smiles), Mol(mol) {}
  //
  //			// sorting products alphabetically by SMILES
  //			bool operator < (const Tautomer &tautomer) const {
  //				return (Smiles < tautomer.Smiles);
  //			}
  //
  //		};

  //		TautomerEnumerator(unsigned int max_tautomers)
  //			: MAX_TAUTOMERS(max_tautomers) {};
  //		TautomerEnumerator(const TautomerEnumerator &other) {
  //			MAX_TAUTOMERS = other.MAX_TAUTOMERS;
  //		};
  //		~TautomerEnumerator() {};
  //	private:
  //		unsigned int MAX_TAUTOMERS;
};  // TautomerEnumerator class

std::vector<std::pair<unsigned int, unsigned int>> pairwise(
    const std::vector<int> vect);
}  // namespace MolStandardize
}  // namespace RDKit

#endif