Comments (7)
Thanks, the multiprocessing seems to work now!
I think using BLAS with dense matrices would be a great enhancement. My use-case is that I used external tools (scanpy) for filtering and removing confounding factors. Additionally, some recent tools for combining multiple datasets (Scanorama, Harmony) work in PCA-space, and I think it would be great to apply too-many-cells
to large, integrated datasets.
Concerning runtime:
The documentation says it takes "some time" to generate the tree. What ballpark runtime (hours/days/weeks?) can I expect on a (sparse) dataset with 10k cells on a server with 32 cores?
from too-many-cells.
I'll close this since the initial issue has been resolved. If you have another issue, please open up a separate one.
from too-many-cells.
It's a csv file, so too-many-cells
expects row and column names. Also, the initial column name should be empty as it names the rows. See the example section at https://gregoryschwartz.github.io/too-many-cells/. I'll try to add a better error message. Let me know if it works!
from too-many-cells.
Wait, so that is an issue that you need column and row names. However, the real issue is that you are using PCA, so the default cell and gene filtering and normalization are removing and scaling incorrectly (they aren't counts). So the answer to fix your issue is to use --no-filter --normalization NoneNorm
if they aren't counts. I updated the documentation to reflect this option. Also, because the matrix is now dense, I can't make any guarantees about how long it will take to run.
from too-many-cells.
Thanks the filtering options did the trick! Now it does something :)
Concerning runtime:
- Shouldn't it be a lot faster on PCA even though it's "dense" simply because it has a lot fewer dimensions?
- The docker container only uses one core, is that normal behaviour?
from too-many-cells.
It's optimized for sparse matrices and the library I'm using uses an IntMap (IntMap Double) structure, so it would probably be slower on dense for multiplication and the like. I can see about allowing for dense matrices (and thus using BLAS/LAPACK for much faster running). To use multiple cores, add +RTS -N${NUMCORES}
to the end of the entire command, where -N4
uses 4 cores for instance. Just -N
uses all available cores. Of course, mileage may vary depending on the nature of the data.
from too-many-cells.
Thanks for using it! Let me know if you have any difficulties or want added features! A ballpark runtime for a 10k cells in a sparse scRNA-seq count matrix would take around 20 minutes on a single core. 50k maybe a few hours. I have not tested multi-core, it may actually be slower depending on the fine-grain or coarse-grain nature of the beast.
from too-many-cells.
Related Issues (20)
- kent-394 not supported HOT 9
- Running a million cells failed in the docker HOT 2
- Purity section in too-many-cells HOT 4
- error, called at src/Data/Sparse/SpMatrix.hs:793:22 in sparse-linear-algebra-0.3.2-LJ5QWDyWqk8g1L9MLmVBX:Data.Sparse.SpMatrix HOT 5
- comparative analysis of clustering performance HOT 2
- comparative analysis of clustering performance #37 HOT 3
- can't install the included projects HOT 13
- Error when installing with nix on CentOS 7 HOT 4
- Strange warnings occurred during the procedure HOT 3
- A problem for batch effect removed data HOT 11
- fail when downloading ucsc browser HOT 2
- The pipeline crashed with error message HOT 3
- Index out of bounds for TooManyPeaks HOT 7
- Prune parameters setting question HOT 1
- Question: Does well separated color in the dendrogram mean that the items are distinct? HOT 1
- Seurat SCtransform HOT 1
- Installation fails with nix-env ('__noChroot' set, but that's not allowed when 'sandbox' is 'true') HOT 7
- How to modify the colors of the PieChart HOT 1
- Expected runtime HOT 1
- Is matrixValidity printing row and column wrong? HOT 17
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 too-many-cells.