当前位置:网站首页>"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 .
边栏推荐
- Zhongang Mining: in order to ensure sufficient supply of fluorite, it is imperative to open source and save flow
- 室外LED屏幕防水吗?
- C language: the sorting problem of circle number reporting
- 在 Apache 上配置 WebDAV 服务器
- 实时云交互如何助力教育行业发展
- 从0到1建设智能灰度数据体系:以vivo游戏中心为例
- CANN算子:利用迭代器高效实现Tensor数据切割分块处理
- iptables基础及Samba配置举例
- CVPR 2022 | TransFusion:用Transformer进行3D目标检测的激光雷达-相机融合
- I want to talk about yesterday
猜你喜欢
高效!用虚拟用户搭建FTP工作环境
R language -- readr package reads and writes data
Argminer: a pytorch package for processing, enhancing, training, and reasoning argument mining datasets
Practice: fabric user certificate revocation operation process
Play Sanzi chess easily
阿里云有奖体验:用PolarDB-X搭建一个高可用系统
Jetson TX2配置Tensorflow、Pytorch等常用库
8个扩展子包!RecBole推出2.0!
Runc hang causes the kubernetes node notready
Transformer principle and code elaboration (tensorflow)
随机推荐
《天天数学》连载57:二月二十六日
Read the BGP agreement in 6 minutes.
PostgreSQL 9.1 飞升之路
Can Console. Clear be used to only clear a line instead of whole console?
求解:在oracle中如何用一条语句用delete删除两个表中jack的信息
Fastlane one click package / release app - usage record and stepping on pit
轻松玩转三子棋
Deploy halo blog with pagoda
Meituan Ali's Application Practice on multimodal recall
Vit (vision transformer) principle and code elaboration
Using nsproxy to forward messages
Reinforcement learning - learning notes 1 | basic concepts
6 分钟看完 BGP 协议。
AI painting minimalist tutorial
A data person understands and deepens the domain model
Master the use of auto analyze in data warehouse
VIM, another program may be editing the same file If this is the solution of the case
面试官:Redis 过期删除策略和内存淘汰策略有什么区别?
认知的定义
使用Scrcpy投屏