区区20万个单细胞居然超内存了 您所在的位置:网站首页 16g内存大概可以下载多少个 区区20万个单细胞居然超内存了

区区20万个单细胞居然超内存了

2024-07-16 05:38| 来源: 网络整理| 查看: 265

我有一个备用的小mac电脑,只有64G内存,32线程,4T硬盘。最近搞活动,详见:春节期间单细胞转录组数据分析全免费,收到了上百个需求,就把它拿出来了避免吃灰。

其中一个数据集是2020发在NC的肺癌单细胞文章:《Single-cell RNA sequencing demonstrates the molecular and cellular reprogramming of metastatic lung adenocarcinoma》,是44个肺癌病人的58个10x技术的单细胞转录组样品,因为是两三年前的10x单细胞技术那个时候都比较辣鸡所以细胞数量就平均每个样品是3千,这样的话合计是20万个单细胞。

作者提供的是 GSE131907_Lung_Cancer_raw_UMI_matrix.txt.gz 文件,我们来演示一下读取它,并且进行单细胞降维聚类分群哈:

代码语言:javascript复制a=fread('inputs/GSE131907_Lung_Cancer_raw_UMI_matrix.txt.gz', data.table = F) a[1:4,1:4] rownames(a)=a[,1] a=a[,-1] # 208,506 cells derived from 58 lung adenocarcinomas from 44 patients, # 11 tumour, 11 distant normal lung, 10 normal lymph node, and 10 metastatic brain tissue samples # were obtained from LUAD patients conserving surgery without prior treatment. # 7 metastatic lymph node and 4 lung tumour tissue samples from advanced stage LUAD patient # endobronchial ultrasound (EBUS) and bronchoscopy (BRONCHO). kp1 = grepl('LN',colnames(a)) table(kp1) kp2 = grepl('T',colnames(a)) table(kp2 ) a[1:4,1:4] dim(a)

因为数据量很小,所以读取起来完全没有压力,有了两万个基因在20万个单细胞里面的表达量矩阵,就可以直接构建单细胞对象了,但是CreateSeuratObject(counts = ct ) 会报错,居然是内存问题。

虽然我这个小mac电脑,只有64G内存,32线程,4T硬盘仅仅是备用电脑平时吃灰的, 但是不应该是区区20万个单细胞都搞不定啊,我思考了一下,大概是因为在R里面的两万个基因在20万个单细胞里面的表达量矩阵存储格式不经济,我简单看了看,居然占用了20G内存,怪不得呢。

本来是想把它转为稀疏矩阵,但是也失败了,代码如下所示:

代码语言:javascript复制 if(F){ format(object.size(a) ,units='Gb') A


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有