去除单细胞数据中环境游离的RNA污染-decontX工具学习

2024-09-14 14:14:09 浏览数 (2)

DecontX 是一种用于单细胞 RNA 测序数据的去除环境污染物(decontamination)的工具,主要用于减少由细胞外RNA造成的污染效应。

开发者在20年的文章中已经把这个工具适用的情况说的非常清楚了:简单来说就是基于微流控的单细胞技术会导致环境中污染的RNA增多,这种环境中的RNA是来自于自受压或经历细胞凋亡的细胞。当环境 RNA 掺入液滴中并与细胞的天然 mRNA一起被标记和扩增时,就会发生交叉污染

DecontX可以通过贝叶斯统计模型对每个细胞的 RNA 读数进行推断,将原始数据分解为细胞内真实表达的 RNA 和污染的 RNA。该模型假设污染 RNA 来自于细胞群体的背景分布。进而估计每个细胞中污染 RNA 的比例,并根据污染的概率对原始表达矩阵进行校正,以生成一个含有去污染的表达矩阵(简单来说是给每个细胞一个污染评分,而使用者可以根据自己的需求调整筛选分值,分值是选择是在0-1之间)。

步骤流程
1.导入
代码语言:javascript复制
rm(list = ls())
library(Seurat)
library(decontX)
library(dplyr)
load("sce.Rdata")
table(Idents(sce))
#   CD14  Mono        CD8 T  Naive CD4 T     plasma B  endothelial 
#          638          476         1169          129          158 
# FCGR3A  Mono  Fibroblasts           NK           DC 
#          126           90           88           26 
table(sce$seurat_clusters)
#   0   1   2   3   4   5   6   7   8   9  10  11 
# 638 476 427 388 354 129 127 126  90  88  31  26 

# check
p1 <- DimPlot(sce,label = T) NoLegend()
2.数据预处理
代码语言:javascript复制
# 得到表达矩阵
set.seed(123)
counts <- GetAssayData(object = sce, slot = "counts")
decontX_res <- decontX(counts)
sce$contamination <- decontX_res$contamination
sce$contamination
# AGCCAATGTTTAAGGA-1 AGCCAATTCAGTGTGT-1 AGCCAATTCGTAGGGA-1 
#       7.290200e-03       1.077294e-01       1.545725e-02 
# AGCCACGAGAAGTATC-1 AGCCACGCAGTATGAA-1 AGCCACGGTGACTAAA-1 
#       5.359679e-03       5.380567e-02       1.104379e-02 
# AGCCACGTCCGTGTCT-1 AGCCAGCAGGATTCAA-1 AGCGATTCATGGCTGC-1 
#       5.277364e-03       1.970192e-02       2.541087e-02 
# AGCGATTGTAACCCGC-1 AGCGATTTCACCATGA-1 AGCGCCACACTTCAGA-1 
#       3.808178e-02       2.057815e-02       4.581427e-02 
# AGCGCTGCACCTAAAC-1 AGCGCTGGTTATGGTC-1 AGCGTATAGCAATTCC-1 
#       1.266685e-02       7.821186e-02       5.331460e-05 
# AGCGTATGTCGTGATT-1 AGCGTCGAGCCTCACG-1 AGCGTCGCACGCTTAA-1 
#       1.563875e-02       2.488393e-03       6.933525e-02 
# AGCTACACAACGACAG-1 AGCTACAGTCAGTTTG-1 AGCTACAGTCGGTGTC-1 
#       9.982144e-01       2.014275e-02       1.181942e-02 

# contamination值在0-1之间
sce_filt <- sce[,sce$contamination<0.01]
p2 <- DimPlot(sce_filt,label = T) NoLegend()

p1 p2

contamination值设定范围是0-1, 这个值的设定就是自定的啦~ 其实也很主观hhh...

如果自己的数据有很多"毛刺样散在"细胞,就可以考虑使用这个工具进行过滤哦~

参考资料:

1、Decontamination of ambient RNA in single-cell RNA-seq with DecontX. Genome Biol. 2020 Mar 5;21(1):57. doi: 10.1186/s13059-020-1950-6 IF: 10.1 Q1 B1

2、decontX :

https://bioconductor.org/packages/release//bioc/manuals/decontX/man/decontX.pdf

https://github.com/campbio/decontX

3、生信技能树:https://mp.weixin.qq.com/s/ndt9Fsgg5dNxIOh9m7j9Bw

4、生信菜鸟团:https://mp.weixin.qq.com/s/UiO7AQczrcMdKENCWkLRCQ

致谢:感谢曾老师以及生信技能树团队全体成员。

:若对内容有疑惑或者有发现明确错误的朋友,请联系后台(欢迎交流)。更多内容可关注公众号:生信方舟

- END -

0 人点赞