Conversation
|
Hi, based on your description, you are not using AnnData directly, right? It's of course always possible to extract the matrix and apply any tool to it but that's not the idea of scverse. |
|
Hi @Zethson , you're right we are not using AnnData directly. Discussing with @mikelkou a while back we figured adding torchdr here might be relevant as it's SOTA in terms of UMAP speed and provides useful utilities such as incremental PCA and others, but I understand your point. Happy to discuss if you have ideas of features we could add to torchdr to make it easier to work with AnnData, thanks !! |
|
Ahh, I see. Yeah, I'm afraid we require native support for our scverse datastructures. In other words, if I were to pass say an AnnData object to your functions, I'd expect it to grab the right array & store the results back in the AnnData object. I understand that this feel cumbersome for a library that just works with arrays as input but that's kind of how our ecosystem works (which has many domain specific benefits) |
Name of the tool: TorchDR
Short description: TorchDR is a high-performance dimensionality reduction library built on PyTorch, with GPU and multi-GPU implementations exposed through a scikit-learn-compatible API.
How does the package use scverse data structures: TorchDR follows an array-based API and works with matrices and embeddings stored in AnnData, including
adata.Xandadata.obsm. Its CellxGene Census example receives an AnnData object, reads standardobsandobsmfields, and applies LargeVis to a stored scGPT embedding; generated embeddings can be stored back inobsm.Mandatory
torchdr)Recommended
Validation