Giter Club home page Giter Club logo

Comments (3)

luisaparicio avatar luisaparicio commented on May 30, 2024

Hi Jeremy,

Thanks for your interest and sorry for our delay in replaying. As you comment on your question, the idea is to project in a random space to study the behavior of each gene. We take advantage of the randomized data eigenvectors (which are a basis of a random space) but in principle, we could have generated a basis of orthonormal vectors and project the genes in such space. As you can imagine, the bigger in the dimension of the random space, the better you are able to test the gaussianity of the projected genes.

One way of testing how good or bad is the dimension of your random space for this purpose is to check if the genes with very low expression are highly non-gaussian. For example, a gene expressed in, say, three cells, once projected should not behave like a gaussian, because with such small number of points (cells) there is no way of saying that is normally distributed. We realized that if one projects on the eigenvectors of the randomized data, we obtain a lot of false positives. In particular some genes with almost no expression where tested as gaussian. A possible solution would be to generate a much bigger random space, but this is computationally very expensive. Instead of this, one can restrict the vectors to a certain hyper-sphere by projecting them into positive components and hence the resulting space is more dense in number of vectors, and the projection looks much better. You can think this as if you were projecting in a sector (well sampled) of a hyper-sphere instead of projecting in the whole (but badly sampled) hyper-sphere. With this trick, very low expressed genes are always non-gaussian and highly expressed genes (which by definition are much less affected by dropout and hence less bimodal) are always gaussian, which is the behavior one should expect .

from randomly.

jeremy9959 avatar jeremy9959 commented on May 30, 2024

Thanks, this is a very interesting idea that definitely had not occurred to me. Taking the absolute values of the eigenvector components seemed an odd thing to do, but this makes sense.

from randomly.

jeremy9959 avatar jeremy9959 commented on May 30, 2024

from randomly.

Related Issues (4)

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.