[Gmod-ajax] BLAST Results in URL?

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

[Gmod-ajax] BLAST Results in URL?

Hans Vasquez-Gross
Hi Robert,

   It was great meeting you at PAG last month.  I have a quick question which I'm fairly certain I know the answer to.  Currently, our database is linking out to JBrowse based on blast hits to a specific region.  This is great because it brings them to the region they hit against, but it doesn't show them exactly where their hit aligned.   I'd like to create a new track and feature on the fly based on the blast hit, so the user can actually see where it is located on the reference.  

There was a feature request a year ago suggesting an Adhoc mode to URL encode features here: https://github.com/GMOD/jbrowse/issues/103

Is this feasible?  If not, what would be the best way to do this?

Cheers,
-Hans

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: BLAST Results in URL?

Robert Buels-2
Hi Hans!  Was great to meet you too!

The two main mechanisms for accomplishing this right now are either to:

a.) add the tracks to JBrowse via the query string in JBrowse's URL,
using the `addFeatures` and `addTracks` query variables as described at
http://gmod.org/wiki/JBrowse_Configuration_Guide#addFeatures

b.) serve some of the JBrowse configuration dynamically from your web
site or web app, by customizing your jbrowse.conf to add an "include +=
/url/to/additional/jbrowse/config.json", and include some user-specific
BLAST hit tracks in that configuration

Do those meet your needs?


Robert Buels
Lead Developer
JBrowse - http://jbrowse.org

On 02/04/2014 04:25 PM, Hans Vasquez-Gross wrote:

> Hi Robert,
>
>     It was great meeting you at PAG last month.  I have a quick question
> which I'm fairly certain I know the answer to.  Currently, our database
> is linking out to JBrowse based on blast hits to a specific region.
>   This is great because it brings them to the region they hit against,
> but it doesn't show them exactly where their hit aligned.   I'd like to
> create a new track and feature on the fly based on the blast hit, so the
> user can actually see where it is located on the reference.
>
> There was a feature request a year ago suggesting an Adhoc mode to URL
> encode features here: https://github.com/GMOD/jbrowse/issues/103 .
>
> Is this feasible?  If not, what would be the best way to do this?
>
> Cheers,
> -Hans
>
>
> ------------------------------------------------------------------------------
> Managing the Performance of Cloud-Based Applications
> Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
> Read the Whitepaper.
> http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
>
>
>
> _______________________________________________
> Gmod-ajax mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gmod-ajax
>

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: BLAST Results in URL?

Hans Vasquez-Gross
Hi Robert,

   Option A is exactly what I needed.  Thank you!

Cheers,
-Hans



------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: BLAST Results in URL?

Hans Vasquez-Gross
Hi all,

I'm finally getting to implementing BLAST results in JBrowse.  However, I'm having some trouble getting the addFeatures= in the url to work. 

Example JSON for BLAST HIT:
[{"seq_id":"IWGSC_CSS_5BS_scaff_2265844", "start": 7923, "end": 8185, "name": "MyBLASTHit"}]

JSON URI-escaped:
%5B%7B%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207923%2C%20%22end%22%3A%208185%2C%20%22name%22%3A%20%22MyBLASTHit%22%7D%5D

Region URL:

I didn't quite know what to do with the data store 'url' you mention at the end of this section.  I tried adding &addFeatures= with the escaped URI above, but nothing changed.  I also didn't see any errors in the javascript console during debugging.  Do you have a working example on how to configure this?

Also, I tried adding 'url' to my &tracks= , but I didn't see the change.  How would I go about getting this to work?

Thank you,
-Hans


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: BLAST Results in URL?

Hans Vasquez-Gross
It just took some sleep and further thinking today, but I got it working.  I had the correct addFeatures string, but rather then using &tracks, I had to use &addTracks= to configure this new blast track on the fly.

Here is an example working link that implements both addFeatures and addTrack:
<a href="http://169.237.215.34/jbrowse/?data=data%2Fjson%2Fiwgsc-5BS&amp;loc=IWGSC_CSS_5BS_scaff_2265844%3A1410..10371&amp;tracks=DNA%2Cmipsannot%2Ctgacannot%2CsnpsgenomeHC%2CsnpsgenomeLC%2CsnpsgenomeMC%2Cblast&amp;highlight=IWGSC_CSS_5BS_scaff_2265844%3A3183..8673&amp;addFeatures=[{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207923%2C%20%22end%22%3A%208185%2C%20%22name%22%3A%20%22MyBLASTHit%22}]&amp;addTracks=[{%22label%22%3A%22blast%22%2C%22store%22%3A%22url%22%2C%22type%22%3A%22JBrowse%2FView%2FTrack%2FHTMLFeatures%22%2C%20%22key%22%3A%22BlastHSP%20Results%22}]">http://169.237.215.34/jbrowse/?data=data%2Fjson%2Fiwgsc-5BS&loc=IWGSC_CSS_5BS_scaff_2265844%3A1410..10371&tracks=DNA%2Cmipsannot%2Ctgacannot%2CsnpsgenomeHC%2CsnpsgenomeLC%2CsnpsgenomeMC%2Cblast&highlight=IWGSC_CSS_5BS_scaff_2265844%3A3183..8673&addFeatures=[{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207923%2C%20%22end%22%3A%208185%2C%20%22name%22%3A%20%22MyBLASTHit%22}]&addTracks=[{%22label%22%3A%22blast%22%2C%22store%22%3A%22url%22%2C%22type%22%3A%22JBrowse%2FView%2FTrack%2FHTMLFeatures%22%2C%20%22key%22%3A%22BlastHSP%20Results%22}]

Cheers,
-Hans

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: BLAST Results in URL?

Colin
Thanks for the followup Hans, glad it works!

For anyone who doesn't natively read URL-encoded-strings (hehe), the query string essentially says:
addFeatures=[{"seq_id":"IWGSC_CSS_5BS_scaff_2265844", "start": 7923, "end": 8185, "name": "MyBLASTHit"}]&addTracks=[{"label":"blast","store":"url","type":"JBrowse/View/Track/HTMLFeatures", "key":"BlastHSP Results"}]
 
-Colin


On Tue, Apr 15, 2014 at 2:08 PM, Hans Vasquez-Gross <[hidden email]> wrote:

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax



------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: BLAST Results in URL?

Hans Vasquez-Gross
Thank you for the followup, Colin.  

It's working nicely in Firefox, but I'm noticing some other browsers are occasionally having issues with these very long URLS (>2000 characters).  I'm starting to think about how to get option B working from Robert's original response.  I may just need to take out my addTracks definition and put that in the tracks.conf file which will save about 160 characters in the URL.  There still is a chance to have very long URLS though.

Example link (2471 characters):
<a href="http://169.237.215.34/jbrowse/?data=data%2Fjson%2Fiwgsc-5BS&amp;loc=IWGSC_CSS_5BS_scaff_2265844%3A3311..9280&amp;tracks=DNA%2Cmipsannot%2Ctgacannot%2CsnpsgenomeHC%2CsnpsgenomeLC%2CsnpsgenomeMC%2Cblast&amp;highlight=IWGSC_CSS_5BS_scaff_2265844%3A3183..8673&amp;addFeatures=[{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207923%2C%20%22end%22%3A%208185%2C%20%22name%22%3A%20%22MyBLASTHit_1%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%203183%2C%20%22end%22%3A%203422%2C%20%22name%22%3A%20%22MyBLASTHit_2%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206851%2C%20%22end%22%3A%207042%2C%20%22name%22%3A%20%22MyBLASTHit_3%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207145%2C%20%22end%22%3A%207294%2C%20%22name%22%3A%20%22MyBLASTHit_4%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207400%2C%20%22end%22%3A%207522%2C%20%22name%22%3A%20%22MyBLASTHit_5%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%208273%2C%20%22end%22%3A%208389%2C%20%22name%22%3A%20%22MyBLASTHit_6%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%205403%2C%20%22end%22%3A%205515%2C%20%22name%22%3A%20%22MyBLASTHit_7%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206636%2C%20%22end%22%3A%206746%2C%20%22name%22%3A%20%22MyBLASTHit_8%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206157%2C%20%22end%22%3A%206261%2C%20%22name%22%3A%20%22MyBLASTHit_9%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207597%2C%20%22end%22%3A%207698%2C%20%22name%22%3A%20%22MyBLASTHit_10%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%204711%2C%20%22end%22%3A%204789%2C%20%22name%22%3A%20%22MyBLASTHit_11%22%2C%20%22description%22%20%3A%20%22evalue%201e-20%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206360%2C%20%22end%22%3A%206425%2C%20%22name%22%3A%20%22MyBLASTHit_12%22%2C%20%22description%22%20%3A%20%22evalue%201e-10%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%208639%2C%20%22end%22%3A%208673%2C%20%22name%22%3A%20%22MyBLASTHit_13%22%2C%20%22description%22%20%3A%20%22evalue%200.0001%22}]&amp;addTracks=[{%22label%22%3A%22blast%22%2C%22store%22%3A%22url%22%2C%22type%22%3A%22JBrowse%2FView%2FTrack%2FHTMLFeatures%22%2C%20%22key%22%3A%22BlastHSP%20Results%22}]%0A">http://169.237.215.34/jbrowse/?data=data%2Fjson%2Fiwgsc-5BS&loc=IWGSC_CSS_5BS_scaff_2265844%3A3311..9280&tracks=DNA%2Cmipsannot%2Ctgacannot%2CsnpsgenomeHC%2CsnpsgenomeLC%2CsnpsgenomeMC%2Cblast&highlight=IWGSC_CSS_5BS_scaff_2265844%3A3183..8673&addFeatures=[{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207923%2C%20%22end%22%3A%208185%2C%20%22name%22%3A%20%22MyBLASTHit_1%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%203183%2C%20%22end%22%3A%203422%2C%20%22name%22%3A%20%22MyBLASTHit_2%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206851%2C%20%22end%22%3A%207042%2C%20%22name%22%3A%20%22MyBLASTHit_3%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207145%2C%20%22end%22%3A%207294%2C%20%22name%22%3A%20%22MyBLASTHit_4%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207400%2C%20%22end%22%3A%207522%2C%20%22name%22%3A%20%22MyBLASTHit_5%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%208273%2C%20%22end%22%3A%208389%2C%20%22name%22%3A%20%22MyBLASTHit_6%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%205403%2C%20%22end%22%3A%205515%2C%20%22name%22%3A%20%22MyBLASTHit_7%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206636%2C%20%22end%22%3A%206746%2C%20%22name%22%3A%20%22MyBLASTHit_8%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206157%2C%20%22end%22%3A%206261%2C%20%22name%22%3A%20%22MyBLASTHit_9%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207597%2C%20%22end%22%3A%207698%2C%20%22name%22%3A%20%22MyBLASTHit_10%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%204711%2C%20%22end%22%3A%204789%2C%20%22name%22%3A%20%22MyBLASTHit_11%22%2C%20%22description%22%20%3A%20%22evalue%201e-20%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206360%2C%20%22end%22%3A%206425%2C%20%22name%22%3A%20%22MyBLASTHit_12%22%2C%20%22description%22%20%3A%20%22evalue%201e-10%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%208639%2C%20%22end%22%3A%208673%2C%20%22name%22%3A%20%22MyBLASTHit_13%22%2C%20%22description%22%20%3A%20%22evalue%200.0001%22}]&addTracks=[{%22label%22%3A%22blast%22%2C%22store%22%3A%22url%22%2C%22type%22%3A%22JBrowse%2FView%2FTrack%2FHTMLFeatures%22%2C%20%22key%22%3A%22BlastHSP%20Results%22}]%0A

Any suggestions on how to continue this development would be greatly appreciated.

Cheers,
-Hans

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: BLAST Results in URL?

Hans Vasquez-Gross
I'm having trouble finding the mapping of the json tracklist I define in URL to the necessary fields in the tracks.conf file.

Working JSON in URL:
[{"label":"blast","store":"url","type":"JBrowse/View/Track/HTMLFeatures", "key":"BlastHSP Results"}]

Tracks.conf file I'm trying to include additionally.
[ tracks.blast ]
store = url
storeClass = JBrowse/View/Track/HTMLFeatures
key = BlastHSP Results

However, it seems as though store is not defined the same way as in the trackList.json.

Thank you,
-Hans

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: BLAST Results in URL?

Hans Vasquez-Gross
I've updated the tracks.conf definition and now the javascript console error message is a bit more informative.

[ tracks.blast ]
storeClass = url
type = JBrowse/View/Track/HTMLFeatures
key = BlastHSP Results

Error:

I poked around the src/ folder but couldn't find anything related to a Store/url.js .

Thank you,
-Hans



------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: BLAST Results in URL?

Serguei Simonov
In reply to this post by Hans Vasquez-Gross
Hello everyone,

I’m sorry to interrupt but the topic you mentioned is important for me too.

Too long URL request for JBrowse. (It limit in 2K symbols). And the limit valid for GET methods. 

Does anyone had experience in change GET to POST method (which doesn’t have the limit,but less convenient)? As I understood it’s inside Dojo.

Regards,

Serguei

On Apr 16, 2014, at 3:21 AM, Hans Vasquez-Gross <[hidden email]> wrote:

Thank you for the followup, Colin.  

It's working nicely in Firefox, but I'm noticing some other browsers are occasionally having issues with these very long URLS (>2000 characters).  I'm starting to think about how to get option B working from Robert's original response.  I may just need to take out my addTracks definition and put that in the tracks.conf file which will save about 160 characters in the URL.  There still is a chance to have very long URLS though.

Example link (2471 characters):
<a href="http://169.237.215.34/jbrowse/?data=data%2Fjson%2Fiwgsc-5BS&amp;loc=IWGSC_CSS_5BS_scaff_2265844%3A3311..9280&amp;tracks=DNA%2Cmipsannot%2Ctgacannot%2CsnpsgenomeHC%2CsnpsgenomeLC%2CsnpsgenomeMC%2Cblast&amp;highlight=IWGSC_CSS_5BS_scaff_2265844%3A3183..8673&amp;addFeatures=[{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207923%2C%20%22end%22%3A%208185%2C%20%22name%22%3A%20%22MyBLASTHit_1%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%203183%2C%20%22end%22%3A%203422%2C%20%22name%22%3A%20%22MyBLASTHit_2%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206851%2C%20%22end%22%3A%207042%2C%20%22name%22%3A%20%22MyBLASTHit_3%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207145%2C%20%22end%22%3A%207294%2C%20%22name%22%3A%20%22MyBLASTHit_4%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207400%2C%20%22end%22%3A%207522%2C%20%22name%22%3A%20%22MyBLASTHit_5%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%208273%2C%20%22end%22%3A%208389%2C%20%22name%22%3A%20%22MyBLASTHit_6%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%205403%2C%20%22end%22%3A%205515%2C%20%22name%22%3A%20%22MyBLASTHit_7%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206636%2C%20%22end%22%3A%206746%2C%20%22name%22%3A%20%22MyBLASTHit_8%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206157%2C%20%22end%22%3A%206261%2C%20%22name%22%3A%20%22MyBLASTHit_9%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207597%2C%20%22end%22%3A%207698%2C%20%22name%22%3A%20%22MyBLASTHit_10%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%204711%2C%20%22end%22%3A%204789%2C%20%22name%22%3A%20%22MyBLASTHit_11%22%2C%20%22description%22%20%3A%20%22evalue%201e-20%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206360%2C%20%22end%22%3A%206425%2C%20%22name%22%3A%20%22MyBLASTHit_12%22%2C%20%22description%22%20%3A%20%22evalue%201e-10%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%208639%2C%20%22end%22%3A%208673%2C%20%22name%22%3A%20%22MyBLASTHit_13%22%2C%20%22description%22%20%3A%20%22evalue%200.0001%22}]&amp;addTracks=[{%22label%22%3A%22blast%22%2C%22store%22%3A%22url%22%2C%22type%22%3A%22JBrowse%2FView%2FTrack%2FHTMLFeatures%22%2C%20%22key%22%3A%22BlastHSP%20Results%22}]%0A">http://169.237.215.34/jbrowse/?data=data%2Fjson%2Fiwgsc-5BS&loc=IWGSC_CSS_5BS_scaff_2265844%3A3311..9280&tracks=DNA%2Cmipsannot%2Ctgacannot%2CsnpsgenomeHC%2CsnpsgenomeLC%2CsnpsgenomeMC%2Cblast&highlight=IWGSC_CSS_5BS_scaff_2265844%3A3183..8673&addFeatures=[{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207923%2C%20%22end%22%3A%208185%2C%20%22name%22%3A%20%22MyBLASTHit_1%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%203183%2C%20%22end%22%3A%203422%2C%20%22name%22%3A%20%22MyBLASTHit_2%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206851%2C%20%22end%22%3A%207042%2C%20%22name%22%3A%20%22MyBLASTHit_3%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207145%2C%20%22end%22%3A%207294%2C%20%22name%22%3A%20%22MyBLASTHit_4%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207400%2C%20%22end%22%3A%207522%2C%20%22name%22%3A%20%22MyBLASTHit_5%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%208273%2C%20%22end%22%3A%208389%2C%20%22name%22%3A%20%22MyBLASTHit_6%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%205403%2C%20%22end%22%3A%205515%2C%20%22name%22%3A%20%22MyBLASTHit_7%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206636%2C%20%22end%22%3A%206746%2C%20%22name%22%3A%20%22MyBLASTHit_8%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206157%2C%20%22end%22%3A%206261%2C%20%22name%22%3A%20%22MyBLASTHit_9%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%207597%2C%20%22end%22%3A%207698%2C%20%22name%22%3A%20%22MyBLASTHit_10%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%204711%2C%20%22end%22%3A%204789%2C%20%22name%22%3A%20%22MyBLASTHit_11%22%2C%20%22description%22%20%3A%20%22evalue%201e-20%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%206360%2C%20%22end%22%3A%206425%2C%20%22name%22%3A%20%22MyBLASTHit_12%22%2C%20%22description%22%20%3A%20%22evalue%201e-10%22}%2C{%22seq_id%22%3A%22IWGSC_CSS_5BS_scaff_2265844%22%2C%20%22start%22%3A%208639%2C%20%22end%22%3A%208673%2C%20%22name%22%3A%20%22MyBLASTHit_13%22%2C%20%22description%22%20%3A%20%22evalue%200.0001%22}]&addTracks=[{%22label%22%3A%22blast%22%2C%22store%22%3A%22url%22%2C%22type%22%3A%22JBrowse%2FView%2FTrack%2FHTMLFeatures%22%2C%20%22key%22%3A%22BlastHSP%20Results%22}]%0A

Any suggestions on how to continue this development would be greatly appreciated.

Cheers,
-Hans
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: BLAST Results in URL?

Richard Hayes
In reply to this post by Hans Vasquez-Gross
Hi,

Sorry for the radio silence. I've added the gmod-ajax list back, so this is archived properly.

Yes, I have had success implementing custom blast results tracks in JBrowse, but it is also a bit specific to our website and server architecture, with a session cookie helping guide a CGI script that returns blast results as GFF3 features. This has some general applicability, though.

Phytozome recently updated all genome browsers to JBrowse for our version 10 release here: http://phytozome.jgi.doe.gov

Here is how Phytozome implemented blast display:
1) Each genome has a permanent blast track with a custom callback in the urlTemplate parameter that sets the store dynamically to a URL based on a user cookie setting. For example,

[tracks.UserBlastResults]
key = User Blast Results
type = JBrowse/View/Track/CanvasFeatures
glyph = JBrowse/View/FeatureGlyph/Segments
subParts = match_part
style.color = deepskyblue
storeClass = JBrowse/Store/SeqFeature/GFF3
urlTemplate = function( store ) {
                  var thisSource = store.browser.config.dataset_id;
                  var zuid = "";
                  var ca = document.cookie.split(';');
                  for (var i=0; i<ca.length; i++) {
                      var c = ca[i].trim();
                      if (c.indexOf("zuid=")==0) zuid = c.substring(5,c.length);
                  }
                  if (zuid == "") { zuid="XXXXXX"; }
                  return "/cgi-bin/returnBLASTgff.pl?source="+thisSource+"&zuid="+zuid+"&type=match:BLAST";
              }

I'd love a more efficient method of extracting an individual cookie key/value pair, but this works.

2) User's blast against genomic sequence from here: http://phytozome.jgi.doe.gov/pz/portal.html#!search?show=BLAST

3) BLAST itself is run on our servers, producing XML output.

4) When blast results are returned, the XML is parsed to build a graphical view in our web frontend and the cookie "zuid" value is set. On the server, the XML is also automatically parsed to convert to GFF3, and that converted file is placed in a temp directory tree organized by dataset_id names and that zuid session id.
Here's a simple example of a Eucalyptus grandis gene blasted against it's own assembly:
http://phytozome.jgi.doe.gov/pz/portal.html#!seqQueryResults?id=2876

5) Users can switch to the JBrowse view by clicking on each graphical representation, provided the blast was against a nucleotide database. For example,
We preprocess the results a bit here, too. The "loc" parameter is based on the coordinates of the blast alignment, but padded to give us horizontal whitespace in the Jbrowse view.

Otherwise, we've only just included the "UserBlastResults" track label at the front of the default track types to render.

It's that urlTemplate callback that does most of the work. The CGI perl script always returns a "Content-type: text/plain\n\n" HTTP header and the standard "##gff-version 3\n" declaration line, but will return no other data if the user doesn't have a cookie, or a GFF3 file matching this species and user zuid cookie isn't found. Those conditions give us a blank track, rather than JBrowse rendering errors, although there is a console error logged for an empty/invalid store.

This gives us more persistence than the addStores and addTracks usage seemed to offer. A user who runs blast can return to the genome browser and still access their recent blast results as long as the cookie is still valid and the temp space hasn't been purged from the server.

Best regards,

Richard D. Hayes, Ph.D.
Joint Genome Institute / Lawrence Berkeley National Lab
http://phytozome.jgi.doe.gov


On Wed, Apr 16, 2014 at 5:23 PM, Robert Buels <[hidden email]> wrote:
It's definitely feasible.  The person who knows the most about this is almost certainly Richard Hayes.  I'm CCing him here.

Richard, could you give Hans some pointers on what you did?

Rob


On Tue, Feb 4, 2014 at 4:25 PM, Hans Vasquez-Gross <[hidden email]> wrote:
Hi Robert,

   It was great meeting you at PAG last month.  I have a quick question which I'm fairly certain I know the answer to.  Currently, our database is linking out to JBrowse based on blast hits to a specific region.  This is great because it brings them to the region they hit against, but it doesn't show them exactly where their hit aligned.   I'd like to create a new track and feature on the fly based on the blast hit, so the user can actually see where it is located on the reference.  

There was a feature request a year ago suggesting an Adhoc mode to URL encode features here: https://github.com/GMOD/jbrowse/issues/103

Is this feasible?  If not, what would be the best way to do this?

Cheers,
-Hans

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax




------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: BLAST Results in URL?

vkrishna
Hi,

As an alternative to the existing implementations by Hans (encoding results in the URL) and Richard (retrieving results via a perl script which converts to GFF3 on the fly), we do the following to load a results track on the fly to JBrowse (the approach outlined below is an implementation in WebApollo to display the results of a BLAT search converted into GFF3 format as a track in JBrowse).
search.setRedirectCallback(function(id, fmin, fmax, ts) {
var flank = Math.round((fmax - fmin) * 0.2);
var url = '<%= new URL(request.getRequestURL().toString())%>';
var urlroot = url.substring(0, url.lastIndexOf("/"));
var resultDir = '<%=session.getId()%>_' + ts;
var resultFile = resultDir + '/results.gff';
          var addStore = 'addStores={"url":{"type":"JBrowse/Store/SeqFeature/GFF3","urlTemplate":"’ + urlroot + resultFile +
'"}}&addTracks=[{"label":"SearchResults","type":"JBrowse/View/Track/HTMLFeatures","store":"url"}]' +
'&tracks=SearchResults';
var url = 'jbrowse/?loc=' + id + ":" + (fmin-flank) + ".." + (fmax+flank)+"&highlight="+id+":"+(fmin+1) + ".." + fmax + '&' + addStore;
window.open(url);
});

As you can see, in the addStore variable, we’re creating a new “url” store of type SeqFeature/GFF3, pointing to the web-accessible URL for the result file (which is stored in a unique directory named after the session identifier and a timestamp, similar to how Richard pulls in a GFF3 results based on a zuid from a cookie), adding it as a track named “SearchResults” and then asking JBrowse to display that track by setting it in the “&tracks” parameter.

This way, we avoid having to predefine the track in the trackList.json file.

Just adding a description of this alternative method to the thread for posterity!

Thank you.
Vivek

On Apr 16, 2014, at 9:09 PM, Richard Hayes <[hidden email]> wrote:

Hi,

Sorry for the radio silence. I've added the gmod-ajax list back, so this is archived properly.

Yes, I have had success implementing custom blast results tracks in JBrowse, but it is also a bit specific to our website and server architecture, with a session cookie helping guide a CGI script that returns blast results as GFF3 features. This has some general applicability, though.

Phytozome recently updated all genome browsers to JBrowse for our version 10 release here: http://phytozome.jgi.doe.gov

Here is how Phytozome implemented blast display:
1) Each genome has a permanent blast track with a custom callback in the urlTemplate parameter that sets the store dynamically to a URL based on a user cookie setting. For example,

[tracks.UserBlastResults]
key = User Blast Results
type = JBrowse/View/Track/CanvasFeatures
glyph = JBrowse/View/FeatureGlyph/Segments
subParts = match_part
style.color = deepskyblue
storeClass = JBrowse/Store/SeqFeature/GFF3
urlTemplate = function( store ) {
                  var thisSource = store.browser.config.dataset_id;
                  var zuid = "";
                  var ca = document.cookie.split(';');
                  for (var i=0; i<ca.length; i++) {
                      var c = ca[i].trim();
                      if (c.indexOf("zuid=")==0) zuid = c.substring(5,c.length);
                  }
                  if (zuid == "") { zuid="XXXXXX"; }
                  return "/cgi-bin/returnBLASTgff.pl?source="+thisSource+"&zuid="+zuid+"&type=match:BLAST";
              }

I'd love a more efficient method of extracting an individual cookie key/value pair, but this works.

2) User's blast against genomic sequence from here: http://phytozome.jgi.doe.gov/pz/portal.html#!search?show=BLAST

3) BLAST itself is run on our servers, producing XML output.

4) When blast results are returned, the XML is parsed to build a graphical view in our web frontend and the cookie "zuid" value is set. On the server, the XML is also automatically parsed to convert to GFF3, and that converted file is placed in a temp directory tree organized by dataset_id names and that zuid session id.
Here's a simple example of a Eucalyptus grandis gene blasted against it's own assembly:
http://phytozome.jgi.doe.gov/pz/portal.html#!seqQueryResults?id=2876

5) Users can switch to the JBrowse view by clicking on each graphical representation, provided the blast was against a nucleotide database. For example,
We preprocess the results a bit here, too. The "loc" parameter is based on the coordinates of the blast alignment, but padded to give us horizontal whitespace in the Jbrowse view.

Otherwise, we've only just included the "UserBlastResults" track label at the front of the default track types to render.

It's that urlTemplate callback that does most of the work. The CGI perl script always returns a "Content-type: text/plain\n\n" HTTP header and the standard "##gff-version 3\n" declaration line, but will return no other data if the user doesn't have a cookie, or a GFF3 file matching this species and user zuid cookie isn't found. Those conditions give us a blank track, rather than JBrowse rendering errors, although there is a console error logged for an empty/invalid store.

This gives us more persistence than the addStores and addTracks usage seemed to offer. A user who runs blast can return to the genome browser and still access their recent blast results as long as the cookie is still valid and the temp space hasn't been purged from the server.

Best regards,

Richard D. Hayes, Ph.D.
Joint Genome Institute / Lawrence Berkeley National Lab
http://phytozome.jgi.doe.gov


On Wed, Apr 16, 2014 at 5:23 PM, Robert Buels <[hidden email]> wrote:
It's definitely feasible.  The person who knows the most about this is almost certainly Richard Hayes.  I'm CCing him here.

Richard, could you give Hans some pointers on what you did?

Rob


On Tue, Feb 4, 2014 at 4:25 PM, Hans Vasquez-Gross <[hidden email]> wrote:
Hi Robert,

   It was great meeting you at PAG last month.  I have a quick question which I'm fairly certain I know the answer to.  Currently, our database is linking out to JBrowse based on blast hits to a specific region.  This is great because it brings them to the region they hit against, but it doesn't show them exactly where their hit aligned.   I'd like to create a new track and feature on the fly based on the blast hit, so the user can actually see where it is located on the reference.  

There was a feature request a year ago suggesting an Adhoc mode to URL encode features here: https://github.com/GMOD/jbrowse/issues/103

Is this feasible?  If not, what would be the best way to do this?

Cheers,
-Hans

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax



------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax


------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax
Reply | Threaded
Open this post in threaded view
|

Re: BLAST Results in URL?

Richard Hayes
This applies to the BLAT plugin in WebApollo, though, right?

I'll admit that track predefinition in a regular JBrowse install a bit clunky, but was preferred to the addStore/addTracks JSON character spaghetti otherwise necessary on the query string. And, it keeps the urlTemplate settings a bit more behind the scenes.

Glad that is working for you, though!

Richard D. Hayes, Ph.D.
Joint Genome Institute / Lawrence Berkeley National Lab
http://phytozome.jgi.doe.gov


On Mon, Jul 28, 2014 at 4:10 PM, Krishnakumar, Vivek <[hidden email]> wrote:
Hi,

As an alternative to the existing implementations by Hans (encoding results in the URL) and Richard (retrieving results via a perl script which converts to GFF3 on the fly), we do the following to load a results track on the fly to JBrowse (the approach outlined below is an implementation in WebApollo to display the results of a BLAT search converted into GFF3 format as a track in JBrowse).
search.setRedirectCallback(function(id, fmin, fmax, ts) {
var flank = Math.round((fmax - fmin) * 0.2);
var url = '<%= new URL(request.getRequestURL().toString())%>';
var urlroot = url.substring(0, url.lastIndexOf("/"));
var resultDir = '<%=session.getId()%>_' + ts;
var resultFile = resultDir + '/results.gff';
          var addStore = 'addStores={"url":{"type":"JBrowse/Store/SeqFeature/GFF3","urlTemplate":"’ + urlroot + resultFile +
'"}}&addTracks=[{"label":"SearchResults","type":"JBrowse/View/Track/HTMLFeatures","store":"url"}]' +
'&tracks=SearchResults';
var url = 'jbrowse/?loc=' + id + ":" + (fmin-flank) + ".." + (fmax+flank)+"&highlight="+id+":"+(fmin+1) + ".." + fmax + '&' + addStore;
window.open(url);
});

As you can see, in the addStore variable, we’re creating a new “url” store of type SeqFeature/GFF3, pointing to the web-accessible URL for the result file (which is stored in a unique directory named after the session identifier and a timestamp, similar to how Richard pulls in a GFF3 results based on a zuid from a cookie), adding it as a track named “SearchResults” and then asking JBrowse to display that track by setting it in the “&tracks” parameter.

This way, we avoid having to predefine the track in the trackList.json file.

Just adding a description of this alternative method to the thread for posterity!

Thank you.
Vivek

On Apr 16, 2014, at 9:09 PM, Richard Hayes <[hidden email]> wrote:

Hi,

Sorry for the radio silence. I've added the gmod-ajax list back, so this is archived properly.

Yes, I have had success implementing custom blast results tracks in JBrowse, but it is also a bit specific to our website and server architecture, with a session cookie helping guide a CGI script that returns blast results as GFF3 features. This has some general applicability, though.

Phytozome recently updated all genome browsers to JBrowse for our version 10 release here: http://phytozome.jgi.doe.gov

Here is how Phytozome implemented blast display:
1) Each genome has a permanent blast track with a custom callback in the urlTemplate parameter that sets the store dynamically to a URL based on a user cookie setting. For example,

[tracks.UserBlastResults]
key = User Blast Results
type = JBrowse/View/Track/CanvasFeatures
glyph = JBrowse/View/FeatureGlyph/Segments
subParts = match_part
style.color = deepskyblue
storeClass = JBrowse/Store/SeqFeature/GFF3
urlTemplate = function( store ) {
                  var thisSource = store.browser.config.dataset_id;
                  var zuid = "";
                  var ca = document.cookie.split(';');
                  for (var i=0; i<ca.length; i++) {
                      var c = ca[i].trim();
                      if (c.indexOf("zuid=")==0) zuid = c.substring(5,c.length);
                  }
                  if (zuid == "") { zuid="XXXXXX"; }
                  return "/cgi-bin/returnBLASTgff.pl?source="+thisSource+"&zuid="+zuid+"&type=match:BLAST";
              }

I'd love a more efficient method of extracting an individual cookie key/value pair, but this works.

2) User's blast against genomic sequence from here: http://phytozome.jgi.doe.gov/pz/portal.html#!search?show=BLAST

3) BLAST itself is run on our servers, producing XML output.

4) When blast results are returned, the XML is parsed to build a graphical view in our web frontend and the cookie "zuid" value is set. On the server, the XML is also automatically parsed to convert to GFF3, and that converted file is placed in a temp directory tree organized by dataset_id names and that zuid session id.
Here's a simple example of a Eucalyptus grandis gene blasted against it's own assembly:
http://phytozome.jgi.doe.gov/pz/portal.html#!seqQueryResults?id=2876

5) Users can switch to the JBrowse view by clicking on each graphical representation, provided the blast was against a nucleotide database. For example,
We preprocess the results a bit here, too. The "loc" parameter is based on the coordinates of the blast alignment, but padded to give us horizontal whitespace in the Jbrowse view.

Otherwise, we've only just included the "UserBlastResults" track label at the front of the default track types to render.

It's that urlTemplate callback that does most of the work. The CGI perl script always returns a "Content-type: text/plain\n\n" HTTP header and the standard "##gff-version 3\n" declaration line, but will return no other data if the user doesn't have a cookie, or a GFF3 file matching this species and user zuid cookie isn't found. Those conditions give us a blank track, rather than JBrowse rendering errors, although there is a console error logged for an empty/invalid store.

This gives us more persistence than the addStores and addTracks usage seemed to offer. A user who runs blast can return to the genome browser and still access their recent blast results as long as the cookie is still valid and the temp space hasn't been purged from the server.

Best regards,

Richard D. Hayes, Ph.D.
Joint Genome Institute / Lawrence Berkeley National Lab
http://phytozome.jgi.doe.gov


On Wed, Apr 16, 2014 at 5:23 PM, Robert Buels <[hidden email]> wrote:
It's definitely feasible.  The person who knows the most about this is almost certainly Richard Hayes.  I'm CCing him here.

Richard, could you give Hans some pointers on what you did?

Rob


On Tue, Feb 4, 2014 at 4:25 PM, Hans Vasquez-Gross <[hidden email]> wrote:
Hi Robert,

   It was great meeting you at PAG last month.  I have a quick question which I'm fairly certain I know the answer to.  Currently, our database is linking out to JBrowse based on blast hits to a specific region.  This is great because it brings them to the region they hit against, but it doesn't show them exactly where their hit aligned.   I'd like to create a new track and feature on the fly based on the blast hit, so the user can actually see where it is located on the reference.  

There was a feature request a year ago suggesting an Adhoc mode to URL encode features here: https://github.com/GMOD/jbrowse/issues/103

Is this feasible?  If not, what would be the best way to do this?

Cheers,
-Hans

------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax



------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech_______________________________________________



------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Gmod-ajax mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gmod-ajax