当前位置:网站首页>"Tips" to slim down Seurat objects
"Tips" to slim down Seurat objects
2022-07-04 13:09:00 【Xu zhougeng】
We are using Seurat When processing single cell data , Will find Seurat The object keeps getting bigger , Carelessly, it becomes a bottomless hole in memory ,
For example, one of mine Seurat Objects occupy 22.3 Of memory space
old_size <- object.size(seu.obj)
format(old_size, units="Gb")
# 22.3 Gb
If I need to shut down halfway Rstudio, So in order to ensure their work continuity , I need to put the in memory 20 many G The data of is saved to disk , And the memory will be loaded in the next analysis . This time , Considering the read and write speed of the disk , Time consuming may require 10 More minutes .
Considering that you may have to upload the data to the online disk or GEO database , So this 20 many G The time required for data , It's even more beyond your imagination .
Is there any way to Seurat Object slimming ? It's very simple , because Seurat Mainly in the Scale This step , Turn the original sparse matrix into an ordinary matrix , At the same time, the elements inside are floating-point , It takes up a lot of space . As long as we clear the normalized matrix before saving the data , You can make Seurat Lose weight all at once .
[email protected][email protected] <- matrix()
new_size <- object.size(seu.obj)
format(new_size, units="Gb")
# 5Gb
Operation above , Reduce the memory occupation to only the original 20% about . however , The problem is coming. , What is the cost of memory reduction ? The price is , You need to... The loaded data scale, Restore Seurat Medium scale.data.
all.genes <- rownames(seu.obj)
seu.obj <- ScaleData(seu.obj, features = all.genes)
This is a common idea in Computer Science , Or space for time , Or time for space .
This trick can speed up Seurat Save, read and write objects , Are there any other applications ? because scale The latter data is mainly for principal component analysis (PCA) Provide input . Subsequent nonlinear dimensionality reduction (UMAP), Clustering analysis (Cluster) It's all based on PCA, Not based on scale data , therefore , If the memory space is surprised during the analysis , You can also use this trick to free up memory space . After running some operations that occupy memory , Then restore it .
边栏推荐
- Peak detection of measured signal
- 干货整理!ERP在制造业的发展趋势如何,看这一篇就够了
- 【FAQ】华为帐号服务报错 907135701的常见原因总结和解决方法
- 美团·阿里关于多模态召回的应用实践
- 游戏启动后提示安装HMS Core,点击取消,未再次提示安装HMS Core(初始化失败返回907135003)
- CVPR 2022 | TransFusion:用Transformer进行3D目标检测的激光雷达-相机融合
- 爬虫练习题(一)
- C language: the sorting problem of circle number reporting
- When to use pointers in go?
- 一文掌握数仓中auto analyze的使用
猜你喜欢
随机推荐
高效!用虚拟用户搭建FTP工作环境
Cann operator: using iterators to efficiently realize tensor data cutting and blocking processing
游戏启动后提示安装HMS Core,点击取消,未再次提示安装HMS Core(初始化失败返回907135003)
Jetson TX2 configures common libraries such as tensorflow and pytoch
美团·阿里关于多模态召回的应用实践
17.内存分区与分页
AI painting minimalist tutorial
C language: find the length of string
17. Memory partition and paging
Leetcode day 17
Transformer principle and code elaboration (pytorch)
Will the concept of "being integrated" become a new inflection point of the information and innovation industry?
Practice: fabric user certificate revocation operation process
Is there an elegant way to remove nulls while transforming a Collection using Guava?
Implementation mode and technical principle of MT4 cross platform merchandising system (API merchandising, EA merchandising, nj4x Merchandising)
Vit (vision transformer) principle and code elaboration
C language: find the palindrome number whose 100-999 is a multiple of 7
Paper notes ACL 2020 improving event detection via open domain trigger knowledge
[data clustering] section 3 of Chapter 4: DBSCAN performance analysis, advantages and disadvantages, and parameter selection methods
Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example