Re: connecting mzmine to mev, R, and Matlab

37 views
Skip to first unread message

Christopher Bare

unread,
Feb 28, 2011, 12:59:40 PM2/28/11
to Ben Bowen, gaggle-...@googlegroups.com
Hi Ben,

Gaggle gives you the ability to transmit a handful of data types
between programs: a 2D matrix, a network, or a "tuple" (a list of
key/value pairs where the values can be any of the gaggle data types).
Note that you can build just about any data structure out of a tuple,
but it might be a little awkward.

Gaggle works on Java's RMI protocol, but our objects are intentionally
more like plain data structures than full Java objects. Gaggle is
essentially Java RMI + a constrained vocabulary of data types that our
connected apps understand. So, whether it works for you depends on how
well suited the vocabulary is to your problem.

The class definitions for the data types are here:
http://gaggle.systemsbiology.net/svn/gaggle/gaggle/trunk/src/main/org/systemsbiology/gaggle/core/datatypes/

Adding Gaggle connectivity to MZmine should be straight-forward. Maybe
we could get the developers interested? It would involve creating the
UI elements (a right-click menu or something like that) and the code
to translate MZmine's data structures to the equivalent Gaggle objects
and back.

If that isn't what you want, coding something at the level of
exchanging your own customized Java objects over RMI is not too tough.
Both R and MatLab have Java interoperability packages. I'm fairly
familiar with rJava, if you need help with that. Less so with the
MatLab equivalent.

If your data structures are larger than a few megabytes, I'd think
about writing them out to a shared database. You could rig up a
messaging protocol, through Gaggle or otherwise, that would refer to
the database rather than pass the data directly. ...the messaging
equivalent of pass-by-reference rather than pass-by-value. I've done
this through Gaggle using tuples to broadcast the database connect
string and query parameters. I haven't thought enough about
generalizing it, so, for the time being, something like this would be
purpose-specific.

I hope this helps,

-Chris

On Mon, Feb 28, 2011 at 9:18 AM, Ben Bowen <ben....@gmail.com> wrote:
> I've been compiling from source a program for analysis of mass spec
> data called mzmine, and was wondering how efficiently you can push
> intact java objects using Gaggle?  For me, I would like to click a
> button and push the processed results as an intact structure (class?)
> into Matlab (ie: not just a flattened table).  Do I have to route this
> through a database? or xml file? or is there some cool connector to
> bridge these tools?
>
> I want to take advantage of the GUI that mzmine offers, but the
> programmatic-number crunching that Matlab/R/MeV offer.  Is what I'm
> asking easy or hard?
>
> Ben
>
>

Reply all
Reply to author
Forward
0 new messages