Hi Kirk,

On Friday, August 29, 2014, Robert DeLisle <[email protected]> wrote:

> Hello, all.  Long time, no see.
>
>
Welcome back!


> I have a project in which an application is being developed in Java and I
> would like to use some of the RDKit functionality to enhance it.  I can
> easily write the Python code to do what I need, but I need to get that into
> a form that can be accessed from Java.
>
> The only solution I've come up with is to use something akin to py2exe
> which has the nice feature of not requiring the full Python and RDKit
> installation on the target machine, but would require some type of
> intermediate step (probably a file process) to pass data between Java and
> the .exe.  Ideally, it would be nice to pass the results through
> interfaces, but that's being quite hopeful.
>
> I've searched through the RDKit-discuss archives for this type of thing,
> but I haven't seen anything that really answers my question.  Also, I know
> there are RDKit KNIME nodes, so surely there's a direct way to this that
> I'm not aware of.
>

A (large) subset of RDKit functionality is available directly from Java
using the SWIG wrappers; this is how the KNIME nodes work. The Java wrapper
is under-documented, so getting up to speed with using it can be
non-trivial. The closest thing to example code available is the testing
code:
https://github.com/rdkit/rdkit/tree/master/Code/JavaWrappers/gmwrapper/src-test/org/RDKit
or the code for the knime nodes:
https://community.knime.org/svn/nodes4knime/trunk/org.rdkit/org.rdkit.knime.nodes/src/org/rdkit/knime/nodes/
(though this can be somewhat hairy due to the amount of knime stuff that's
in there).
Fortunately, if you're using something like eclipse, you can always find
out what functions/methods are available. For documentation as to what
those functions/methods actually do, you can often use the C++ API
documentation: http://rdkit.org/docs/cppapi/index.html

If the functionality you need is python only, or if you want to write your
RDKit code in Python, it's going to be trickier. You'll need to go out
through a separate file (as you mention above) or do something
client-server with the server written in Python. If you're using py2exe
anyway, exploring the client-server approach might be worthwhile.

-greg
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to