Git Product home page Git Product logo

Comments (7)

KrisDavie avatar KrisDavie commented on May 24, 2024

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.

kreftl avatar kreftl commented on May 24, 2024

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.

KrisDavie avatar KrisDavie commented on May 24, 2024

I'm guessing blending doesn't apply to individual points (see img)
image
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.

KrisDavie avatar KrisDavie commented on May 24, 2024

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.

dweemx avatar dweemx commented on May 24, 2024

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.

KrisDavie avatar KrisDavie commented on May 24, 2024

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.

kreftl avatar kreftl commented on May 24, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.