Files
rdkit/Code/JavaWrappers/MolStandardize.i
Riccardo Vianello 3f7caf0147 Extend RDKit::MolStandardize with a validation and standardization Pipeline (#7582)
* Extend RDKit::MolStandardize with a validation and standardization Pipeline

* suggested changes

* apply clang-format

* apply yapf

* MolStandardize::FeaturesValidation optionally disallow dative bonds

* add allowDativeBondType to MolStandardize::PipelineOptions

* apply clang-format

* make the API of other validation classes more consistent with MolStandardize::FeaturesValidation

* apply clang-format

* PipelineStage to enum class
remove virtual functions from Pipeline class
be explicit about enums

* light refactoring to avoid what I think is an unnecessary call to `parse`

* a bit of modernization

* make the pipeline configurable

* make parse and serialize configurable too

* switch to storing pipeline stages using uints

* add a simple test for providing a pipeline

* update pointer alignment for clang-format

* test modifying the parser and serializer

* update swig requirement

* changes in response to review

* changes in response to review

* rename PipelineResult's *MolBlock members to *MolData

* upgrade swig to 4.2 in the CI environments

* add a few missing export directives

---------

Co-authored-by: greg landrum <greg.landrum@gmail.com>
2024-07-30 17:09:16 +02:00

28 lines
711 B
OpenEdge ABL

%{
#include <GraphMol/MolStandardize/MolStandardize.h>
#include <GraphMol/MolStandardize/Pipeline.h>
namespace RDKit {
namespace MolStandardize {
bool operator==(const PipelineLogEntry & rhs, const PipelineLogEntry & lhs) {
return (rhs.status == lhs.status) && (rhs.detail == lhs.detail);
}
bool operator!=(const PipelineLogEntry & rhs, const PipelineLogEntry & lhs) {
return !(rhs == lhs);
}
}
}
%}
%include <std_vector.i>
namespace std {
%template(PipelineLog) std::vector<RDKit::MolStandardize::PipelineLogEntry>;
}
%include <GraphMol/MolStandardize/MolStandardize.h>
#if defined SWIGJAVA
%include "enumtypeunsafe.swg"
#endif
%include <GraphMol/MolStandardize/Pipeline.h>