目录

1. 加载数据集,创建Seurat对象

 2. 数据预处理

a. QC(质量控制)

b. 数据标准化

c. 高变基因(特征选择)

d. 归一化

e. 数据降维(PCA)

 3. 单细胞聚类

 4. 非线性降维

 5. 细胞类型标识分配给集群

 6. 结果保存为.rds文件

1. 加载数据集,创建Seurat对象

数据下载地址:https://cf.10xgenomics.com/samples/cell/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz

Pbmc:外周血单核细胞,包括淋巴细胞(T细胞,B细胞和自然杀伤(NK)细胞)和单核细胞,一小部分的树突状细胞。

其中CreateSeuratObject()函数用来创建Seurat对象

counts:一个类似矩阵的对象;

project:Seurat对象的项目名称;

min.cells:包含至少在这么多细胞中检测到的特征;

min.features:包含至少可以检测到这些特征的单元格。

运行结果:

 2. 数据预处理

a. QC(质量控制)

三个标准

1. 每个细胞中检测到的唯一基因数(nFeature_RNA)

低质量的细胞或空的droplet液滴通常含有很少的基因Cell doubles 或 multiplets可能表现出异常高的基因计数

2. 每个细胞中检测到的总分子数(nCount_RNA)

3. 线粒体基因含量比例(percent.mt)

低质量或者死亡细胞含有很高的线粒体基因使用PercentageFeatureSet()计算线粒体QC比例MT-开头的基因是线粒体基因

 运行结果:

 

b. 数据标准化

默认标准化方法为LogNormalize,标准化后的数据存在pbmc[[“RNA”]]@data中

归一化 -> 乘以比例因子10000 -> 对数转换

c. 高变基因(特征选择)

选择数据集中高变异的特征子集(在某些cell中高表达,在某些cell中低表达)

通过FindVariableFeatures()函数,计算每一个基因的均值和方差,默认选择高变异的2000个基因用于下游分析

 运行结果:

 

d. 归一化

使用ScaleData()函数转化(“归一化”)数据,使每一个基因在所有cell中的表达均值为0,方差为1

结果在pbmc[[“RNA”]]@scale.data中,通过str()获取pbmc的数据结构

e. 数据降维(PCA)

 运行结果:

Positive和Negative就是PC轴的正负映射关系,正值为Positive,负值为Negative。返回的是正值和负值绝对值最大的top30。可以理解为对所有细胞区分度最大的基因。

运行完RunPCA后,得到两个分解矩阵,2000x50的权重矩阵,50x2000的系数矩阵,总共为50个PC

 结果可视化

 确定维度

ElbowPlot(pbmc)是确定用多少个PC进行分群的一种有效方法,直观地显示了每个PC的标准偏差,我们要找的就是标准偏差趋于平稳的位置

 3. 单细胞聚类

首先根据PCA空间中的欧氏距离构建KNN图,并根据其局部邻域中的共享重叠(jaccard相似性)细化任意两个单元之间的边权重。共分为9类

 前5个细胞所属的类别为:

 4. 非线性降维

首先下载UMAP算法,进行可视化

 运行结果:

 5. 细胞类型标识分配给集群

用新的标识替代原来的cluster0-8

运行结果:

 6. 结果保存为.rds文件

saveRDS(pbmc, file = "F:/Seurat/1_1.rds")

精彩链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: