单细胞数据的导入与质控 - Seurat

如题所述

第1个回答  2022-07-24

######################################

创建以下目录

目前我碰到的有这几种情况;

三个文件指的是“barcodes.tsv","features.tsv","matrix.mtx";
这个情况就比较好处理了,barcodes.tsv就是cell id,features.tsv就是gene id,matrix.mtx就是计数counts矩阵

单个csv矩阵读入

多个csv矩阵读入

单个txt矩阵读入

多个txt矩阵读入

其实就是用R读取excel文件,把xslx转化成csv再读取

找到一个解释Seurat中所有函数的网站,比R自带的要清楚很多 rdrr

1.readMM():

input:"xx.mtx"

备注:readMM is the function of Matrix packages, it changes the standard matrix into sparse matrix.Of note,features.tsv and barcodes.tsv should be library first, and then combine sparse matrix、features.tsv and barcodes.tsv form a counts matrix with cell id and gene id.(详见step1情况一)

2.read10X():

input:"raw_feature_bc_matrix"(files from CellRanger output)

备注:read10X id the function of Seurat,its input from CellRanger output(10X genomics data的专用软件Cell Ranger的output会有一个out目录,"raw_feature_bc_matrix"在该目录中)

再完成2.1已经创建好了Seurat对象以后,快速查看元数据以了解其大概;

接着,需要把多个seurat对象合并成一个,这样比较方便我们同时为每个样品进行质控,且方便我们更容易地比较所有样本的数据质量,用merge()函数执行该操作;

通常根据以下四个指标筛选:

1.计算mitoRatio

主要是利用的Seurat的PercentageFeatureSet()功能,这个函数将使用一个模式(pattern)搜索基因标识符,对于每一列(细胞),它将选取特征基因的计数之和,除以所有基因的计数之和

2.计算log10GenesPerUMI (option)

GenesPerUMI = nFeature_RNA / nCount_RNA
这个指标代表的意思是 “单位read counts的gene数目的比例” 反映的是数据的复杂度;常用于评估ctrl和stim基因的整体复杂性

细胞水平的过滤, 主要是用subset()函数过滤

在我们的数据中,会有许多基因的计数为零。这些基因会显著降低一个细胞的平均表达量,因此我们将从数据中删除它们。

主要删除两类基因,
(1)删除所有细胞中零表达的基因;

(2)如果一个基因只在少数几个细胞中表达,那么它的意义并不是特别大,因为它仍然会把没有表达它的其他所有细胞的平均表达量降下来。对于我们的数据,我们选择只保留在10个或更多细胞中表达的基因。

在进行过滤后,建议回过头来再看看指标,确保你的数据符合你的预期,对下游分析有好处。

我们将保存筛选后的细胞对象用于聚类 (clustering) 和标记识别 (marker identification),将过滤以后的Seurat数据创建为.RData对象

相似回答