Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a JSON format #409

Closed
ihodes opened this issue Apr 14, 2016 · 7 comments
Closed

Add a JSON format #409

ihodes opened this issue Apr 14, 2016 · 7 comments

Comments

@ihodes
Copy link
Member

ihodes commented Apr 14, 2016

It'd be nice if you could pass an array JSON representing ThinAlignments to Pileup.js and have it display those.

Use case: display pileups in iPython notebooks.

@armish
Copy link
Member

armish commented Apr 14, 2016

this is also relevant: #297

@danielecook
Copy link

Along these lines, it'd be great to have the ability to fetch data from a server (e.g. ajax call) and trigger updating of a track when the browser is scanned/zoomed.

@armish
Copy link
Member

armish commented May 23, 2016

hi @danielecook — thanks for your comment!

Can you elaborate on your point a little bit more? I am asking this because that is what pileup.js is doing right now: it works with ranges and only pulls data in when it is needed (for example if you zoom out and pileup.js needs to grab more from the reference sequence or bam).

This is a bit trickier to accomplish with a JSON data source and we still haven't thought of a quick solution to this.

@danielecook
Copy link

@armish sure!

The issue I have right now is that I'm having trouble showing variant data from a large VCF. I have all the variant data in a database, however. And It's much easier for me to write a rest interface for fetching variants and putting them in any JSON format that would be required (ideally, Chrom, start, stop, and possibly color/data attributes).

So the basic idea would be for the user to either specify a REST URL for the data source that would be fairly strait forward (e.g. api/chrom/start/stop), or allow the user to bind events to the canvas object so they can update a track with the appropriate data fetched from the server whenever they move pan/zoom.

Does this make sense?

Thanks

@armish
Copy link
Member

armish commented May 23, 2016

Yepp, this definitely makes sense. Thanks for the details! If we go with the JSON option, we should pass those range arguments to the server and let it handle those optionally.

I also had in mind to support indexed (e.g. tabix'ed) VCF files and gzipp'ed ones as you suggested earlier in #404, where we can work those range requests out in a proper way. I wonder if there is a way to index JSON files in a similar way (TODO for me).

@danvk
Copy link
Collaborator

danvk commented May 23, 2016

Ideally your REST API would be GA4GH's.

@akmorrow13
Copy link
Collaborator

Closed via #460

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants