10X单细胞基础+个性化合集1
作者,Evil Genius
今天是令人沉重的一天,所有的网页软件变成了灰色。
昨晚还是看了世界杯,日本队确实值得尊重
今天我想来一篇关于单细胞分析的合集,包括以下内容
- 单细胞基础分析之单样本分析篇
- 单细胞基础分析之多样本整合篇
- 单细胞个性化分析之细胞注释篇
- 单细胞个性化分析之轨迹分析篇
- 单细胞个性化分析之细胞通讯篇
- 单细胞个性化分析之CNV篇
- 单细胞个性化分析之转录因子篇
本篇主要说前4个部分,因为放在一起文章太长,客户端无法保存并发表,下一篇主要讲后四个部分
不要怪我说的多,想从事单细胞空间分析的研究者,这些都是必须掌握的,不仅仅要会写代码,原理方法和算法都要掌握,只会跑官方教程,公司的面试就过不去。
单细胞基础分析之单样本分析篇
单细胞数据集成分析软件Seurat由Rahul Satija[1]等人于2015年提出,然后经历了不断的更新开发,目前已经升级到了V4.0版本,从最开始处理单细胞转录组扩充到现在包括单细胞转录组、单细胞ATAC、空间转录组、单细胞蛋白组,它主要包括以下主要分析内容:单细胞数据过滤、降维、聚类和计算差异。因为Seurat集成了很多专业的软件和算法,并且完美契合单细胞的数据分析,目前已经广泛运用到了单细胞数据的基础研究中。借助clusterprofile进行差异基因的富集,分析每个类群的生物学功能,组成了单细胞数据的基础分析内容。
单细胞数据过滤
过滤指标
单细胞的数据分析中,需要尽可能保留正常活性的细胞进行下游分析,但是由于样本在处理过程中的人为操作以及机器因素,不可避免地对细胞造成了损伤,甚至引入了双细胞,图1.1是使用Seurat软件对样本进行基础信息分析的一个例子。
图1.1 单细胞数据基础信息分析在数据分析中如果不对数据进行严格的过滤,会严重干扰下游分析,得出错误的结论。对数据进行过滤主要包括以下几个方面:
(1)在每个细胞中检测到的基因种类的数量:低质量的细胞通常含有很少的基因;而捕获到的双细胞含有明显较高的基因数量。
(2)在每个细胞内检测到的UMI数量与基因数量具有明显的相关性,离群值的细胞往往由污染、低质量和双细胞造成,如图1.2.
图1.2 相关性分析(3)线粒体基因的比例,低质量或者坏死的细胞具有相对高的线粒体基因比例(线粒体污染)。
(4)有些样本会有特定的细胞污染,例如:pbmc的红细胞污染等等,实际分析中也要去除。
阈值选择
阈值1 细胞最低表达的Feature数
关于细胞最少需要表达多少Feature,科学家们一直在进行研究,目前发现的最小细胞----支原体,表达的基因数量为480,Cell Ranger对细胞的过滤阈值是UMI大于500,考虑到同一个基因可能表达多个mRNA分子,将最低阈值设置为200是合理的选择。
阈值2 双细胞的过滤阈值
单细胞在实验处理过程中,不可避免地引入了双细胞,如前所述,双细胞的主要特征为含有明显较高的基因数量。10x genomics也总结了捕获的细胞量与双细胞的大致比例关系,如下表:
Multiplet Rate(%) | Cells loaded | Cells Recovered |
---|---|---|
~0.4 | ~800 | ~500 |
~0.8 | ~1600 | ~1000 |
~1.6 | ~3200 | ~2000 |
~2.3 | ~4800 | ~3000 |
~3.1 | ~6400 | ~4000 |
~3.9 | ~8000 | ~5000 |
~4.6 | ~9600 | ~6000 |
~5.4 | ~11200 | ~7000 |
~6.1 | ~12800 | ~8000 |
~6.9 | ~14400 | ~9000 |
~7.6 | ~16000 | ~10000 |
由此可见,捕获到的细胞数越多,双细胞的概率越大,目前文献中去除双细胞主要是以下三种策略:
(1)设置高表达基因的阈值:通常将UMI高于一定阈值的细胞去除,这种方法通常需要一定的经验积累,如图1.1所示,Feature高于7000的部分明显属于异常值,需要予以去除。
(2)Marker鉴定:如果表达两种细胞的marker gene,当作双细胞处理(注:随着研究的深入,这种现象不能一概而论,有的研究发现组织细胞在某些情况下也会表达免疫细胞的标志物)。
(3)借助专业的软件识别双细胞:例如DoubletFinder[2]、Scrublet[3]。这也是文献更为普遍的做法(这一部分放在个性化分析详细介绍)。
阈值3 线粒体基因的表达比例
线粒体基因的比例过高通常与细胞状态较差有关,线粒体主要特征:
(1)线粒体基因转录和翻译的场所 :线粒体,对比于核转录组,翻译在细胞质。
(2)线粒体参与的生物学功能:能量供给,自由基生成和细胞凋亡,其中后两种功能都跟细胞状态差有关。
那么首先第一个问题,应该选择的阈值是多少呢?细胞为了维持正常的生命活动,必然含有一定的线粒体基因。但是各个组织的细胞所含线粒体的正常比例差别较大:
(1)不同类型的细胞线粒体含量不一样,其中肌肉细胞线粒体含量最高可达50%,肿瘤区域的正常细胞线粒体含量有时也在30%以上。
(2)统计文章的阈值,在5%~30%之间不等,个别文章阈值放宽到50%。
(3)文献中使用频率最高的阈值是10%。
所以具体情况要根据数据来做出判断,如图1.1为例,大部分细胞的线粒体比例均在20%以下,所以阈值为20%是合理的选择。
单细胞数据标准化
通常在单细胞RNA测序数据中观察到文库之间测序覆盖率的系统差异。它们通常是由细胞间的cDNA捕获或PCR扩增效率方面的技术差异引起的,这归因于用最少的起始材料难以实现一致的文库制备。标准化旨在消除这些差异,以使它们不干扰细胞之间表达谱的比较。这样可以确保在细胞群体中观察到的任何异质性或差异表达都是由生物学而不是技术偏倚引起的。
在这一点上,标准化和批次校正之间的区别需要注意。标准化的发生与批次结构无关,并且仅考虑技术偏差,而批次矫正仅在批次之间发生,并且必须同时考虑技术偏差和生物学差异。技术偏差倾向于以相似的方式或至少以与它们的生物物理特性(例如长度,GC含量)有关的方式影响基因,而批次之间的生物学差异可能是高度不可预测的。这样,这两个任务涉及不同的假设,并且通常涉及不同的计算方法(尽管某些软件包旨在一次执行两个步骤)。因此,避免混淆“标准化”和“批次校正”的数据非常重要,因为这些数据通常表示不同的事物。
软件Seurat提供了三种标准化的方法,分别为LogNormalize、CLR、RC,通常情况下我们采用LogNormalize的方式进行标准化,计算公式为:
标准化数据的意义在于:
(1)集中离散程度较大的数据(例如单细胞、空间测序数据)。
(2)如果表达量离散程度很大,存在异常值和较多噪音,用标准化可以避免异常值和极端值的影响,降低离散程度。
(3)使数据符合正态分布,为下游分析做准备。
高变基因
单细胞数据的稀疏性:稀疏数据是指,数据框中绝大多数数值缺失或者为零的数据。在数据挖掘领域,常常要面对海量的复杂型数据。其中,无论使单细胞数据还是空间数据,都存在大量的零值,稀疏程度会达到95%以上,这使得传统的统计方法不适于处理此类数据。但与此同时也要注意,零值并不代表无效信息。
正因为单细胞数据的稀疏性,为了寻找生物学差异的主要信号,需要计算在数据集中表现出高细胞间差异的特征子集(即,基因在某些细胞中高度表达,而在其他细胞中表达低),在下游分析中关注这些基因有助于突出单细胞数据集中的生物信号。
高变基因的挑选方法,Seurat内置了三种寻找高变基因的方法:
(1)vst:首先,使用局部多项式回归 (loess) 拟合 log(variance) 和 log(mean) 的关系。 然后使用观察到的均值和预期方差(由拟合线给出)对特征值进行标准化。 然后在裁剪到最大值后根据标准化值计算特征方差。
(2)mean.var.plot (mvp):首先,使用一个函数来计算每个特征的平均表达(mean.function)和离散度(dispersion.function)。 接下来,根据特征的平均表达将特征划分为 num.bin(默认 20)个 bin,并计算每个 bin 内分散的 z 分数。 这样做的目的是识别可变特征,同时控制可变性和平均表达之间的强关系。
(3)dispersion (disp):选择具有最高离散度的基因.
通常采用的方法是vst,默认选取前2000个高变基因用于下游分析,如下图。
图3 高变基因分布图这里需要注意一点,就是高变基因数量的选择,如果选取的过多,就会带入一些噪音信号,影响下游的分析,选取的过少,无法真正表征生物学信号,得到错误的结论,从目前文献的通常选取数量来看,2000是一个合理的阈值,但是在对某一细胞类型进行再分群分析时,选取的高变基因数量要适当减少。
单细胞数据标准化与中心化
单细胞数据的标准化操作本质上是对基因表达量的数值进行了z-score的转换((0,1)正态分布化),计算公式如下:
当数据集的特征间具有不同的值范围时,数据归一化是非常有必要的,数据归一化的目的是使特征具有相同的度量尺度。