Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >根据线粒体基因进行过滤

根据线粒体基因进行过滤

作者头像
生信技能树jimmy
发布于 2024-05-01 06:23:15
发布于 2024-05-01 06:23:15
56500
代码可运行
举报
文章被收录于专栏:单细胞天地单细胞天地
运行总次数:0
代码可运行

前情提要

上篇推文中对ncount_RNA 和nFeature_RNA进行了可视化,然后基于可视化结果进行了阈值的判断,并且也给大家分享了在实际分析中的应用

其中也提到了在我们的质控脚本中,首先是计算了线粒体、核糖体以及血红细胞的比例,然后就可视化了细胞中这些参数的情况,在基于这些数据进行一个过滤

那这期我们来了解一下如何根据线粒体、核糖体以及红血蛋白基因的比例,对细胞进行过滤

为什么要基于这些基因进行过滤

单细胞中表达量最高的基因一般是线粒体基因、核糖体基因等

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#抽样查看TOP50基因
# 这里的C 这个矩阵,有一点大,可以考虑随抽样 
C=subset(sce.all,downsample=1000)@assays$RNA$counts
dim(C)
dim(sce.all)

C=Matrix::t(Matrix::t(C)/Matrix::colSums(C)) * 100

most_expressed <- order(apply(C, 1, median), decreasing = T)[50:1]

pdf("TOP50_most_expressed_gene.pdf",width=14)

pdf("test.pdf",width = 15,height = 15)

boxplot(as.matrix(Matrix::t(C[most_expressed, ])),
        cex = 0.2, las = 2, 
        ylim=c(0,8),
        xlab = "% total count per cell",
        col = (scales::hue_pal())(50)[50:1], 
        horizontal = TRUE)


dev.off()

如果是线粒体基因高表达的细胞,可能是处于凋亡状态或者裂解状态的细胞,会干扰后续的分析

红细胞中会高表达血红蛋白基因,而红细胞本身是不含有细胞核的,且携带的基因少,其携带的基因与疾病以及生物发育等过程没有太大的联系,所以可以直接剔除掉

计算基因比例

在读取完数据创建seurat对象之后,会为每个细胞创建一个元数据,保存在meta.data里面,比如我们上次介绍的nFeature_RNA和nCount_RNA,统计一下全部基因的表达量

但是并不会计算线粒体、核糖体这些单独的基因的比例,所以需要我们自行计算一下这些基因,然后也保存在meta.data里面

计算方法:

  • 根据基因名特征进行整理
  • 使用PercentageFeatureSet进行计算
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#计算线粒体基因比例
mito_genes=rownames(sce.all)[grep("^MT-", rownames(sce.all),ignore.case = T)] 
print(mito_genes)
sce.all=PercentageFeatureSet(sce.all, features = mito_genes, col.name = "percent_mito")
fivenum(sce.all@meta.data$percent_mito)

#计算核糖体基因比例
ribo_genes=rownames(sce.all)[grep("^Rp[sl]", rownames(sce.all),ignore.case = T)]
print(ribo_genes)
sce.all=PercentageFeatureSet(sce.all,  features = ribo_genes, col.name = "percent_ribo")
fivenum(sce.all@meta.data$percent_ribo)

#计算红血细胞基因比例
Hb_genes=rownames(sce.all)[grep("^Hb[^(p)]", rownames(sce.all),ignore.case = T)]
print(Hb_genes)
sce.all=PercentageFeatureSet(sce.all,  features = Hb_genes,col.name = "percent_hb")
fivenum(sce.all@meta.data$percent_hb)

人类和小鼠的线粒体核糖体基因区别:

  • 人类的核糖体基因是RPS/RPL开头
  • 人类的线粒体基因是MT-开头
  • 小鼠的核糖体基因是Rps/Rpl开头
  • 小鼠的线粒体基因是mt-开头
可视化
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
feats <- c("percent_mito", "percent_ribo", "percent_hb")1
p2=VlnPlot(sce.all, group.by = "orig.ident", features = feats, pt.size = 0, ncol = 3, same.y.lims=T) + 
  scale_y_continuous(breaks=seq(0, 100, 5)) +
  NoLegend()
p2

如果分析中发现某些单细胞样品中的线粒体表达量特别高,可能说明这个样品质量是比较一般

设置阈值过滤

一般简单的过滤就是基于可视化的结果,设置一个上限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#过滤指标2:线粒体/核糖体基因比例(根据上面的violin图)
selected_mito <- WhichCells(sce.all, expression = percent_mito < 25)
#selected_ribo <- WhichCells(sce.all, expression = percent_ribo > 3)
selected_hb <- WhichCells(sce.all, expression = percent_hb < 1 )
length(selected_hb)
length(selected_ribo)
length(selected_mito)

sce.all_filt <- subset(sce.all, cells = selected_mito)
#sce.all <- subset(sce.all, cells = selected_ribo)
sce.all_filt <- subset(sce.all_filt, cells = selected_hb)
dim(sce.all_filt)

table(sce.all_filt$orig.ident) 

根据线粒体核糖体基因进行过滤

过滤线粒体核糖体基因推文中提到了过滤的方式

1. 粗暴的去除全部线粒体基因

直接在表达矩阵里面,去除掉属于的那一行表达量即可

2. 设定阈值去除掉高表达量细胞

多次反复查看线粒体核糖体基因的影响,分群前后看,不同batch看,多次质控图表里面显示它,判断它是否是一个主要因素

3. 高表达核糖体基因的细胞是否要去除

在不影响分群和功能分析时可以不删除,很多细胞里都大量表达核糖体基因,如果一刀切全删除,会删除很多目的细胞。

在分析中的应用

与ncount_RNA 和nFeature_RNA一样,在进行单细胞亚群可视化的时候,也会可视化一下线粒体核糖体基因这些基因的比例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  feats <- c("percent_mito", "percent_ribo", "percent_hb")
  p2=VlnPlot(sce.all.int,  features = feats, pt.size = 0, ncol = 3, same.y.lims=T) + 
    scale_y_continuous(breaks=seq(0, 100, 5)) +
    NoLegend()

不过因为在质控的时候已经去除掉线粒体基因表达过高的细胞,所以在亚群分类的时候也不太需要仔细辨别

在单细胞亚群细分的时候,主要还是基于每个簇的ncount_RNA 和nFeature_RNA以及基于Marker基因和Umap图去判断是否是双细胞,或者增殖细胞

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 单细胞天地 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
胃癌单细胞数据集GSE163558复现(二):Seurat V5标准流程
Hello小伙伴们大家好,我是生信技能树的小学徒”我才不吃蛋黄“。今天是胃癌单细胞数据集GSE163558复现系列第二期。第一期我们进行了数据的下载与读取并成功构建Seurat对象。本期,我们将在第一期基础上走Seurat V5标准流程,对Seurat对象进行QC质控、并利用harmony整合去批次、并按标准流程进行降维聚类分群。
生信技能树jimmy
2024/06/13
1.6K5
胃癌单细胞数据集GSE163558复现(二):Seurat V5标准流程
单细胞测序—标准流程代码(1)
现在的单细胞测序很少是单个样本测序了,一般是多个样本。这里用ifnb.SeuratData包中的ifnb示例数据来模拟单细胞测序多样本分析流程。
sheldor没耳朵
2024/08/20
8050
单细胞测序—标准流程代码(1)
一篇单细胞文献复现及代码部分更新
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE151177
生信菜鸟团
2023/12/14
1.7K0
一篇单细胞文献复现及代码部分更新
​单细胞专题 | 7.单细胞下游分析——常规分析流程案例一
单细胞专题 | 1.单细胞测序(10×genomics技术)的原理 单细胞专题 | 2.如何开始单细胞RNASeq数据分析 单细胞专题 | 3.单细胞转录组的上游分析-从BCL到FASTQ 单细胞专题 | 4.单细胞转录组的上游分析-从SRA到FASTQ 单细胞专题 | 5.单细胞转录组的上游分析-从FASTQ到count矩阵 单细胞专题 | 6.单细胞下游分析——不同类型的数据读入
DoubleHelix
2022/12/16
5.5K0
​单细胞专题 | 7.单细胞下游分析——常规分析流程案例一
画出像烟花一样的单细胞umap图,原因竟然是?
GSE125527数据:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE125527。
生信技能树
2025/02/05
1770
画出像烟花一样的单细胞umap图,原因竟然是?
数据处理过程中的合理的质量控制是很有必要的
实际上初学者完全不需要使用各种花里胡哨的工具来完成上面的步骤,因为所有的细节都在降维聚类分群结果里面看得到!让我们来演练一下:
生信技能树
2024/04/13
1780
数据处理过程中的合理的质量控制是很有必要的
单细胞转录组分析揭示胃肠道间质瘤和微环境的异质性
文章标题:《Single-cell transcriptome analysis revealed the heterogeneity and microenvironment of gastrointestinal stromal tumors》
生信技能树
2021/12/10
9130
单细胞转录组分析揭示胃肠道间质瘤和微环境的异质性
🤫 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 symbo
生信漫卷
2023/02/24
10.6K0
🤫 Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)
BD单细胞测序数据分析流程(全)
BD和10x是两种常见的单细胞测序技术平台。我们已经分享了很多的10x 测序的教程。
生信菜鸟团
2024/04/11
2.7K0
BD单细胞测序数据分析流程(全)
AddModuleScore 对单细胞基因集打分及可视化
在此选择的pathway通路及基因集(基于文章给出的部分基因)是我自己选用,并没有特别的生物学意义,只是做一下可视化展示。
生信菜鸟团
2023/10/07
3.8K0
AddModuleScore 对单细胞基因集打分及可视化
免疫抑制剂-TNBC单细胞数据集聚类分群
然后就是花费了从早上9点至下午4点的运行过程,流程是初级流程,时间是好几倍,这时间可以跑完别的一整篇了,果然不可高攀。 乍一看去,这些图不算难呀,可能这个PI和TI的设定得多花点时间琢磨一下
生信菜鸟团
2023/09/09
5000
免疫抑制剂-TNBC单细胞数据集聚类分群
过滤线粒体核糖体基因
我们埋下了一个伏笔,就是拿到了差不多干净的表达矩阵后还有一个预处理步骤,但是这个步骤是选修,就是说你不会过滤线粒体核糖体基因也可以不做,没有人会责怪你,因为单细胞转录组数据分析本来就有难度。分析要点无穷无尽,即使你真的准备过滤线粒体核糖体基因你也会发现标准不好把握,需要看很多文献,还得结合你自己项目数据的实际情况啦。而且过滤线粒体核糖体基因并不是质控的终点,你还有细胞周期检查,单细胞活性检查,是否有两个细胞混在一起也是需要检查,非常的累。不仅仅是标准不好把握,而且因项目而异,具体情况具体判断。
生信技能树jimmy
2020/03/27
6.6K0
单细胞水平看小鼠胰腺导管腺癌进展中的细胞异质性
文章链接:https://insight.jci.org/articles/view/129212
生信技能树
2021/12/10
9040
单细胞水平看小鼠胰腺导管腺癌进展中的细胞异质性
🤗 Seurat | 超好用的单细胞测序数据合并(3'和5'数据合并)(一)
1写在前面 随着scRNAseq技术的普及,成本的降低,大家可以在公共数据库找到越来越多的datasets,但如何合并这些datasets就成为了一个大问题🫠,比较推荐的方法包括:👇 Harmony; rliger; Seurat。 我们常见的2种应用场景就是: 3'和5'不同datasets的合并; 整合只有部分重叠的datasets,(举个栗子🌰:全血scRNAseq数据和3'PBMC数据的合并。 🌟 在Seurat包中提供了一种叫canonical correlation analysis (CCA)
生信漫卷
2023/02/24
1.5K0
🤗 Seurat | 超好用的单细胞测序数据合并(3'和5'数据合并)(一)
单细胞转录组降维聚类分群过滤基因和过滤细胞的区别
里面有两个很重要的参数, min.cells = 5, 和 min.features = 300 ,它们都是为了过滤我们的单细胞表达量矩阵,但是前者是过滤基因,后者是过滤细胞。以下是这两个参数的具体意义:
生信技能树
2024/11/21
2170
单细胞转录组降维聚类分群过滤基因和过滤细胞的区别
学徒单细胞作业:敲除Dnmt1基因对小鼠肺部发育的影响
另外,前两天在《生信技能树》和《单细胞天地》等公众号都推出来了一个10X单细胞转录组钜惠套餐,详见:2个分组的单细胞项目标准分析,原价15~20万的6个10x单细胞转录组套餐,现价10万。其实本文介绍的就是:敲除Dnmt1基因前后分组的两个单细胞转录组数据分析。
生信技能树
2021/11/23
9540
scRNA分析|多样本merge 和 harmony去批次
本部分选择2020年发表在Genome Med 中的单细胞文章(Single-cell transcriptome analysis of tumor and stromal compartments of pancreatic ductal adenocarcinoma primary tumors and metastatic lesions ),其中含有pancreatic ductal adenocarcinoma的10个原发 以及 6个转移样本数据。 后续会依据此数据集进行一些单细胞常
生信补给站
2022/11/11
4.5K0
scRNA分析|多样本merge 和 harmony去批次
中性粒细胞的质量值到底是多低呢?
今天来看看一篇文献中使用BD单细胞测序技术,鉴定到的一大群中性粒细胞,这就来分析看看!多一点对中性粒细胞的实际认知~
生信技能树
2025/04/11
640
中性粒细胞的质量值到底是多低呢?
使用seurat3里面计算线粒体基因含量的2个方法
展示的非常清楚啦,因为每个教程想说明的情况不一样,所以需要重新把计算线粒体基因含量讲解一下。 为了维持教程的统一性,我这里一直使用 sce 来代表构建好的seurat对象。
生信技能树jimmy
2020/03/30
4.8K0
单细胞数据重新挖掘会有什么意外惊喜吗?(IF=12.4/Q1)
今天分享的一篇文章,本来是看看肾脏组织中的各种上皮细胞的分类,但是注释的时候却有个小插曲,下面来看看~
生信技能树
2025/04/14
1050
单细胞数据重新挖掘会有什么意外惊喜吗?(IF=12.4/Q1)
推荐阅读
相关推荐
胃癌单细胞数据集GSE163558复现(二):Seurat V5标准流程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验