# set error messages to English
Sys.setenv(LANGUAGE = 'en')
# disable automatic type change to factor
options(stringAsFactor = FALSE)
# delete all variables
rm(list = ls())
Single Cell Analysis Tutorial
.R文件初始设置
Doublet Finder 双细胞检测
DoubletFinder can only be applied to a single sample and before batch effect correcting. Existing doublets will have a negative impact on sample integrity.
双细胞检测必须在单个样本内进行,不能对整合后(批次效应矫正)的样本检测双细胞。因为双细胞会对样本整合造成影响。
There are two R packages named DoubletFinder and chris-mcginnis-ucsf/DoubletFinder is preferred.
有两个双细胞检测R包都叫DoubletFinder,常用的是chris-mcginnis-ucsf/DoubletFinder。
Correct Batch Effect 矫正批次效应
批次效应产生的原因由很多种,如不同的实验者,不同的实验仪器、实验环境等等。这些差异不能被纳入细胞与细胞间的生物学差异,所以应当被矫正。(不能说去除)批次效应的矫正亦称数据整合。
矫正批次效应的目标是尽可能使不同的样本均匀地分布到各个细胞类型中,也就是说不存在某个类型的细胞只含有某些样本而不含有其它样本。如果有一个由5个患者组织组成的数据集,分群后发现fibroblast只来自1号病人而不来自其他4个病人,显然是不合理的。批次效应的矫正就是为了去除这种不合理性。
但是需要注意,肿瘤细胞本身具有异质性,即使是矫正批次效应后仍然会存在某群肿瘤细胞只包含部分患者来源的细胞,另一群肿瘤细胞包含其余患者来源的细胞。这种情况不能认为是批次效应矫正不充分,也不能加大矫正力度强行使肿瘤细胞群涵盖所有患者,否则会掩盖肿瘤异质性,造成矫正过度。
SCTransform
Tumor vasculature at single-cell resolution, Nature, July 2024
Molecular programs of regional specification and neural stem cell fate progression in macaque telencephalon, Science, October 2023
两篇文章使用SCTransform进行Normalize,随后不再单独进行FindVariable。也就是使用SCTransform可以直接进行归一化(NormalizeData)、计算高变基因(FindVariableFeatures)和标准化(ScaleData)。
SCTransform使用3000个HVGs和30个PCs,比FindVariableFeatures默认的2000个HVGs更多,因此更能提取出单个细胞间微弱的生物学差异。两者没有绝对的优劣之分,建议两者都尝试。
锚定点CCA算法
Satija课题组于2019年在Cell发表。Seurat官网
可以按照样本的来源矫正批次效应,也可以按照处理组或者数据的文章来源矫正批次效应。根据整合的结果进行更改。常用按照样本进行矫正。
## CCA integrate
<- IntegrateLayers(
ifnb object = ifnb,
method = CCAIntegration,
orig.reduction = "pca",
new.reduction = "integrated.cca",
verbose = FALSE)