R语言分析单细胞数据Day1——下载Seurat包并进行预处理(一)

Task.1 安装Seurat,准备处理single cell data

安装Seurat时,只能安装3.2.3以下的版本,太高就不兼容!

install.packages('remotes') %安装过可以省略
remotes:: install_version("Seurat", version = "3.2.3")
# 安装不上可以更新R版本或者安装附属包

Task.2 加载Seurat包并导入数据

library(Seurat)
# 这里可以设置你的路径,三个文件(mtx数据、行名和列名)都需要加载
# 所使用的数据暂时不公开了,GEO数据库有很多
Day0_RAW <- ReadMtx( mtx = "matrix.mtx", features = "features.tsv",cells = "barcodes.tsv")

Task.3 创建Seurat格式项目

Seurat_Day0 <- CreateSeuratObject(counts = Day0_RAW,min.cells = 3,min.genes = 200)
# 初步过滤:>=3个细胞中表达的基因(min.cells = 3),>=200个基因的细胞(min.genes = 200)。可任意设置。

创建的项目:33539 features across 22609 samples within 1 assay
Task.4 质控

Seurat_Day0[["percent.mt"]] <- PercentageFeatureSet(Seurat_Day0, pattern = "^MT-")
# 这个命令是计算基因含量,这里MT是线粒体的意思(我认为可理解为每个细胞)
VlnPlot(Seurat_Day0, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)
# 可视化一下

R语言分析单细胞数据Day1——下载Seurat包并进行预处理(一)
(这张图我也只理解一点)
网友有说是根据第三个图片,线粒体基因含量占比25%以下的细胞才保留,这里先空着
接下来可视化RNA-基因含量,RNA-feature

plot1 <- FeatureScatter(Seurat_Day0, feature1 = "nCount_RNA", feature2 = "percent.mt")
plot2 <- FeatureScatter(Seurat_Day0, feature1 = "nCount_RNA", feature2 = "nFeature_RNA")
plot1 + plot2
# 这个可视化感觉要更好看一些

R语言分析单细胞数据Day1——下载Seurat包并进行预处理(一)
上面两个可视化是为了根据内容确定筛选的细胞数目和基因数目。下面代码才是最重要的质控代码

#过滤具有超过 8000 或少于 200 个独特特征的细胞,过滤>25%的线粒体(线粒体不清楚为何过滤)
Seurat_Day0_fit <- subset(Seurat_Day0, subset = nFeature_RNA > 200 & nFeature_RNA < 8000 & percent.mt < 25)

质控后的项目:33539 features across 22433 samples within 1 assay (删除了部分低表达的细胞)

Task.5 标准化
对每个细胞的表达量进行归一化(常用“LogNormalize”),将其乘以比例因子(默认为 10,000),并对结果进行对数转换(这个是必须的)

Seurat_Day0_fit_norm <- NormalizeData(Seurat_Day0_fit , normalization.method = "LogNormalize", scale.factor = 10000)
#这些参数都是默认值,可以不写

至此,数据预处理结束,接下来是降维、聚类等分析。

上一篇:Java学习之路day1


下一篇:DAY1 Markdown语法学习