GMOD / jbrowse

JBrowse 1, a full-featured genome browser built with JavaScript and HTML5. For JBrowse 2, see https://github.com/GMOD/jbrowse-components.
http://jbrowse.org
Other
460 stars 199 forks source link

Faceted track selector: filter with -OR operator (instead of -AND operand) for specific categories (facets) #835

Open emsanz opened 7 years ago

emsanz commented 7 years ago

Hi,

I was wondering the way to avoid filtering the entire menu when clicking on a facet value.

For example, the browser we're setting up: http://popfly.uab.cat For the next categories (facets): Nucleotide variation / Linkage Desequilibrium / Recombination / Neutrality test E.g.: we'd like to allow to select both the results of a Neutrality test and the results of a Recombination

I was thinking it could be something simple, like (pseudocode):

I've been doing some tests with Faceted.js and the functionality wasn't affected at all, so I guess I'm missing something. If it helps, I think the functions to modify would be _updateFacetControl and _updateFacetCounts

Any advise is appreciated. Thanks in advance! __ Esteve

cmdcolin commented 7 years ago

If you are editing jbrowse source and it's not working, make sure you're using the -dev build e.g. JBrowse-1.12.1-dev.zip. Or from github! See http://gmod.org/wiki/JBrowse_FAQ#What_is_the_difference_between_JBrowse-1.12.1.zip_and_JBrowse-1.12.1-dev.zip.3F or http://gmod.org/wiki/JBrowse_FAQ#How_do_I_run_the_code_using_the_github_clone

However, I'm sort of confused...you can select multiple facets already? what is the altered behavior?

emsanz commented 7 years ago

Hi Colin,

Thanks for answering. I attach a couple of screenshots so I can explain it better.

Before filtering anything: http://i.imgur.com/SVcTEbC.png (9 items in "Nucleotide Variation", 10 in "Linkage Desequilibrium") After clicking some item in "Nucleotide Variation": http://i.imgur.com/MOCwh4V.jpg (9 items in "Nucleotide Variation", only 1 in "Linkage Desequilibrium")

That's perfectly logic since it's a filter and that's what it does. But we need to keep listing the 10 items of "Linkage Desequilibrium", so the user can get the tracks for "Eta2" and "Dprime" for example

rbuels commented 6 years ago

@emsanz any ideas on how to extend the current faceted track selector UI to add "OR" functionality? We would need to make sure that it's really clear to the user what it's doing.

emsanz commented 6 years ago

Hi @rbuels, It's completely clear how the track selector works. However, I was ask to avoid the filtering of facets (to make it a little bit easier for users that are not familiar with JBrowse), so I always show the them. This way you can expand your selection instead of reducing it.

You can play with it: http://popfly.uab.cat

scottcain commented 6 years ago

All of what was written below was before I spent more than 30 seconds on your site. I see now that you've actually implemented it. Interesting. Have you gotten any feedback from users about the way this works? It seems like expanding the results would be more overwhelming not less, but then, I'm not really a user.


Oh, wow. I thought wormbase has a lot of tracks with the modENCODE data. Over 4000 is a lot!

I understand wanting to make it easier for users, and having to filter through that many tracks would be daunting. Can I ask about workflow to make it easier for us to understand what would make it better for your users? I think what is happening is that you expect users to want to select one facet which will lead them to one track that they want to find, and then click on another facet that will lead them to another track that they want to find, and the problem is that clicking on the first facet limits the selections in the second facet, and your worried (or have actual data) that users will be "tricked" by this into thinking that the second facet is more limited that it really is. That's a tricky problem.

Do you by any chance have an example of a browser-based form that does facets the way you're describing? It doesn't have to be genomics; it could be shopping for shoes. I'm just not sure what it would look like and it still be useable.

emsanz commented 6 years ago

Sorry for the late answer!

First of all, let me say that I'm an engineer, so I don't understand much about genomics data. That said, I guess that the logic to expect from the selector depends on the classification you made of your data/tracks.

We found that some users misunderstood how the filter works (one of them was the head of the group, so...). This is a feedback we had from another user:

When exploring a given genomic region, only one of the variation statistics tracks can be selected. E.g. if I select eta1 I can not also select Fst.

So we thought that it would be better to switch the selector logic, but only between the facets marked under the "Variation Statistics" parent-facet.

I don't know if I'm explaining it clear.


Do you by any chance have an example of a browser-based form that does facets the way you're describing? It doesn't have to be genomics; it could be shopping for shoes. I'm just not sure what it would look like and it still be usable.

I saw a filter in another site that let you make complex searches with AND / OR / NOT combinations. http://ejatlas.org >> Filter In my opinion, even this is a powerful tool for the user, it makes the search less intuitive. However, I think it could be good for JBrowse developers to have an option to decide how the track selector filters the results.