再了解单细胞测序之“小泽看文献”
原文作者:刘小泽
链接:https://www.jianshu.com/p/f916ff91d107
- 生物学背景很重要,走出了我前段时间一直怀疑的如果做scRNA,那生物背景知识的重要性是否会被掩盖一部分
- UMI(feature) barcode(droplet) counts number of genes 重新理解
- QC尺度的把握
mt 细胞 基因数 count之间的cor
小结
- 三种QC指标(the number of genes、the count depth 、the fraction of mitochondrial reads)要放在一起思考,而不是单独看某一个
- 先尽可能地设定宽泛的QC阈值,如果下游聚类无法解释再回过头来反思QC
- 如果看到每个样本的QC指标分布不同,那么就要对每个样本分别设定阈值,而不是一刀切
作者:刘小泽
链接:https://www.jianshu.com/p/f916ff91d107
均一化与标准化
scale():
中心化:所有值减去均值的处理
标准化:在中心化的基础上再除以数据的标准差
n=t(scale(t(dat))) #t()数据转置
n[n>2]=2 # 限定上限
n[n< -2]= -2 # 限定下限
pheatmap(n,show_colnames =F,show_rownames = F) # scale之后
归一化 Normalize做的就是将数据进行一个转换,可以让同一基因在不同样本中具有可比性(例如RPKM、TPM等);另外降低离散程度**。看使用的函数
LogNormalize
背后的计算方法就是:log1p(value/colSums[cell-idx] *scale_factor)
,它同时考虑到了这两点
标准化Scale就是基于之前归一化的结果(也就是log后的结果),再添z-score计算
- Normalization "normalizes" within the cell for the difference in sequenicng depth / mRNA thruput
- Scaling "normalizes" across the sample for differences in range of variation of expression of genes
- normalization一般是对文库处理,目的消除一些技术差异;scale一般对基因表达量处理(典型的z-score:表达量减均值再除以标准差),目的是后续分析不受极值影响
对于非全长scRNA数据(如10X),推荐使用scran的归一化方法;是否进行scale没有共识,该篇作者不支持
根据数据集的复杂性,推荐选择1000-5000个HVGs
注释并非一蹴而就,这个很麻烦...
——刘小泽
Trajectory inference
轨迹推断:通过在细胞空间中寻找最小化相邻细胞间转录变化的路径来重建分化 / 发育轨迹