Hi Mummi,

We have a URL request (some call it direct URL, some call it URL API and
few other derivates), what it does is that it provides you with a
mechanism to write the query with attributes and filters preset. The
moment you fire it through web-browser against a BioMart server, it sets
all the attributes and filters in MartView and jumps directly to the
results page. From this point onwards, users can further modify the
selection. However, as you are well familiar with the session IDs system
of MartView, it does not show anything in address field of the browser,
just a session ID, which it creates from the set of attributes/filters
you supplied.

please see user-docs.pdf 

page 68m section 6.7 MartView URL Requests

hope that explains it. Ensembl Genome browser is using the said
mechanism to jump directly to Ensembl MartView from Ensembl GENE VIEW,
CONTIG VIEW, EXON VIEW etc. please see the left panel on these views
where you will see options like:

Export Gene info in region
Export SNP info in region
Export Vega info in region

hope this explains these requests.

PS: if you are happy with the functioning and do not wish the MartView
to jump to results page, that I can help you to modify this.

cheers
syed



On Fri, 2008-02-22 at 10:27 +0000, Gudmundur A. Thorisson wrote:
> Syed, we're looking to do a similar thing with our project over here  
> in Leicester, with respect to canned queries and also URLs from  
> various pages on our site. I'd like to ask you this: is there  
> currently a way to pass a previous Mart query straight to the CGI- 
> script and not only have it show the results, but also pre-fill out  
> the filters and attributes and other parts of the form, so the user  
> could then modify the parameters at will?
> 
>    I ask because it's far from straight-forward to construct martview  
> URLs, and the one time I tried this and got it show me results as  
> desired, it did not set up the filters & attributes. Or is the direct- 
> URL method supposed to do this and I was just missing some key pieces  
> from the URL?
> 
> Best regards,
> 
>         Mummi, Leicester
> 
> Begin forwarded message:
> 
> > From: Syed Haider <[EMAIL PROTECTED]>
> > Date: 22 February 2008 09:40:50 GMT
> > To: Roger Hull <[EMAIL PROTECTED]>
> > Cc: [email protected]
> > Subject: Re: [mart-dev] Adding canned queries to MartView
> >
> > Hi Roger,
> >
> > On Thu, 2008-02-21 at 23:33 +0000, Roger Hull wrote:
> >> Hi Syed,
> >>
> >> Thanks for your comments.
> >>
> >> Well, just getting the xml of the biomart query is a possibility - it
> >> might be possible to get back to what the user had selected/typed  
> >> from
> >> the xml. But really I want to store my own data which makes it  
> >> easy to
> >> reinitialise my form (in header.tt) to what the user had
> >> selected/typed. (Also in some cases the same biomart query might have
> >> arisen from more than one canned query.)
> >>
> >> I guess AJAX is still an option for this job (with a simple perl
> >> script to handle the request). Originally I thought of adding some
> >> extra GET or POST parameters to the martview page to pass it this
> >> information, but then I would need to be able to run a CGI script as
> >> the page loads, which would involve hacking into your martview code.
> >> As far as I can see you don't provide anywhere official for me to put
> >> a CGI script which gets run when martview loads.
> >>
> >> So I wondered if you have any other suggestions?
> >
> > Looks to me the best option if you declare your own <form>...</ 
> > form> and
> > have a PERL CGI script talking to it. would be easy to maintain and
> > eliminates the need to hack martview.
> >
> > cheers
> > syed
> >
> >>
> >> If I write such a conversion function (xml -> URL parameters) I'll
> >> certainly share it.
> >>
> >> Regards,
> >> Roger.
> >>
> >> Syed Haider wrote:
> >>> Hi Roger,
> >>>
> >>> On Thu, 2008-02-21 at 17:36 +0000, Roger Hull wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I am in the process of adding some preformed queries to  
> >>>> MartView. The
> >>>> user will select from a list of queries, possibly enter some
> >>>> parameters (depending upon the query), and I have code (either  
> >>>> perl or
> >>>> javascript) which will send the query to MartView using a Mart URL
> >>>> Request. This works fine for my first test query. This is  
> >>>> implemented
> >>>> in javascript added to header.tt and footer.tt.
> >>>>
> >>>> My main problem is how best to find out using javascript what query
> >>>> was requested when I come back into the martview page (so I can
> >>>> reselect the user's canned query and re-enter the parameters).  
> >>>> Can you
> >>>> suggest how I could do this, minimising the changes to the biomart
> >>>> code as far as possible?
> >>>>
> >>>> One idea I had is to handle the generation of the query URL from  
> >>>> perl,
> >>>> and store the canned query somewhere (in a session parameter  
> >>>> maybe).
> >>>> Then when I come back to the martview page, use an ajax request to
> >>>> find out the details of the canned query.
> >>>>
> >>>
> >>> by storing a 'canned query' in session param, what exactly do you  
> >>> intend
> >>> to store ? is it just like an XML query  which our XML button
> >>> generates ? then of course write a simple AJAX javascript request  
> >>> and
> >>> ask from XML query. Currently, if you see the code behind OnClick 
> >>> () of
> >>> XML button, it asks for XML by setting the target to a new  
> >>> window, you
> >>> can call it exactly the same way and just avoid the target window  
> >>> bit.
> >>> AJAX code is already available in javascript 'martview.js' which  
> >>> can be
> >>> reused.
> >>>
> >>>
> >>>
> >>>> This seems rather complicated, but could all be done without  
> >>>> changing
> >>>> any biomart code, just adding javascript to header.tt, and some  
> >>>> extra
> >>>> scripts on my server to handle the requests. But if you can suggest
> >>>> something better (simpler :-) ) I would be grateful.
> >>>>
> >>>> Also, do you have handy perl and/or javascript functions to convert
> >>>> between a query in xml format (for MartService) and URL format? It
> >>>> would be convenient to store the canned queries as xml templates
> >>>> (ready to fill in parameters), then convert the completed xml  
> >>>> into a
> >>>> URL query. I guess I can write such a function if necessary, but  
> >>>> don't
> >>>> want to re-invent the wheel.
> >>>>
> >>>
> >>> I am afraid, we never felt a need to do this conversion, please feel
> >>> free to write such a conversion function. This may help other  
> >>> users in
> >>> the future.
> >>>
> >>> good luck!
> >>>
> >>> cheers
> >>> syed
> >>>
> >>>
> >>>
> >>>> Regards,
> >>>>
> >>>> Roger
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> > -- 
> > ======================================
> > Syed Haider.
> > EMBL-European Bioinformatics Institute
> > Wellcome Trust Genome Campus, Hinxton,
> > Cambridge CB10 1SD, UK.
> > ======================================
> >
-- 
======================================
Syed Haider.
EMBL-European Bioinformatics Institute
Wellcome Trust Genome Campus, Hinxton,
Cambridge CB10 1SD, UK.
======================================

Reply via email to