informatics-isi-edu / deriva-webapps

Deriva-based web applications
Apache License 2.0
2 stars 1 forks source link

Turn the FaceBase Mouse Matrix into a configurable webapp #124

Open crisaless opened 2 years ago

crisaless commented 2 years ago

It would be great to be able to use the mouse matrix for other data visualization purposes (ie, being able to show these same axes for different organisms, or even being able to configure the x and y axes themselves).

RFSH commented 2 years ago

I added this wiki page to house all the information related to this issue.

robes commented 1 year ago

I think @crisaless was referring to being able to only the fly select the species from a multi-choice or dropdown control.

But @crisaless is that still a requirement moving forward with the new dedicated pages for specific species? It wouldn't hurt though and we could use it as a general 'summary' of data page?

crisaless commented 1 year ago

@robes has it right. I think it still would be a good feature to be able to choose the species attributes on the fly - and then be able to configure that via url (ie so you can show the matrix just for mouse or just for zebrafish and post that on a page).

Nice to have: Another feature that comes to mind, but I don't know the feasibility of it, is to be able to group facets.

RFSH commented 1 year ago

@crisaless @robes

Related to changing the attributes on the fly, we're doing something similar in the plot app, which we can borrow for the matrix.

So the matrix-config.js would look like the following :

var matrixConfigs = {
  "mouse": {
    // ... urls points to mouse species
  },
  "zebrafish": {
    // ... urls points to zebrafi species
  },
};

And then you can specify which config that you want to use by passing a config query parameter like this:

https://facebase.org/deriva-webapps/matrix?config=mouse

Regarding the "nice to haves", I think we need to think more about them. I'm not entirely sure, but we might be able to adjust the ERMrest URLs to handle what you described. I'm not sure what we can do in UI to allow this (or how it can be general/configurable).