Comments (7)
I don't see your reply Lukasz (but I got an email), I didn't realise there was a blending. You are right it does look OK. At some point we will want to be able to colour cells by cluster or metadata, which is going to be more discrete colours so we will have to see how it looks, but for now, resolved :)
from scope.
i did remove the reply, cause blending AFAIK is applied only between the layers / container and not between the points on one layer..... or is it ? (so beweeen the lasso selections and points)
to be checked
from scope.
I'm guessing blending doesn't apply to individual points (see img)
Maybe we should consider plotting the data in order?
Considerations:
We can probably sort just based on the sub of the RGB hex value.
Downside is it will increase plotting time, maybe a toggle option to do this?
We will need to keep careful track of cell indices. A map on the frontend side of original to current index will be needed I guess.
If we want to be able to show extra features by colour (i.e. colour cell by replicate/genotype/age) we will need an exception, otherwise specific ages/replicates will look as if they dominate the data - In the bokeh, I randomised the plotting order for these features.
A nice (but not so important) addition would be a reverse plotting toggle, i.e. plot the lowest expressing cells on top
Importantly it makes the actual data much more visible.
from scope.
With the implementation of using cellIndices (#85) we could go back to the idea of sorting values. A small change would be needed on the frontend side, to first request the gene expression, and THEN get the tSNE coords again using the returned cellIndices, OR to replot by sorting the coord by the new array (this has the issue that after one sort, it wont work again)
from scope.
Or, if the sorting toggle button is on (default off), we could send the coordinates once in the beginning. Then when a expression of a gene is requested, instead of just returning the hexadecimal colors we could send back the ranked hexadecimal colors along with their absolute cell indices. And at the front-end, instead of looping through the coordinates we would loop through the ranked colors and get their corresponding coordinates using the absolute cell index. Then we would need to check if the overhead for the communication is not too high.
from scope.
This was what I was hinting to as my second option, but then we just need to make sure we keep the absolute cellIndices on the frontend for the coordinates at all times. The cellIndices are now already sent back when colour are obtained, so adding a sort there is very trivial.
from scope.
the cellIndices is totally unnecessary in getFeatureColors, to be removed
now the sorting is implemented by hex colors (from dark to bright)
implemented in 51a3464
from scope.
Related Issues (20)
- Switching from embedding does neither retain dot colors nor update label positions
- Search queries like "batch" and "All clusters" does not "lock" grouped search entry bars
- Convert client components/pages to TypeScript
- Unify the "Gene" and "Compare" tabs
- Cannot change AUC threshold on Regulon page
- Validate assumptions about Loom file structure before ingesting as correct
- ORCID login status is not consistent across components HOT 1
- Scope website down? HOT 1
- Custom colors for annotations
- [BUG] Removing Log and moving color bar in numerical metadata breaks metadata HOT 1
- 'Regulon' tab not visible
- Dockerfile fails to compile (poetry install, step 27) HOT 9
- Gene set scoring
- Persist redux model to localStorage
- Users should have the ability to log out.
- Consistent import naming for redux associated imports
- Add clustering in scope web version doesn't respond..?
- User upload and loom download HOT 1
- Strecthed 'Compare' tab views when having large metadata
- SCope web tool not showing embeddings HOT 1
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 scope.