Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)

这篇具有很好参考价值的文章主要介绍了Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 写在前面

作为现在最火scRNAseq分析包,Seurat当之无愧。😘
本期开始我们介绍一下Seurat包的用法,先从基础质控过滤开始吧。🥳

2.用到的包

rm(list = ls())
library(Seurat)
library(tidyverse)
library(SingleR)
library(celldex)
library(RColorBrewer)
library(SingleCellExperiment)

3. 示例数据

3.1 读取10X文件

这里我们提供一个转成gene symbols的可读文件,如果大家拿到的是Ensemble ID,可以用之前介绍的方法进行转换。

adj.matrix <- Read10X("./soupX_pbmc10k_filt")

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)


3.2 创建Seurat对象

srat <- CreateSeuratObject(adj.matrix,project = "pbmc10k") 
srat

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)


3.3 查看Seurat对象

str(srat)

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)

4. 提取meta.data

这里我们提取一下meta.data,顺便查看一下表头,主要是三列: 👇

  • dataset ID
  • UMI/cell (nCount_RNA);
  • detected genes/cell (nFeature_RNA)。
meta <- srat@meta.data
head(meta)

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)

5.添加信息

5.1 添加线粒体基因信息

不知道大家还记得线粒体基因吗???🤒
scRNA-seq中,线粒体基因高表达往往代表细胞状态不佳。🧐

srat[["percent.mt"]] <- PercentageFeatureSet(srat, pattern = "^MT-")

head(srat$percent.mt)

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)


5.2 添加核糖体基因信息

这里我们试一下添加核糖体基因的信息。👀

srat[["percent.rb"]] <- PercentageFeatureSet(srat, pattern = "^RP[SL]")

head(srat$percent.rb)

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)

6. 去除双细胞

scRNAseq理想情况是每个barcode下只有一个细胞,但在实际情况中会有两个多个细胞共用一个barcode,我们称之为doublets。🫠

识别并去除doublets的方法很多,常用的有:👇

  • Scrublet;
  • doubletCells;
  • cxds;
  • bcds;
  • Hybrid;
  • DoubletDetection;
  • DoubletFinder;
  • Solo;
  • DoubletDecon

这里推荐大家使用DoubletFinder,我们就不进行演示了,以后再做具体介绍。🤗

因为我们事先使用Scrublet做过处理了,这里就直接导入准备好的文件吧。

doublets <- read.table("./scrublet_calls.tsv",header = F,row.names = 1)
colnames(doublets) <- c("Doublet_score","Is_doublet")
srat <- AddMetaData(srat,doublets)
head(srat[[]])

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)

7. 可视化

7.1 小提琴图

这里我们用VlnPlot探索一下特征的分布情况。

VlnPlot(srat, 
        fill.by = "feature", # "feature", "ident"
        features = c("nFeature_RNA","nCount_RNA","percent.mt","percent.rb"),
        ncol = 4, pt.size = 0.1) +
  theme(plot.title = element_text(size=10))

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)


7.2 散点图

这里利用散点图,我们看一下不同变量间的相关性

FeatureScatter(srat, feature1 = "nCount_RNA", feature2 = "percent.mt")

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)


FeatureScatter(srat, feature1 = "nCount_RNA", feature2 = "nFeature_RNA")

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)


FeatureScatter(srat, feature1 = "nCount_RNA", feature2 = "percent.rb")

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)


FeatureScatter(srat, feature1 = "percent.rb", feature2 = "percent.mt")

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)


FeatureScatter(srat, feature1 = "nFeature_RNA", feature2 = "Doublet_score")

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)

Note!

  • 这里我们可以看到高线粒体基因与低UMI计数相关,可以理解为死细胞。 🫠
  • 再看一下核糖体基因与线粒体基因,显著负相关。 😉
  • doublet基因表达数之间也有一定的相关性

8. 添加信息

8.1 过滤

接着我们定义一下过滤条件,将质量差非单细胞的数据剔除掉。🫵

srat[['QC']] <- ifelse(srat@meta.data$Is_doublet == 'True',
                       'Doublet','Pass')

srat[['QC']] <- ifelse(srat@meta.data$nFeature_RNA < 500 & 
                       srat@meta.data$QC == 'Pass',
                       'Low_nFeature', srat@meta.data$QC
                       )

srat[['QC']] <- ifelse(srat@meta.data$nFeature_RNA < 500 & 
                       srat@meta.data$QC != 'Pass' & 
                       srat@meta.data$QC != 'Low_nFeature',
                       paste('Low_nFeature', srat@meta.data$QC, sep = ','),
                       srat@meta.data$QC
                       )

srat[['QC']] <- ifelse(srat@meta.data$percent.mt > 15 &
                       srat@meta.data$QC == 'Pass',
                       'High_MT',srat@meta.data$QC
                       )

srat[['QC']] <- ifelse(srat@meta.data$nFeature_RNA < 500 &
                       srat@meta.data$QC != 'Pass' & 
                       srat@meta.data$QC !='High_MT',
                       paste('High_MT',srat@meta.data$QC,sep = ','),
                       srat@meta.data$QC
                       )

table(srat[['QC']])

8.2 可视化

这里我们只将通过过滤条件的数据展示出来,大家可以和过滤前的比较一下。

VlnPlot(subset(srat, subset = QC == 'Pass'), 
        features = c("nFeature_RNA", "nCount_RNA", "percent.mt","percent.rb"), 
        ncol = 4, pt.size = 0.1) +
  theme(plot.title = element_text(size=10))

Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)


最后祝大家早日不卷!~

需要示例数据的小伙伴,在公众号回复Seurat获取吧!

点个在看吧各位~ ✐.ɴɪᴄᴇ ᴅᴀʏ 〰文章来源地址https://www.toymoban.com/news/detail-474812.html

到了这里,关于Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从单细胞数据分析的最佳实践看R与Python两个阵营的博弈

    R与Python,在生物信息学领域的博弈异常激烈。许多生信分析,两个阵营都发展出了自己的方法,比如单细胞数据分析,R有Seurat,Python就有Scanpy。这些层出不穷的方法不断地吸引着吃瓜群众的眼球,同时也让人患上了选择困难症。 到底谁优谁劣?一时竟难分高下。今天我们就

    2024年01月25日
    浏览(55)
  • 生信小白学单细胞转录组(sc-RNA)测序数据分析——R语言

    10X单细胞转录组理论上有3个文件才能被读入R进行seurat分析,分别是barcodes.tsv 、 genes.tsv和matrix.mtx,文件barcodes.tsv 和 genes.tsv,就是表达矩阵的行名和列名 genes.tsv文件(有时也叫features.tsv文件) 文件内容:有两列,第一列为基因ID,第二列为基因Symbol ID,区分 各个基因 。 b

    2024年02月04日
    浏览(65)
  • 【生物信息学】单细胞RNA测序数据分析:计算亲和力矩阵(基于距离、皮尔逊相关系数)及绘制热图(Heatmap)

      计算亲和力矩阵,一般按照以下步骤进行: 导入数据:加载单细胞RNA测序数据集。 数据预处理:根据需要对数据进行预处理,例如 基因过滤 、 归一化 等。 计算亲和力:使用合适的算法(例如, 欧几里德距离 、 Pearson相关系数 或其他距离/相似度度量)计算样本之间的

    2024年02月06日
    浏览(47)
  • 单细胞注释之坑-通过AddModuleScore注释细胞

    兜兜转转,小编做单细胞转眼又是半年过去了,单细胞注释真的是一到玄学,一查资料很多自动化单细胞注释的工具横空出世,可是小编试了很多很多,发现还是手动注释更加准确,但是手动如何注释呢? 这里我们需要先找到细胞的marker基因,这里以NKT细胞为例,我们知道

    2024年02月12日
    浏览(95)
  • 单细胞分类和预测任务

    对于 分类 和 预测 任务,在生物信息学领域有一些常用的方法和工具可以使用。以下是一些常见的方法和工具: 1. 机器学习方法: 包括支持向量机(Support Vector Machine,SVM)、随机森林(Random Forest)、神经网络(Neural Networks)等。这些方法可以用于分类和预测任务,可以根

    2024年02月13日
    浏览(47)
  • 基于GPT构建单细胞多组学基础模型

    生成式预训练模型在自然语言处理和计算机视觉等各个领域取得了显著的成功。特别是将大规模多样化的数据集与预训练的Transformer相结合,已经成为开发基础模型的一种有前途的方法。文本由单词组成,细胞可以通过基因进行表征。这种类比启发作者探索细胞和基因生物学

    2024年02月13日
    浏览(54)
  • 专栏十:10X单细胞的聚类树绘图

    经常在文章中看到对细胞群进行聚类,以证明两个cluster之间的相关性,这里总结两种绘制这种图的方式和代码,当然我觉得这些五颜六色的颜色可能是后期加的,本帖子只总结画树状图的方法 文章Single-cell analyses implicate ascites in remodeling the ecosystems of primary and metastatic tumors

    2024年02月07日
    浏览(71)
  • 单细胞测序并不一定需要harmony去除批次效应

    大家好,今天 我们分享的是单细胞的学习教程https://www.singlecellworkshop.com/analysis-tutorial.html  教程的作者使用了四个样本,但是没有使用harmony或者其他方法去整合 去除批次效应。 主要内容: SCTransform流程代码 及结果 harmony流程代码及结果 seurat单样本标准流程代码 及结果 三种

    2024年02月03日
    浏览(40)
  • 易基因:人类大脑的单细胞DNA甲基化和3D基因组结构|Science

    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 高通通量表观基因组分析技术可用于阐明大脑中细胞复杂性的基因调控程序。5\\\'-甲基胞嘧啶 (5mCs)是哺乳动物基因组中最常见的修饰碱基,大多数5mCs发生在胞嘧啶-鸟嘌呤二核苷酸(CpGs)上。CG差异甲基化区

    2024年04月17日
    浏览(43)
  • vim命令大全,非常详细,强烈建议收藏!

    Vim是一款常用的文本编辑器,具有强大的功能和高度的可定制性。在本文中,我们将详细介绍Vim的常用命令,并提供相关的示例。如果您是初学者或已经熟练使用Vim,这篇文章都能为您提供帮助。 以下是一些基本的Vim命令: i :在当前光标位置插入文本。 x :删除当前光标所

    2024年02月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包