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

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

DecontX可以通过贝叶斯统计模型对每个细胞的 RNA 读数进行推断,将原始数据分解为细胞内真实表达的 RNA 和污染的 RNA。该模型假设污染 RNA 来自于细胞群体的背景分布。进而估计每个细胞中污染 RNA 的比例,并根据污染的概率对原始表达矩阵进行校正,以生成一个含有去污染的表达矩阵(简单来说是给每个细胞一个污染评分,而使用者可以根据自己的需求调整筛选分值,分值是选择是在0-1之间)。
步骤流程
1.导入
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.数据预处理
# 得到表达矩阵
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 -
相关文章:
去除单细胞数据中环境游离的RNA污染-decontX工具学习
DecontX 是一种用于单细胞 RNA 测序数据的去除环境污染物(decontamination)的工具,主要用于减少由细胞外RNA造成的污染效应。 开发者在20年的文章中已经把这个工具适用的情况说的非常清楚了:简单来说就是基于微流控的单细胞技术会…...
Games101图形学笔记——光栅化
这里写目录标题 Rasterization光栅化屏幕空间隔行扫描三角形采样采样产生的问题反走样处理方法:采样前模糊 频率,时域傅里叶级数展开傅里叶变换 滤波高通滤波低通滤波 卷积卷积的一些定理 反走样MSAA(Multisample Anti-Aliasing)多…...
2024年汉字小达人区级自由报名的几个最新问题和真题练一练
2024年第十一届汉字小达人的区级活动的时间9月25-30日正式开赛,还有不到两周。 今天继续回答家长和孩子们的几个问题,并给大家看看一些真题,让孩子对汉字小达人的题型和比赛有直观的了解,从而更好地备考。 本专题在比赛前持续更…...
从简单分析到智能问数,Smartbi AIChat让数据回归业务
大数据产业创新服务媒体 ——聚焦数据 改变商业 在某科技公司,资深数据分析师李晨(化名)正忙于分析新产品的市场表现。面对传统自助式BI工具,李晨在功能界面中手动设置各种查询条件,进行了一番复杂的拖拉拽操作&#…...
基于SpringBoot+Vue+MySQL的考编论坛网站
系统展示 用户前台界面 管理员后台界面 系统背景 在当前信息化高速发展的时代,考编已成为众多求职者的重要选择。然而,备考过程中信息获取、经验交流及资源分享的需求日益凸显。基于SpringBoot、Vue.js与MySQL构建的考编论坛网站应运而生,旨在…...
SpringSecurity剖析
1、SpringSecurity 入门 1.1、简介 Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它是用于保护基于Spring的应用程序的实际标准。Spring Security是一个框架,致力于为Java应用程序提供身份验证和授权。与所有Spring项目一样,Sp…...
一文搞懂 Flink Graph 构建过程源码
一文搞懂 Flink Graph 构建过程 1. StreamGraph构建过程1.1 transform(): 构建的核心1.2 transformOneInputTransform1.3 构造顶点1.4 构造边1.5 transformSource1.6 transformPartition1.7 transformSink 1. StreamGraph构建过程 链接: 一文搞懂 Flink 其他重要源码点击我 e…...
【spring】IDEA 新建一个spring boot 项目
参考新建项目-sprintboot 选择版本、依赖,我选了一堆 maven会重新下载一次么?...
LeetCode[简单] 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 思路:类似与二分查找 唯一需要注意的是,搜索…...
(代码可运行)Bootstrap框架的HTML示例
Bootstrap:一套流行的前端开发框架,基于HTML、CSS和JavaScript,适用于快速构建响应式Web应用。 以下是一个使用Bootstrap构建的简单响应式Web应用的HTML示例: <!DOCTYPE html> <html lang"en"> <head&…...
IntelliJ IDEA 2024创建Java项目
一、前言 本文将带领大家手把手创建纯Java项目,不涉及Maven。如有问题,欢迎大家在评论区指正说明! 二、环境准备 名称版本jdk1.8idea2024 1.4操作系统win10 jdk的安装教程 idea的安装教程 三、创建项目 首先我们点击新建项目 然后我们…...
Python之 条件与循环(Python‘s Conditions and loops)
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…...
C++学习,多态纯虚函数
多态字面意思是多种形态,当类之间存在层次结构,并且类之间是通过继承时,就会用到多态。多态允许通过基类指针或引用来调用派生类中的成员函数。这种机制允许函数,在运行时根据对象的实际类型来确定执行哪个函数,从而实…...
飞速(FS)与西门子联合打造交换机自动化灌装测试生产线
2024年9月,备受信赖的信息通信技术(ICT)解决方案提供商飞速(FS)与工业自动化领域的领先企业西门子公司正式宣布,双方共同打造的ILTP(智能灌装测试平台)和自动化生产线将正式启动。此…...
Vue组合式API:setup()函数
1、什么是组合式API Vue 3.0 中新增了组合式 API 的功能,它是一组附加的、基于函数的 API,可以更加灵活地组织组件代码。通过组合式 API 可以使用函数而不是声明选项的方式来编写 Vue 组件。因此,使用组合式 API 可以将组件代码编写为多个函…...
Redis底层数据结构(详细篇)
Redis底层数据结构 一、常见数据结构的底层数据结构1、动态字符串SDS(Simple Dynamic String)组成 2、IntSet组成如何保证动态如何确保有序呢? 底层如何查找的呢? 3、Dict(dictionary)3.1组成3.2 扩容3.3 收缩3.4 rehash 4、ZipList连锁更新问题总结特…...
树和二叉树基本术语、性质
总结二叉树的度、树高、结点数等属性之间的关系(通过王道书 5.2.3 课后小题来复习“二叉 树的性质”) 树的相关知识 叶子结点的度0 层次默认从1开始 有些题目从0 开始也不要奇怪 常见考点1:结点数总度数+1 常见考点2࿱…...
FEDERATED引擎
入门 MySQL引擎主要有以下几种: MyISAM:这是MySQL 5.5.5之前的默认存储引擎,不支持事务、外键约束和聚簇索引,适用于读多写少的场景。InnoDB:这是MySQL 5.5.5之后的默认存储引擎,支持事务、外键约束、行级…...
Android NDK工具
Android NDK工具 Android NDK Crash 日志抓取及定位 NDK-STACK 定位 NDK Crash 位置 只要执行如下代码就行: adb logcat | ndk-stack -sym /yourProjectPath/obj/local/armeabi-v7aPS: 必须是带symbols的so,也就是在’\app\src\main\obj\local\下面的…...
使用 Docker 进入容器并运行命令的详细指南
Docker 是一款开源的容器化平台,它可以将应用程序和依赖环境打包到一个可移植的“容器”中,以保证应用不受运行环境的影响。使用 Docker 容器化应用后,有时需要进入容器内部执行一些命令进行调试或管理。 一、Docker 基础命令 在开始进入容…...
仅需6GB显存!GPT-SoVITS部署指南:低成本实现高质量语音合成
仅需6GB显存!GPT-SoVITS部署指南:低成本实现高质量语音合成 1. 项目介绍与核心优势 GPT-SoVITS 是一个革命性的开源语音合成工具,它巧妙结合了GPT的语言生成能力和SoVITS的语音转换技术。这个项目最大的亮点在于,它能够用极少的…...
用51单片机+普中开发板DIY一个抢答器,从Proteus仿真到实物烧录全流程记录
从零打造51单片机抢答器:普中开发板实战全记录 第一次接触单片机项目时,我盯着闪烁的LED灯兴奋了整整半小时——那种"让机器听我指挥"的成就感,至今记忆犹新。这次要挑战的是更实用的抢答器制作,不仅涉及编程逻辑&#…...
OpenClaw日志分析技巧:GLM-4.7-Flash任务执行问题定位
OpenClaw日志分析技巧:GLM-4.7-Flash任务执行问题定位 1. 为什么需要关注OpenClaw日志 上周我在尝试用GLM-4.7-Flash模型自动处理一批技术文档时,遇到了一个诡异现象:任务明明显示执行成功,但最终输出文件却是空的。这个经历让我…...
【Squoosh CLI】谷歌开源命令行图片批量压缩工具实战指南
1. 为什么你需要Squoosh CLI? 每次打开设计稿文件夹看到几十张未压缩的图片时,我都忍不住头皮发麻。作为前端开发,我经历过太多因为图片体积过大导致的页面加载缓慢问题。直到发现了谷歌开源的Squoosh CLI工具,这个命令行神器彻底…...
别再只用欧氏距离了!用Python+NumPy实战马氏距离异常检测(附卡方分布阈值设定)
用Python实战马氏距离异常检测:从理论到工业级实现 在数据分析领域,距离度量是许多算法的基石。当数据维度升高且特征间存在相关性时,传统的欧氏距离就像用一把没有刻度的尺子测量复杂空间——它无法捕捉变量间的相互作用。想象一下金融交易监…...
终极指南:如何用SlopeCraft在5分钟内创建惊艳的Minecraft立体地图画
终极指南:如何用SlopeCraft在5分钟内创建惊艳的Minecraft立体地图画 【免费下载链接】SlopeCraft Map Pixel Art Generator for Minecraft 项目地址: https://gitcode.com/gh_mirrors/sl/SlopeCraft 你是否梦想过将现实世界的照片、艺术作品甚至个人照片转化…...
OpenClaw安全加固:Qwen3.5-4B-Claude操作权限精细化控制
OpenClaw安全加固:Qwen3.5-4B-Claude操作权限精细化控制 1. 为什么需要权限控制? 上周我在调试OpenClaw自动化脚本时,差点酿成一场"灾难"——AI助手误将我的工作文档识别为临时文件,准备执行删除操作。幸亏当时设置了…...
OpenClaw安全防护:限制Qwen3.5-4B-Claude的文件访问范围
OpenClaw安全防护:限制Qwen3.5-4B-Claude的文件访问范围 1. 为什么需要限制文件访问范围 上周我在调试一个OpenClaw自动化任务时,差点酿成大错。当时我让Qwen3.5-4B模型帮我整理项目文档,结果它"聪明"地扫描了整个用户目录&#…...
内存暴涨却查无踪迹?Python对象生命周期管理的7个致命盲区,现在不看明天宕机!
第一章:Python智能体内存管理的核心原理Python智能体(如基于LangChain、LlamaIndex构建的Agent)在运行过程中并非仅依赖语言模型推理,其内存管理机制直接决定状态持久性、上下文感知能力与多轮交互一致性。核心在于Python对象生命…...
音频处理必备:5分钟搞懂IIR和FIR滤波器的区别与应用场景
音频处理必备:5分钟搞懂IIR和FIR滤波器的区别与应用场景 在音乐制作和音频工程领域,滤波器是塑造声音的核心工具之一。无论是调整均衡、消除噪声还是创造特殊音效,都离不开对IIR和FIR这两类滤波器的深入理解。许多刚入门的音频工程师常常困惑…...
