其他
答读者问 (十六)做单细胞测序到底需要多少内存
往期回顾
答读者问 (五)如何实现各物种基因的ID/symbol的转换
答读者问 (十一)如何一次性读取一个目录下的cellranger输出文件?
答读者问 (十二)ERROR: have no zero exit status
答读者问 (十三)查看Seurat对象时的ERROR:type='text'
问题
因为咱们现在能够为大家提供服务器(独享服务器2.0即将上线,128GB免费试用),经常有读者问我做单细胞测序需要多大的内存或至少需要准备多少内存,这个问题我相信很多同学都思考,值得探究一番。
怎么解决问题
内存与线程最大的不同是,线程少了无非就是任务算的慢些,若是内存少了,任务是无法正常启动的,所以保障内存充足是重中之重。对于大部分用户来说,目前来说单细胞测序最吃内存的还是上游的fastq文件处理,在Seurat中最吃内存的CCA,处理六万个细胞(你如果处理几百万个细胞那当我没说)可能也就占用不到30GB,但使用cellranger做定量时占用的内存远大于此。那我们便以一个cellranger实例来做测评。以下测试于一台刚重启过的384GB、48线程的服务器中执行,理论上除了shiny-server以外没有其他用户进程在后台运行(Linux系统自带进程除外),开始操作:
ll -h H2*fastq.gz
#看看文件
nohup cellranger count \
--id=H2result \
--transcriptome=/home/biomamba/biosoft/refdata-gex-mm10-2020-A \
--fastqs=./ \
--sample=H2 \
--expect-cells=5000 \
--localcores=20\
--nosecondary &#把程序给挂上
watch -n 60 'free -h >> my.memo.txt'
#把内存进程监控下来
less nohup.out
cat my.memo.txt | \
sed 's/ * /\t/g'| \
cut -f 4| sort |grep -v free| \
grep -v 8.0Gi|sort -n|head
可以发现,空余的空间最少的时候只有25GB,我的服务器是384GB,简单的算一下,你最多需要准备359GB的内存,基本任何数据和流程对你来说都可高枕无忧。
cat my.memo.txt | sed 's/ * /\t/g'| \
cut -f 3|sort|grep -v free| grep Gi | sort -nr|head
如何联系我们
大家可以阅读完这几篇之后添加笑一笑也就算了有关提高"Biomamba 生信基地"运行效率事宜