前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单细胞转录组 | 数据降维

单细胞转录组 | 数据降维

作者头像
生信real
发布2022-12-20 09:24:13
6610
发布2022-12-20 09:24:13
举报
文章被收录于专栏:Linux基础入门

前言

在对单细胞转录组数据标准化之后,需要对数据进行降维。

那么降维的目的是什么呢?

假设一共1000个细胞,每个细胞只有一个基因(基因Ⅰ)的表达,那么这些细胞会分布在以基因Ⅰ为x轴的一维坐标轴上;如果每个细胞有两个基因(基因Ⅰ、基因Ⅱ)表达,那么这些细胞会分布在以基因Ⅰ为x轴(y轴),基因Ⅱ为y轴(x轴)的二维平面上;如果每个细胞有三个基因(基因Ⅰ、基因Ⅱ、基因Ⅲ)表达,以此类推……

现实中,每个细胞中的基因表达往往成千上万,那么就有成千上万个纬度。因此我们需要降维,将在细胞间变化幅度不大的基因降维去掉,用尽可能少的纬度展示数据的真实结构。

本文框架

1. 安装包

如果已经安装,此步请跳过。

代码语言:javascript
复制
install.packages('Seurat')
install.packages('dplyr')
install.packages('tidyverse')
install.packages('patchwork')

2. 加载包

代码语言:javascript
复制
library(Seurat)
library(dplyr)
library(tidyverse)
library(patchwork)

3. 设置工作路径

代码语言:javascript
复制
setwd("D:/sc-seq/BC21")

根据自己数据的存放位置自定义路径。

4. 读取数据

该数据为标准化后的数据。

代码语言:javascript
复制
scRNA <-load("scRNA1.Rdata")

5. PCA降维

RunPCA函数格式:RunPCA(object,features = NULL, npcs = 50,……)

object:标准化后的Seurat对象;

features:用来进行PCA的基因:为单细胞转录组 | 数据归一化与筛选高变基因中鉴定的高变基因;

npcs:计算和存储的PC数(默认为 50)。

代码语言:javascript
复制
scRNA1 <- RunPCA(scRNA1, features = VariableFeatures(scRNA1)) 

降维信息储存在下图红框所示"pca"中;蓝色框中3854表示为3854个细胞,50表示50个纬度。即:将所有高变基因降维到了50个纬度。

5.1 查看降维信息

代码语言:javascript
复制
# 提取pca信息
pca <- scRNA1@reductions[["pca"]]@cell.embeddings
# 查看pca信息
view(pca)

降维信息展示

Seurat根据PCA分数对细胞聚类,每个PC基本上表示一个特征,该特征结合了相关特征集上的信息。

下图中PC1解释最大的数据差异,PC2解释了第二大部分差异,PC3解释了第三大部分差异,以此类推……

那么我们应该选择多少个PCs数才能代表数据的真实结构,进行后续分析呢?请接着往下看。

5.2 纬度数的选择

我们可以通过ElbowPlot绘制图片查看降维的效果。

ElbowPlot函数格式:ElbowPlot(object, ndims = 20, reduction = "pca")

object:标准化后的Seurat对象;

ndims:绘制标准差的维数;

reduction:绘制方法。

代码语言:javascript
复制
# 绘图
plot <- ElbowPlot(scRNA1, ndims=50, reduction="pca") 
# 将图片输出到画板上
plot

查看图片

我们可以通过图片找到转折点(即:转折点前变化幅度大,转折点后变化幅度小)来确定维度数数。

这在里我们选择15个维度数进行下游分析。

选择纬度数时建议一般情况纬度数选择10-20之间;同时更建议根据自己的数据情况,选择多组不同的纬度数进行下游分析,找到最佳结果。

6. 保存数据

保存存储PCA信息的数据用于后续分析。

代码语言:javascript
复制
save(scRNA1,file='scRNA1.Rdata')
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信百宝箱 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 本文框架
    • 1. 安装包
    • 2. 加载包
    • 3. 设置工作路径
    • 4. 读取数据
    • 5. PCA降维
      • 5.1 查看降维信息
        • 降维信息展示
          • 那么我们应该选择多少个PCs数才能代表数据的真实结构,进行后续分析呢?请接着往下看。
            • 查看图片
            • 6. 保存数据
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档