Comments (3)
There are few potential ways to handle this.
- Quickest, by far, is to just send the user over to e.g. https://view.qiime2.org/ with a GET parameter that contains a URL that has the .qzv/.qza file. The main gotchas here are the TLS concern that you mention, the inability to use it if Galaxy is behind a firewall (could have a local q2view installation inside the firewall though). Do we need to worry about CORS being set, or does q2view use a retrieval method that doesn't care?
- If the .qzv file can be easily transformed/exploded into an actual static index.html file and assets, that would be viewable if you just dropped it in an e.g. web server directory, then we could also add a tool that creates an output of type html, with the index.html file as the main dataset, and the additional assets put in the
extra_files_path
for that dataset. The user could then click on the eye icon to view the visualization. If a command for doing this already exists, e.g. just unzip followed by a cp or mv would give us the visualization tab, but not the provenance tab, etc. It would also require a separate tool run, but avoid TLS and firewall concerns. This is second quickest/ second least effort. - Otherwise, a visualization plugin can be made, but this tends to be a bit more work and things are more likely to diverge from the best-practice view (i'm assuming q2view). When done well, however, they do work really nicely, and avoid the problems if Galaxy is not under TLS and will also work if the Galaxy instance is behind a firewall. Unfortunately, these aren't yet supported for install through the toolshed, so each 'plugin' actually needs to be added to the main codebase for it to be usable by most people at this time.
I just checked the reference you provided, which is actually a good summary of everything I just typed out here, so I'll provide my two cents:
Option 1. from above is probably the best bang for the buck at this time -- this reply took longer than I would have taken to add the external display application. If the visualizations were actually installable from e.g. the toolset, then I'd give more weight to option 3., otherwise there might be some licensing mismatch concerns, depending upon what e.g. JavaScript would need to be added to Galaxy (copied from q2view into the Galaxy codebase? I did not check the license).
from q2galaxy.
xref ebolyen/galaxy#1
from q2galaxy.
Thanks so much for the detailed explanation and the PR!
I'll test out that PR shortly, but will requiring CORS+TLS be a realistic issue? How common is it to have a galaxy deployment on localhost?
I do really like 3 as a long-term goal, one of the things we keep saying we'll do is pull out the provenance DAG as an NPM installable component so that we can share it between interfaces. This would be yet another reason to do so.
As for 2, that may actually be easiest, as all we need to do is serve a directory at some path. Would this require the user to run a second tool, or can a tool run execute as part of the "inspect-eye" button? It kind of sounds like the extra_files_path
is for managing datasets of multiple files, so would we be doing a transformation from .qzv
-> index.html + extra_files
as a new dataset? If so, could this be made transparent to the user?
from q2galaxy.
Related Issues (18)
- Config files and dynamic input params don't seem to cooperate HOT 8
- Add simple parameter handling
- Add QIIME 2 metadata handling
- Consider using docker-compose for stand-alone deployments HOT 4
- ToolShed deposit HOT 4
- Use DOI citation type when possible
- Some small things to improve HOT 2
- Create <sections> for inputs, parameters, and collapse default/optional inputs/params HOT 1
- qiime2_core__tools__import stacktrace from usegalaxy.eu HOT 21
- qiime deblur denoise-16S/denoise-other not working on usegalaxy.eu HOT 2
- No tools:unzip_collection, Flatten collection and Sort HOT 6
- Running on Apple Silicon M1 HOT 1
- Extra text in tool version HOT 2
- Ensure that
- Ensure that hidden actions are rendered in q2galaxy HOT 1
- QZA import/export inside Galaxy HOT 1
- Get rid of the zip file info from the uploader tool HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from q2galaxy.