Hi List,

as part of my diploma thesis, i'm trying to write my own java client similar to MartExplorer, with some added functionality. I already created a biomart database and filled it with data. I am missing some features in biomart and i am currently not able to decide whether i should stick with the biomart java-api, or implement a query interface on my own.

Here's the setup:
The java client should connect to my server-application using RMI, since the client will run in a different subnet, not being able to connect to the db-server directly. Most computations should take place on the server, since the client machines are somewhat slow.
I ran into the following difficulties:

- Multiple selections per attribute
Is there a way to run queries with more than 1 value per attribute?
I'm thinking of a list with the available values, where you can select multiple entries, translating to a sql statement like "WHERE attribute1='value1' AND (annotator='joe' OR annotator='jack') AND ..."


- automatic drop-down updates
when selecting e.g. an organism from a drop-down, some other drop-downs should be updated on-the-fly, e.g. the list with anotators should be updated so that only the people who are referenced with this organism should be visible. the function for making drop-downs in MartEditor just doesn't quite do the job

- "pretty" query result
i figured the only way to get the query-results is via an OutputStream, so when i want to show a pretty table-widget with nice sorting, i have to parse the output line-by-line and put it into a suitable object.
is there an easier way to do this?

So my possibilities are as follows:

- i have to modify the biomart-classes heavily, probably running into even more problems i am not yet aware of (or maybe not, if i'm lucky :)

- i basically stop using biomart and try to implement my own query builder, maybe lending some of the biomart-code in the process. after all that is the only functionality i really need, biomart is really great and has a lot of functionality, but for my setup it seems a bit unsuited.

I would really appreciate comments, tips or rants on this one, i hope they help me finding a decision so i can start coding right away :)

Thanks in advance,

--
Garvin Gripp

Reply via email to