RDKit: Pipeline.h Source File

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
Pipeline.h
Go to the documentation of this file.
1//
2// Copyright (C) 2023 Novartis Biomedical Research
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#ifndef RD_MOLSTANDARDIZE_PIPELINE_H
11#define RD_MOLSTANDARDIZE_PIPELINE_H
12#include <RDGeneral/export.h>
13#include <GraphMol/RWMol.h>
14#include <memory>
15#include <string>
16#include <utility>
17#include <vector>
18
19namespace RDKit {
20
21namespace MolStandardize {
22
23 struct RDKIT_MOLSTANDARDIZE_EXPORT PipelineOptions {
24 // parsing
25 bool strictParsing{false};
26
27 // validation
28 bool reportAllFailures{true};
29 bool allowEmptyMolecules{false};
30 bool allowEnhancedStereo{false};
31 bool allowAromaticBondType{false};
32 bool allowDativeBondType{false};
33 double is2DZeroThreshold{1e-3};
34 double atomClashLimit{0.03};
35 double minMedianBondLength{1e-3};
36 double bondLengthLimit{100.};
37 bool allowLongBondsInRings{true};
38 bool allowAtomBondClashExemption{true};
39
40 // cleanup/standardization
41 // metal disconnector options
42 std::string metalNof{"[Li,Na,K,Rb,Cs,Fr]~[#7,#8,F]"};
43 std::string metalNon{};
44 // normalizer options
45 std::string normalizerData{
46 "// Name\tSMIRKS\n"
47 "Nitro to N+(O-)=O\t[N,P,As,Sb;X3:1](=[O,S,Se,Te:2])=[O,S,Se,Te:3]>>[*+1:1]([*-1:2])=[*:3]\n"
48 "Sulfone to S(=O)(=O)\t[S+2:1]([O-:2])([O-:3])>>[S+0:1](=[O-0:2])(=[O-0:3])\n"
49 "Pyridine oxide to n+O-\t[nH0+0:1]=[OH0+0:2]>>[n+:1][O-:2]\n"
50 "Azide to N=N+=N-\t[*:1][N:2]=[N:3]#[N:4]>>[*:1][N:2]=[N+:3]=[N-:4]\n"
51 "Diazo/azo to =N+=N-\t[*:1]=[N:2]#[N:3]>>[*:1]=[N+:2]=[N-:3]\n"
52 // Note: the sulfoxide transformation by default included in the
53 // Normalizer configuration was removed Note: the transformation below was
54 // ported from STRUCHK and it's not part of the default Normalizer
55 // configuration
56 "[SH](=O)(=O) to S(=O)O\t[c,C,N,O,F,Cl,Br,I:1][SH+0:2](=[O:3])=[O:4]>>[*:1][*:2]([*:3])=[*:4]\n"
57 // Note: the two transformations below replace the default Phosphate
58 // normalization in order to ensure that, if an O is available, the double
59 // bond is placed between P and O
60 "Phosphate to P(O-)=O\t[O-:1][P+;D4:2][O,S,Se,Te;-1:3]>>[O+0:1]=[P+0;D5:2][*-1:3]\n"
61 "Generalized phosphate to P(X-)=Y\t[S,Se,Te;-1:1][P+;D4:2][S,Se,Te;-1:3]>>[*+0:1]=[P+0;D5:2][*-1:3]\n"
62 "C/S+N to C/S=N+\t[C,S&!$([S+]-[O-]);X3+1:1]([NX3:2])[NX3!H0:3]>>[*+0:1]([N:2])=[N+:3]\n"
63 "P+N to P=N+\t[P;X4+1:1]([NX3:2])[NX3!H0:3]>>[*+0:1]([N:2])=[N+:3]\n"
64 "Recombine 1,3-separated charges\t[N,P,As,Sb,O,S,Se,Te;-1:1]-[A+0:2]=[N,P,As,Sb,O,S,Se,Te;+1:3]>>[*-0:1]=[*:2]-[*+0:3]\n"
65 "Recombine 1,3-separated charges\t[n,o,p,s;-1:1]:[a:2]=[N,O,P,S;+1:3]>>[*-0:1]:[*:2]-[*+0:3]\n"
66 "Recombine 1,3-separated charges\t[N,O,P,S;-1:1]-[a+0:2]:[n,o,p,s;+1:3]>>[*-0:1]=[*:2]:[*+0:3]\n"
67 "Recombine 1,5-separated charges\t[N,P,As,Sb,O,S,Se,Te;-1:1]-[A+0:2]=[A:3]-[A:4]=[N,P,As,Sb,O,S,Se,Te;+1:5]>>[*-0:1]=[*:2]-[*:3]=[*:4]-[*+0:5]\n"
68 "Recombine 1,5-separated charges\t[n,o,p,s;-1:1]:[a:2]:[a:3]:[c:4]=[N,O,P,S;+1:5]>>[*-0:1]:[*:2]:[*:3]:[c:4]-[*+0:5]\n"
69 "Recombine 1,5-separated charges\t[N,O,P,S;-1:1]-[c:2]:[a:3]:[a:4]:[n,o,p,s;+1:5]>>[*-0:1]=[c:2]:[*:3]:[*:4]:[*+0:5]\n"
70 // Note: four transformations were added to the normalization of aliphatic
71 // conjug cations in order to favor the positioning of new double bonds
72 // within rings
73 "Normalize 1,3 conjugated cation\t[N;+0!H0:1]@-[A:2]=[N!$(*~[N,O,P,S;-1]),O;+1H0:3]>>[*+1:1]=[*:2]-[*+0:3]\n"
74 "Normalize 1,5 conjugated cation\t[N;+0!H0:1]@-[A:2]=[A:3]@-[A:4]=[N!$(*~[N,O,P,S;-1]),O;+1H0:5]>>[*+1:1]=[*:2]-[*:3]=[*:4]-[*+0:5]\n"
75 "Normalize 1,3 conjugated cation\t[N,O!$(*N);+0!H0:1]-[A:2]=[N!$(*~[N,O,P,S;-1]),O;+1H0:3]>>[*+1:1]=[*:2]-[*+0:3]\n"
76 "Normalize 1,3 conjugated cation\t[n;+0!H0:1]:[c:2]=[N!$(*~[N,O,P,S;-1]),O;+1H0:3]>>[*+1:1]:[*:2]-[*+0:3]\n"
77 "Normalize 1,5 conjugated cation\t[N;+0!H0:1]@-[A:2]=[A:3]-[A:4]=[N!$(*~[N,O,P,S;-1]),O;+1H0:5]>>[*+1:1]=[*:2]-[*:3]=[*:4]-[*+0:5]\n"
78 "Normalize 1,5 conjugated cation\t[N,O!$(*N);+0!H0:1]-[A:2]=[A:3]@-[A:4]=[N!$(*~[N,O,P,S;-1]),O;+1H0:5]>>[*+1:1]=[*:2]-[*:3]=[*:4]-[*+0:5]\n"
79 "Normalize 1,5 conjugated cation\t[N,O!$(*N);+0!H0:1]-[A:2]=[A:3]-[A:4]=[N!$(*~[N,O,P,S;-1]),O;+1H0:5]>>[*+1:1]=[*:2]-[*:3]=[*:4]-[*+0:5]\n"
80 "Normalize 1,5 conjugated cation\t[n;+0!H0:1]:[a:2]:[a:3]:[c:4]=[N!$(*~[N,O,P,S;-1]),O;+1H0:5]>>[n+1:1]:[*:2]:[*:3]:[*:4]-[*+0:5]\n"
81 "Charge normalization\t[F,Cl,Br,I,At;-1:1]=[O:2]>>[*-0:1][O-:2]\n"
82 "Charge recombination\t[N,P,As,Sb;-1:1]=[C+;v3:2]>>[*+0:1]#[C+0:2]\n"};
83 unsigned int normalizerMaxRestarts{200};
84 double scaledMedianBondLength{1.};
85
86 // serialization
87 bool outputV2000{false};
88};
89
90enum RDKIT_MOLSTANDARDIZE_EXPORT PipelineStatus {
91 NO_EVENT = 0,
92 INPUT_ERROR = (1 << 0),
93 PREPARE_FOR_VALIDATION_ERROR = (1 << 1),
94 FEATURES_VALIDATION_ERROR = (1 << 2),
95 BASIC_VALIDATION_ERROR = (1 << 3),
96 IS2D_VALIDATION_ERROR = (1 << 4),
97 LAYOUT2D_VALIDATION_ERROR = (1 << 5),
98 STEREO_VALIDATION_ERROR = (1 << 6),
99 VALIDATION_ERROR = (FEATURES_VALIDATION_ERROR | BASIC_VALIDATION_ERROR |
100 IS2D_VALIDATION_ERROR | LAYOUT2D_VALIDATION_ERROR |
101 STEREO_VALIDATION_ERROR),
102 PREPARE_FOR_STANDARDIZATION_ERROR = (1 << 7),
103 METAL_STANDARDIZATION_ERROR = (1 << 8),
104 NORMALIZER_STANDARDIZATION_ERROR = (1 << 9),
105 FRAGMENT_STANDARDIZATION_ERROR = (1 << 10),
106 CHARGE_STANDARDIZATION_ERROR = (1 << 11),
107 STANDARDIZATION_ERROR =
108 (METAL_STANDARDIZATION_ERROR | NORMALIZER_STANDARDIZATION_ERROR |
109 FRAGMENT_STANDARDIZATION_ERROR | CHARGE_STANDARDIZATION_ERROR),
110 OUTPUT_ERROR = (1 << 12),
111 PIPELINE_ERROR = (INPUT_ERROR | PREPARE_FOR_VALIDATION_ERROR |
112 VALIDATION_ERROR | PREPARE_FOR_STANDARDIZATION_ERROR |
113 STANDARDIZATION_ERROR | OUTPUT_ERROR),
114 METALS_DISCONNECTED = (1 << 23),
115 NORMALIZATION_APPLIED = (1 << 24),
116 FRAGMENTS_REMOVED = (1 << 25),
117 PROTONATION_CHANGED = (1 << 26),
118 STRUCTURE_MODIFICATION = (METALS_DISCONNECTED | NORMALIZATION_APPLIED |
119 FRAGMENTS_REMOVED | PROTONATION_CHANGED)
120};
121
122 enum class RDKIT_MOLSTANDARDIZE_EXPORT PipelineStage : std::uint32_t {
123 NOT_STARTED = 0,
124 PARSING_INPUT,
125 PREPARE_FOR_VALIDATION,
126 VALIDATION,
127 PREPARE_FOR_STANDARDIZATION,
128 STANDARDIZATION,
129 REAPPLY_WEDGING,
130 CLEANUP_2D,
131 MAKE_PARENT,
132 SERIALIZING_OUTPUT,
133 COMPLETED
134};
135
136 struct RDKIT_MOLSTANDARDIZE_EXPORT PipelineLogEntry {
137 PipelineStatus status;
138 std::string detail;
139};
140
141 using PipelineLog = std::vector<PipelineLogEntry>;
142
143 struct RDKIT_MOLSTANDARDIZE_EXPORT PipelineResult {
144 PipelineStatus status;
145 std::uint32_t stage;
146 PipelineLog log;
147 std::string inputMolData;
148 std::string outputMolData;
149 std::string parentMolData;
150
151 void append(PipelineStatus newStatus, const std::string &info);
152};
153
154 using RWMOL_SPTR_PAIR = std::pair<RWMOL_SPTR, RWMOL_SPTR>;
155
156 namespace Operations {
157 RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR prepareForValidation(
158 RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options);
159 RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR validate(RWMOL_SPTR mol,
160 PipelineResult &result,
161 const PipelineOptions &options);
162 RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR prepareForStandardization(
163 RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options);
164 RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR standardize(
165 RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options);
166 RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR reapplyWedging(
167 RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options);
168 RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR cleanup2D(
169 RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options);
170 RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR_PAIR makeParent(
171 RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options);
172
173 RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR parse(const std::string &molblock,
174 PipelineResult &result,
175 const PipelineOptions &options);
176 RDKIT_MOLSTANDARDIZE_EXPORT void serialize(RWMOL_SPTR_PAIR output,
177 PipelineResult &result,
178 const PipelineOptions &options);
179
180 using ParseOperation = decltype(&parse);
181 using SerializeOperation = decltype(&serialize);
182 using Operation = decltype(&prepareForValidation);
183 using ParentOperation = decltype(&makeParent);
184 using PipelineVector = std::vector<std::pair<std::uint32_t, Operation>>;
185
186 const PipelineVector validationSteps{
187 // input sanitization and cleanup
188 {static_cast<uint32_t>(PipelineStage::PREPARE_FOR_VALIDATION),
189 &prepareForValidation},
190 // validate the structure
191 {static_cast<uint32_t>(PipelineStage::VALIDATION), &validate}};
192
193 const PipelineVector standardizationSteps{
194 {static_cast<uint32_t>(PipelineStage::PREPARE_FOR_STANDARDIZATION),
195 &prepareForStandardization},
196 {static_cast<uint32_t>(PipelineStage::STANDARDIZATION), &standardize},
197 {static_cast<uint32_t>(PipelineStage::REAPPLY_WEDGING), &reapplyWedging},
198 {static_cast<uint32_t>(PipelineStage::CLEANUP_2D), &cleanup2D}};
199} // namespace Operations
200
201 class RDKIT_MOLSTANDARDIZE_EXPORT Pipeline {
202 private:
203 PipelineOptions options;
204 Operations::ParseOperation parse = Operations::parse;
205 Operations::SerializeOperation serialize = Operations::serialize;
206 Operations::PipelineVector validationSteps = Operations::validationSteps;
207 Operations::PipelineVector standardizationSteps =
208 Operations::standardizationSteps;
209 Operations::ParentOperation makeParent = Operations::makeParent;
210
211 public:
212 Pipeline() = default;
213 explicit Pipeline(const PipelineOptions &o) : options(o) {};
214 ~Pipeline() = default;
215
216 PipelineResult run(const std::string &molblock) const;
217
218 void setValidationSteps(const Operations::PipelineVector &steps) {
219 validationSteps = steps;
220 }
221 void setStandardizationSteps(const Operations::PipelineVector &steps) {
222 standardizationSteps = steps;
223 }
224 void setMakeParent(Operations::ParentOperation op) { makeParent = op; }
225 void setParse(Operations::ParseOperation op) { parse = op; }
226 void setSerialize(Operations::SerializeOperation op) { serialize = op; }
227
228 private:
229};
230
231} // namespace MolStandardize
232} // namespace RDKit
233
234#endif
PREPARE_FOR_STANDARDIZATION_ERROR
PREPARE_FOR_STANDARDIZATION_ERROR
Definition Pipeline.h:102
FRAGMENTS_REMOVED
FRAGMENTS_REMOVED
Definition Pipeline.h:116
FRAGMENT_STANDARDIZATION_ERROR
FRAGMENT_STANDARDIZATION_ERROR
Definition Pipeline.h:105
NORMALIZER_STANDARDIZATION_ERROR
NORMALIZER_STANDARDIZATION_ERROR
Definition Pipeline.h:104
FEATURES_VALIDATION_ERROR
FEATURES_VALIDATION_ERROR
Definition Pipeline.h:94
LAYOUT2D_VALIDATION_ERROR
LAYOUT2D_VALIDATION_ERROR
Definition Pipeline.h:97
PREPARE_FOR_VALIDATION_ERROR
PREPARE_FOR_VALIDATION_ERROR
Definition Pipeline.h:93
NORMALIZATION_APPLIED
NORMALIZATION_APPLIED
Definition Pipeline.h:115
METALS_DISCONNECTED
METALS_DISCONNECTED
Definition Pipeline.h:114
STANDARDIZATION_ERROR
STANDARDIZATION_ERROR
Definition Pipeline.h:107
STEREO_VALIDATION_ERROR
STEREO_VALIDATION_ERROR
Definition Pipeline.h:98
OUTPUT_ERROR
OUTPUT_ERROR
Definition Pipeline.h:110
INPUT_ERROR
INPUT_ERROR
Definition Pipeline.h:92
VALIDATION_ERROR
VALIDATION_ERROR
Definition Pipeline.h:99
CHARGE_STANDARDIZATION_ERROR
CHARGE_STANDARDIZATION_ERROR
Definition Pipeline.h:106
PROTONATION_CHANGED
PROTONATION_CHANGED
Definition Pipeline.h:117
IS2D_VALIDATION_ERROR
IS2D_VALIDATION_ERROR
Definition Pipeline.h:96
BASIC_VALIDATION_ERROR
BASIC_VALIDATION_ERROR
Definition Pipeline.h:95
PIPELINE_ERROR
PIPELINE_ERROR
Definition Pipeline.h:111
METAL_STANDARDIZATION_ERROR
METAL_STANDARDIZATION_ERROR
Definition Pipeline.h:103
NO_EVENT
NO_EVENT
Definition Pipeline.h:91
RWMol.h
Defines the editable molecule class RWMol.
RDKit::MolStandardize::Pipeline::setValidationSteps
void setValidationSteps(const Operations::PipelineVector &steps)
Definition Pipeline.h:218
RDKit::MolStandardize::Pipeline::setSerialize
void setSerialize(Operations::SerializeOperation op)
Definition Pipeline.h:226
RDKit::MolStandardize::Pipeline::run
PipelineResult run(const std::string &molblock) const
RDKit::MolStandardize::Pipeline::~Pipeline
~Pipeline()=default
RDKit::MolStandardize::Pipeline::setStandardizationSteps
void setStandardizationSteps(const Operations::PipelineVector &steps)
Definition Pipeline.h:221
RDKit::MolStandardize::Pipeline::Pipeline
Pipeline()=default
RDKit::MolStandardize::Pipeline::setParse
void setParse(Operations::ParseOperation op)
Definition Pipeline.h:225
RDKit::MolStandardize::Pipeline::setMakeParent
void setMakeParent(Operations::ParentOperation op)
Definition Pipeline.h:224
RDKit::MolStandardize::Pipeline::Pipeline
Pipeline(const PipelineOptions &o)
Definition Pipeline.h:213
export.h
RDKIT_MOLSTANDARDIZE_EXPORT
#define RDKIT_MOLSTANDARDIZE_EXPORT
Definition export.h:369
RDKit::MolStandardize::Operations
Definition Pipeline.h:156
RDKit::MolStandardize::Operations::reapplyWedging
RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR reapplyWedging(RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options)
RDKit::MolStandardize::Operations::validate
RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR validate(RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options)
RDKit::MolStandardize::Operations::cleanup2D
RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR cleanup2D(RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options)
RDKit::MolStandardize::Operations::standardizationSteps
const PipelineVector standardizationSteps
Definition Pipeline.h:193
RDKit::MolStandardize::Operations::standardize
RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR standardize(RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options)
RDKit::MolStandardize::Operations::Operation
decltype(&prepareForValidation) Operation
Definition Pipeline.h:182
RDKit::MolStandardize::Operations::ParentOperation
decltype(&makeParent) ParentOperation
Definition Pipeline.h:183
RDKit::MolStandardize::Operations::parse
RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR parse(const std::string &molblock, PipelineResult &result, const PipelineOptions &options)
RDKit::MolStandardize::Operations::SerializeOperation
decltype(&serialize) SerializeOperation
Definition Pipeline.h:181
RDKit::MolStandardize::Operations::prepareForValidation
RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR prepareForValidation(RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options)
RDKit::MolStandardize::Operations::validationSteps
const PipelineVector validationSteps
Definition Pipeline.h:186
RDKit::MolStandardize::Operations::prepareForStandardization
RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR prepareForStandardization(RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options)
RDKit::MolStandardize::Operations::serialize
RDKIT_MOLSTANDARDIZE_EXPORT void serialize(RWMOL_SPTR_PAIR output, PipelineResult &result, const PipelineOptions &options)
RDKit::MolStandardize::Operations::makeParent
RDKIT_MOLSTANDARDIZE_EXPORT RWMOL_SPTR_PAIR makeParent(RWMOL_SPTR mol, PipelineResult &result, const PipelineOptions &options)
RDKit::MolStandardize::Operations::PipelineVector
std::vector< std::pair< std::uint32_t, Operation > > PipelineVector
Definition Pipeline.h:184
RDKit::MolStandardize::Operations::ParseOperation
decltype(&parse) ParseOperation
Definition Pipeline.h:180
RDKit::MolStandardize
Definition AcidBaseCatalogEntry.h:22
RDKit::MolStandardize::COMPLETED
enum RDKIT_MOLSTANDARDIZE_EXPORT COMPLETED
Definition Pipeline.h:134
RDKit::MolStandardize::PipelineStage
enum RDKIT_MOLSTANDARDIZE_EXPORT PipelineStage
Definition Pipeline.h:122
RDKit::MolStandardize::PREPARE_FOR_STANDARDIZATION
enum RDKIT_MOLSTANDARDIZE_EXPORT PREPARE_FOR_STANDARDIZATION
Definition Pipeline.h:127
RDKit::MolStandardize::CLEANUP_2D
enum RDKIT_MOLSTANDARDIZE_EXPORT CLEANUP_2D
Definition Pipeline.h:130
RDKit::MolStandardize::PipelineLog
std::vector< PipelineLogEntry > PipelineLog
Definition Pipeline.h:141
RDKit::MolStandardize::MAKE_PARENT
enum RDKIT_MOLSTANDARDIZE_EXPORT MAKE_PARENT
Definition Pipeline.h:131
RDKit::MolStandardize::STANDARDIZATION
enum RDKIT_MOLSTANDARDIZE_EXPORT STANDARDIZATION
Definition Pipeline.h:128
RDKit::MolStandardize::PARSING_INPUT
enum RDKIT_MOLSTANDARDIZE_EXPORT PARSING_INPUT
Definition Pipeline.h:124
RDKit::MolStandardize::VALIDATION
enum RDKIT_MOLSTANDARDIZE_EXPORT VALIDATION
Definition Pipeline.h:126
RDKit::MolStandardize::RWMOL_SPTR_PAIR
std::pair< RWMOL_SPTR, RWMOL_SPTR > RWMOL_SPTR_PAIR
Definition Pipeline.h:154
RDKit::MolStandardize::PREPARE_FOR_VALIDATION
enum RDKIT_MOLSTANDARDIZE_EXPORT PREPARE_FOR_VALIDATION
Definition Pipeline.h:125
RDKit::MolStandardize::REAPPLY_WEDGING
enum RDKIT_MOLSTANDARDIZE_EXPORT REAPPLY_WEDGING
Definition Pipeline.h:129
RDKit::MolStandardize::SERIALIZING_OUTPUT
enum RDKIT_MOLSTANDARDIZE_EXPORT SERIALIZING_OUTPUT
Definition Pipeline.h:132
RDKit
Std stuff.
Definition Abbreviations.h:19
RDKit::RWMOL_SPTR
boost::shared_ptr< RWMol > RWMOL_SPTR
Definition RWMol.h:222
RDKit::MolStandardize::PipelineLogEntry
Definition Pipeline.h:136
RDKit::MolStandardize::PipelineLogEntry::detail
std::string detail
Definition Pipeline.h:138
RDKit::MolStandardize::PipelineLogEntry::status
PipelineStatus status
Definition Pipeline.h:137
RDKit::MolStandardize::PipelineOptions
Definition Pipeline.h:23
RDKit::MolStandardize::PipelineOptions::allowAromaticBondType
bool allowAromaticBondType
Definition Pipeline.h:31
RDKit::MolStandardize::PipelineOptions::allowLongBondsInRings
bool allowLongBondsInRings
Definition Pipeline.h:37
RDKit::MolStandardize::PipelineOptions::atomClashLimit
double atomClashLimit
Definition Pipeline.h:34
RDKit::MolStandardize::PipelineOptions::minMedianBondLength
double minMedianBondLength
Definition Pipeline.h:35
RDKit::MolStandardize::PipelineOptions::allowEmptyMolecules
bool allowEmptyMolecules
Definition Pipeline.h:29
RDKit::MolStandardize::PipelineOptions::normalizerMaxRestarts
unsigned int normalizerMaxRestarts
Definition Pipeline.h:83
RDKit::MolStandardize::PipelineOptions::metalNof
std::string metalNof
Definition Pipeline.h:42
RDKit::MolStandardize::PipelineOptions::allowEnhancedStereo
bool allowEnhancedStereo
Definition Pipeline.h:30
RDKit::MolStandardize::PipelineOptions::outputV2000
bool outputV2000
Definition Pipeline.h:87
RDKit::MolStandardize::PipelineOptions::bondLengthLimit
double bondLengthLimit
Definition Pipeline.h:36
RDKit::MolStandardize::PipelineOptions::scaledMedianBondLength
double scaledMedianBondLength
Definition Pipeline.h:84
RDKit::MolStandardize::PipelineOptions::strictParsing
bool strictParsing
Definition Pipeline.h:25
RDKit::MolStandardize::PipelineOptions::allowDativeBondType
bool allowDativeBondType
Definition Pipeline.h:32
RDKit::MolStandardize::PipelineOptions::reportAllFailures
bool reportAllFailures
Definition Pipeline.h:28
RDKit::MolStandardize::PipelineOptions::allowAtomBondClashExemption
bool allowAtomBondClashExemption
Definition Pipeline.h:38
RDKit::MolStandardize::PipelineOptions::metalNon
std::string metalNon
Definition Pipeline.h:43
RDKit::MolStandardize::PipelineOptions::normalizerData
std::string normalizerData
Definition Pipeline.h:45
RDKit::MolStandardize::PipelineOptions::is2DZeroThreshold
double is2DZeroThreshold
Definition Pipeline.h:33
RDKit::MolStandardize::PipelineResult
Definition Pipeline.h:143
RDKit::MolStandardize::PipelineResult::parentMolData
std::string parentMolData
Definition Pipeline.h:149
RDKit::MolStandardize::PipelineResult::stage
std::uint32_t stage
Definition Pipeline.h:145
RDKit::MolStandardize::PipelineResult::log
PipelineLog log
Definition Pipeline.h:146
RDKit::MolStandardize::PipelineResult::inputMolData
std::string inputMolData
Definition Pipeline.h:147
RDKit::MolStandardize::PipelineResult::outputMolData
std::string outputMolData
Definition Pipeline.h:148
RDKit::MolStandardize::PipelineResult::status
PipelineStatus status
Definition Pipeline.h:144
RDKit::MolStandardize::PipelineResult::append
void append(PipelineStatus newStatus, const std::string &info)