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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
//
// Copyright (C) 2023 Novartis Biomedical Research
//
// @@ 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 <RDBoost/Wrap.h>
#include <GraphMol/RDKitBase.h>
#include <GraphMol/MolStandardize/Pipeline.h>
namespace RDKit {
namespace MolStandardize {
bool operator==(const PipelineLogEntry &lhs, const PipelineLogEntry &rhs) {
return (lhs.status == rhs.status) && (lhs.detail == rhs.detail);
}
} // namespace MolStandardize
} // namespace RDKit
namespace python = boost::python;
using namespace RDKit;
void wrap_pipeline() {
python::class_<MolStandardize::PipelineOptions>("PipelineOptions")
.def_readwrite("strictParsing",
&MolStandardize::PipelineOptions::strictParsing)
.def_readwrite("reportAllFailures",
&MolStandardize::PipelineOptions::reportAllFailures)
.def_readwrite("allowEmptyMolecules",
&MolStandardize::PipelineOptions::allowEmptyMolecules)
.def_readwrite("allowEnhancedStereo",
&MolStandardize::PipelineOptions::allowEnhancedStereo)
.def_readwrite("allowAromaticBondType",
&MolStandardize::PipelineOptions::allowAromaticBondType)
.def_readwrite("allowDativeBondType",
&MolStandardize::PipelineOptions::allowDativeBondType)
.def_readwrite("is2DZeroThreshold",
&MolStandardize::PipelineOptions::is2DZeroThreshold)
.def_readwrite("atomClashLimit",
&MolStandardize::PipelineOptions::atomClashLimit)
.def_readwrite("minMedianBondLength",
&MolStandardize::PipelineOptions::minMedianBondLength)
.def_readwrite("bondLengthLimit",
&MolStandardize::PipelineOptions::bondLengthLimit)
.def_readwrite("allowLongBondsInRings",
&MolStandardize::PipelineOptions::allowLongBondsInRings)
.def_readwrite(
"allowAtomBondClashExemption",
&MolStandardize::PipelineOptions::allowAtomBondClashExemption)
.def_readwrite("metalNof", &MolStandardize::PipelineOptions::metalNof)
.def_readwrite("metalNon", &MolStandardize::PipelineOptions::metalNon)
.def_readwrite("normalizerData",
&MolStandardize::PipelineOptions::normalizerData)
.def_readwrite("normalizerMaxRestarts",
&MolStandardize::PipelineOptions::normalizerMaxRestarts)
.def_readwrite("scaledMedianBondLength",
&MolStandardize::PipelineOptions::scaledMedianBondLength)
.def_readwrite("outputV2000",
&MolStandardize::PipelineOptions::outputV2000);
python::enum_<MolStandardize::PipelineStatus>("PipelineStatus")
.value("NO_EVENT", MolStandardize::PipelineStatus::NO_EVENT)
.value("INPUT_ERROR", MolStandardize::PipelineStatus::INPUT_ERROR)
.value("PREPARE_FOR_VALIDATION_ERROR",
MolStandardize::PipelineStatus::PREPARE_FOR_VALIDATION_ERROR)
.value("FEATURES_VALIDATION_ERROR",
MolStandardize::PipelineStatus::FEATURES_VALIDATION_ERROR)
.value("BASIC_VALIDATION_ERROR",
MolStandardize::PipelineStatus::BASIC_VALIDATION_ERROR)
.value("IS2D_VALIDATION_ERROR",
MolStandardize::PipelineStatus::IS2D_VALIDATION_ERROR)
.value("LAYOUT2D_VALIDATION_ERROR",
MolStandardize::PipelineStatus::LAYOUT2D_VALIDATION_ERROR)
.value("STEREO_VALIDATION_ERROR",
MolStandardize::PipelineStatus::STEREO_VALIDATION_ERROR)
.value("VALIDATION_ERROR",
MolStandardize::PipelineStatus::VALIDATION_ERROR)
.value("PREPARE_FOR_STANDARDIZATION_ERROR",
MolStandardize::PipelineStatus::PREPARE_FOR_STANDARDIZATION_ERROR)
.value("METAL_STANDARDIZATION_ERROR",
MolStandardize::PipelineStatus::METAL_STANDARDIZATION_ERROR)
.value("NORMALIZER_STANDARDIZATION_ERROR",
MolStandardize::PipelineStatus::NORMALIZER_STANDARDIZATION_ERROR)
.value("FRAGMENT_STANDARDIZATION_ERROR",
MolStandardize::PipelineStatus::FRAGMENT_STANDARDIZATION_ERROR)
.value("CHARGE_STANDARDIZATION_ERROR",
MolStandardize::PipelineStatus::CHARGE_STANDARDIZATION_ERROR)
.value("STANDARDIZATION_ERROR",
MolStandardize::PipelineStatus::STANDARDIZATION_ERROR)
.value("OUTPUT_ERROR", MolStandardize::PipelineStatus::OUTPUT_ERROR)
.value("PIPELINE_ERROR", MolStandardize::PipelineStatus::PIPELINE_ERROR)
.value("METALS_DISCONNECTED",
MolStandardize::PipelineStatus::METALS_DISCONNECTED)
.value("NORMALIZATION_APPLIED",
MolStandardize::PipelineStatus::NORMALIZATION_APPLIED)
.value("FRAGMENTS_REMOVED",
MolStandardize::PipelineStatus::FRAGMENTS_REMOVED)
.value("PROTONATION_CHANGED",
MolStandardize::PipelineStatus::PROTONATION_CHANGED)
.value("STRUCTURE_MODIFICATION",
MolStandardize::PipelineStatus::STRUCTURE_MODIFICATION);
python::enum_<MolStandardize::PipelineStage>("PipelineStage")
.value("PARSING_INPUT", MolStandardize::PipelineStage::PARSING_INPUT)
.value("PREPARE_FOR_VALIDATION",
MolStandardize::PipelineStage::PREPARE_FOR_VALIDATION)
.value("VALIDATION", MolStandardize::PipelineStage::VALIDATION)
.value("PREPARE_FOR_STANDARDIZATION",
MolStandardize::PipelineStage::PREPARE_FOR_STANDARDIZATION)
.value("STANDARDIZATION", MolStandardize::PipelineStage::STANDARDIZATION)
.value("SERIALIZING_OUTPUT",
MolStandardize::PipelineStage::SERIALIZING_OUTPUT)
.value("COMPLETED", MolStandardize::PipelineStage::COMPLETED);
python::class_<MolStandardize::PipelineLogEntry>("PipelineLogEntry",
python::no_init)
.def_readonly("status", &MolStandardize::PipelineLogEntry::status)
.def_readonly("detail", &MolStandardize::PipelineLogEntry::detail);
python::class_<MolStandardize::PipelineLog>("PipelineLog", python::no_init)
.def(python::vector_indexing_suite<MolStandardize::PipelineLog>());
python::class_<MolStandardize::PipelineResult>("PipelineResult",
python::no_init)
.def_readonly("status", &MolStandardize::PipelineResult::status)
.def_readonly("stage", &MolStandardize::PipelineResult::stage)
.def_readonly("log", &MolStandardize::PipelineResult::log)
.def_readonly("inputMolData",
&MolStandardize::PipelineResult::inputMolData)
.def_readonly("outputMolData",
&MolStandardize::PipelineResult::outputMolData)
.def_readonly("parentMolData",
&MolStandardize::PipelineResult::parentMolData);
python::class_<MolStandardize::Pipeline>("Pipeline")
.def(python::init<const MolStandardize::PipelineOptions &>())
.def("run", &MolStandardize::Pipeline::run);
}
|