// // 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 #include #include #include namespace python = boost::python; using namespace RDKit; namespace { ROMol *normalizeHelper(MolStandardize::Normalizer &self, const ROMol &mol) { return self.normalize(mol); } MolStandardize::Normalizer *normalizerFromParams( const std::string &data, const MolStandardize::CleanupParameters ¶ms) { std::istringstream sstr(data); return new MolStandardize::Normalizer(sstr, params.maxRestarts); } } // namespace struct normalize_wrapper { static void wrap() { python::scope().attr("__doc__") = "Module containing tools for normalizing molecules defined by SMARTS " "patterns"; std::string docString = ""; python::class_( "Normalizer", python::init<>()) .def(python::init()) .def("normalize", &normalizeHelper, (python::arg("self"), python::arg("mol")), "", python::return_value_policy()); python::def("NormalizerFromData", &normalizerFromParams, (python::arg("paramData")), "creates a normalizer from a string containing parameter data", python::return_value_policy()); } }; void wrap_normalize() { normalize_wrapper::wrap(); }