On Mon, 22 May 2006, Richard Holland wrote: > Hi there. I'm fairly new to the BioMart team myself but here's my first > thoughts on your questions: > > > - 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 ..." > > No, there's no way to do this, not even using the other tools available. > The BioMart query engine is designed around a single-value-per-attribute > model.
we may be talking at cross purposes here but I think what you are talking about is equivalent to our ID list filters (ie) a list of values is passed to a filter and becomes an IN list or OR separate statements in the SQL. This does work now. The perl library automatically converts the filter from a single val to multi-val filter but I'm struggling to remember how the martj system works as it is a bit more out of date. But essentially, yes it is possible > > > - 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 > > You'd have to write code to do this yourself. There is no way I know of > to define dependencies at row-level for a BioMart database. (The code > you mention in MartEditor allows you to define drop-downs but without > dependencies at row-level, so you can only show all the rows, not just > some of them depending on some other restriction.) > this may be the same as our push action concept (eg) on the main biomart site for human ensembl genes you can choose a chromosome name from a drop down list and this choice affects the list of bands available in the band drop down filter. This is all set up in MartEditor using the make drop downs and add push action functionality. Let us know if you need any pointers > > - "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? > > In version 0.5 there will be the concept of a Formatter, which does just > what you say. It is an object which parses a BioMart response and turns > it into some predefined format. I'm not sure if this will exist in > martj, but it will definitely exist in the perl libraries. > > Martj as a whole is pretty out-of-date and needs a serious rewrite. It's > on the to-do list! > exactly :) If you are going to develop a separate java based client it may be worth using out web-services interface. That way you get all the up to date functionality of the perl API. Know someone working for the MyGRID project is taking such an approach rather that rewriting our API in java. The Query XML is going to be much similar in the upcoming release so let us know if you want more details on this. There is some documentation on biomart.org as well but basically anything you can do on the website or thro the perl API will be available thro the webservice cheers Damian > cheers, > Richard > > -- > Richard Holland (BioMart Team) > EMBL-EBI > Wellcome Trust Genome Campus > Hinxton > Cambridge CB10 1SD > UNITED KINGDOM > Tel: +44-(0)1223-494416 > >
