我们给了大家一个常规的可以批量导入全部的10x单细胞表达量矩阵文件夹的代码:
# 参考:https://mp.weixin.qq.com/s/tw7lygmGDAbpzMTx57VvFw
dir='GSE163558_RAW'
samples=list.files( dir )
#samples=samples[1:2]
sceList = lapply(samples,function(pro){
# pro=samples[1]
print(pro)
tmp = Read10X(file.path(dir,pro ) )
print(dim(tmp))
if(length(tmp)==2){
ct = tmp[[1]]
}else{ct = tmp}
print(dim(ct))
sce =CreateSeuratObject(counts = ct ,
project = gsub('GSM[0-9]*_','',pro) ,
min.cells = 5,
min.features = 300 )
return(sce)
})
里面有两个很重要的参数, min.cells = 5, 和 min.features = 300 ,它们都是为了过滤我们的单细胞表达量矩阵,但是前者是过滤基因,后者是过滤细胞。以下是这两个参数的具体意义:
min.cells = 5
,那么只有那些在至少5个细胞中表达的基因才会被保留在最终的表达矩阵中。这个过滤步骤有助于去除那些可能由于随机噪声或测序误差而在极少数细胞中被检测到的基因,这些基因不太可能对生物学解释有贡献。min.features = 300
,那么只有表达超过300个基因的细胞才会被保留在分析中。这个过滤步骤有助于去除那些测序深度不足或质量较低的细胞,这些细胞可能无法提供足够的生物学信息,或者可能代表了技术或生物学上的异常情况。使用这些过滤参数的目的是从原始数据中移除不可靠或不相关的信息,从而提高后续分析(如聚类、差异表达分析等)的准确性和可解释性。过滤后的数据集应该更加聚焦于生物学上有意义的变异,减少分析结果中的假阳性。在实际应用中,选择适当的过滤参数值需要考虑实验设计、测序深度、数据质量以及生物学问题。过滤参数的设置应该基于对数据的初步探索和理解,以及可能的领域知识。过滤过程应该谨慎进行,以确保不会无意中移除重要的生物学信号。
假如是比较早期的10x技术的单细胞转录组,如果你想从表达量矩阵里面看看中性粒细胞,它的整体文库就偏小,甚至可以修改 min.features = 300 成为 min.features = 200,如果是比较成熟的最近的10x技术的单细胞转录组,你也可以放宽这个阈值啦!
上面的min.features = 300 是规定了细胞的下限,它就是计算nFeature_RNA值,如果这个值过低说明细胞质量肯定是不行,但是过高也不是好事,因为有可能是双细胞。但是如果是处于细胞增殖状态的细胞或者恶性的肿瘤细胞,它的nFeature_RNA值本来就会很高。所以我们很少会设置nFeature_RNA值的上限。类似的3个常见的过滤参数及其意义:
nFeature_RNA
值可以帮助去除那些测序深度不够或背景噪声较高的细胞。nCount_RNA
过低的细胞可以排除那些可能由于技术原因导致数据不足的细胞。其中线粒体基因表达占总基因表达的比例是可以扩充到核糖体基因占比,红细胞基因占比等等。
比如文献题目为“Revealing the transcriptional heterogeneity of organ-specific metastasis in human gastric cancer using single-cell RNA Sequencing”。通讯作者是浙江大学的范骁辉教授,于2022年发表在Clin Transl Med杂志(IF=10.6)。可以看到文章的过滤参数是:
文章的过滤参数
就需要使用下面的代码:
tmp=subset(sce.all.filt,subset = percent_mito < 20 &
#nCount_RNA <10000 &
nFeature_RNA <5000 &
nFeature_RNA>200)
很简单的可以看出来每个阈值都是为了过滤细胞哦:
percent_mito < 20
:过滤掉线粒体基因表达占比超过20%的细胞,这有助于去除可能由于细胞应激或损伤而异常表达线粒体基因的细胞。nFeature_RNA < 5000
:过滤掉表达特征数超过5000的细胞。这可能是为了去除高表达细胞,它们可能代表了技术异常或生物学上的异常状态,如细胞周期的某些阶段。nFeature_RNA > 200
:过滤掉表达特征数少于200的细胞,这有助于去除测序深度不足或背景噪声较高的细胞。请注意,这些阈值的设定需要根据具体的数据集和实验目的来确定。研究人员可能需要通过探索性数据分析(EDA)来评估数据的分布,并根据数据的特定特征来调整过滤参数。此外,过滤决策可能需要基于领域知识和实验设计进行调整。
其实过滤基因的操作就是单细胞转录组标准流程里面的降维聚类分群环节的降维啦,
过滤基因(Filtering Genes):
挑选高变基因(Highly Variable Genes, HVGs):
降维(Dimensionality Reduction):