[v2 API] SMILES/SMARTS parsers (#6203)

* basic approach to v2api

* does not work, backup commit

* well, that now compiles

* cleaner

* more cleanup and testing

* get the SWIG wrappers to build

* swig wrappers now build

* switch back to using references to default values

* adjust to new catch version

* move the implementation to v2 and call it from v1

* update the parameter object too

* move debugParse down

* a couple of review changes

* make v2 naming consistent with Python
This commit is contained in:
Greg Landrum
2024-01-19 17:17:51 +01:00
committed by GitHub
parent 702f958621
commit 8127c85a91
8 changed files with 290 additions and 137 deletions

View File

@@ -110,14 +110,14 @@
%}
// ===== SmilesParseException =====
%typemap(javabase) RDKit::SmilesParseException "java.lang.RuntimeException";
%typemap(throws, throws="org.RDKit.SmilesParseException") RDKit::SmilesParseException {
%typemap(javabase) RDKit::SmilesParse::SmilesParseException "java.lang.RuntimeException";
%typemap(throws, throws="org.RDKit.SmilesParseException") RDKit::SmilesParse::SmilesParseException {
jclass excep = jenv->FindClass("org/RDKit/SmilesParseException");
if (excep)
jenv->ThrowNew(excep, $1.what());
return $null;
}
%typemap(javacode) RDKit::SmilesParseException %{
%typemap(javacode) RDKit::SmilesParse::SmilesParseException %{
public String getMessage() {
return what();
}

View File

@@ -68,6 +68,8 @@
%javaconst(1);
#endif
%include <GraphMol/FileParsers/FileParsers.h>
%ignore RDKit::v2;
%ignore RDKit::v2::SmilesParse;
%include <GraphMol/SmilesParse/SmilesParse.h>
%include <GraphMol/RWMol.h>
@@ -76,7 +78,7 @@
std::map<std::string,std::string> *replacements=0){
return RDKit::RWMOL_SPTR(RDKit::SmilesToMol(smi, debugParse, sanitize,replacements));
}
static RDKit::RWMOL_SPTR MolFromSmiles(const std::string &smi, const RDKit::SmilesParserParams &params){
static RDKit::RWMOL_SPTR MolFromSmiles(const std::string &smi, const RDKit::v1::SmilesParserParams &params){
return RDKit::RWMOL_SPTR(RDKit::SmilesToMol(smi, params));
}
static RDKit::RWMOL_SPTR MolFromSmarts(const std::string &sma,int debugParse=0,bool mergeHs=false,

View File

@@ -34,6 +34,7 @@
%{
#include <GraphMol/SmilesParse/SmilesParse.h>
%}
%ignore RDKit::v2;
%ignore SmilesToMol;
%ignore SmartsToMol;
%include <GraphMol/SmilesParse/SmilesParse.h>

View File

@@ -166,7 +166,7 @@ typedef unsigned long long int uintmax_t;
%shared_ptr(RDKit::AtomValenceException)
%shared_ptr(RDKit::AtomKekulizeException)
%shared_ptr(RDKit::KekulizeException)
%shared_ptr(RDKit::SmilesParseException)
%shared_ptr(RDKit::SmilesParse::SmilesParseException)
%shared_ptr(RDKit::RingInfo)
%shared_ptr(RDKit::ChemicalReaction)
%shared_ptr(ForceFields::ForceFieldContrib);