2020-08-19 发表在Cell的单细胞文章如何预处理10X和SmartSeq2数据

方法部分还是很有参考价值的

测序至获取细胞


10X测序技术
比对至GRCH38
R包dropletUtils的emptyDrops()函数将真实的细胞同背景RNA表达区分开

拿到细胞后质控

根据比对的UMIs,比对的基因数和比对到线粒体的基因比例进行QC
很有意思的是,以gene为例,过滤阈值为log10(中位文库大小)-3*绝对中位值

绝对中位值的缩写为MAD,参考https://www.zhihu.com/question/56537218

去除doublets


对于一个样本:
计算doublet评分doubletCells()
基于全部基因的PCA,获得50个PC
建SNN图,10个近邻buildSNNGraph()
Louvain聚类算法聚类,聚类时只使用HVGsigraph::cluster_louvain()
聚类之后得到的clusters
在各个clusters中再聚类得到clusters’,将每个cluster中全部细胞的doublet score中位分值作为该cluster的doublet评分
median-centered MAD-variance normal distribution,doublet评分为该极分布的极端值(BH校正P值<0.1)标记为doublets,虽然这个知道这个分布是什么需要更深的统计学知识,但基本思想还是拟合统计分布和进行假设检验

10X标准化


counts除以size factor再log2转换,这里用到一个computeSumFactors函数,看来这个函数并没有简单地将每个细胞的文库大小看待成size factor,经过这一步之后,不同细胞间的基因表达便可比了

Smart-Seq2预处理和10X类似

少了丢弃背景噪音和doublets的步骤,确实也没有必要
质控和10X类似,不同的是使用10%线粒体基因比例作为过滤阈值

10X和SmartSeq-2的整合

整合数据第一步还是鉴定HVGs,使用的方法类似于vst,拟合平均值和方差的关系,除去平均值可以解释变异后,再在残差中计算biological variation(大致的原理,请专业人士指正)
HVGs用于PCA降维MultiBatchPCA()
再根据协变量整合(integrate)数据,这里的协变量包括患者和测序技术HarmonyMatrix()
得到的矩阵再使用scanpy包建SNN图
SNN图使用leiden聚类(leiden聚类在发现相连接的社群方面优于Louvain)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。