学习
实践
活动
专区
工具
TVP
写文章
专栏首页单细胞天地单细胞分析十八般武艺9:DoubletFinder

单细胞分析十八般武艺9:DoubletFinder

Doublets及其形成的原因

单细胞测序期望每个barcode标签下只有一个真实的细胞,但是实际数据中会有两个或多个细胞共用一个barcode的情况,业内称之为doublets或multiplets(后面统称为doublets)。Doublets形成的原因主要是高通量单细胞测序一般使用液滴微流控(droplet microfluidic)或纳米孔(nanowell)技术,细胞被液滴或纳米孔捕获的概率遵循泊松分布规律,doublets填充液滴的概率会随着输入细胞浓度升高而增加。此外,使用磁珠分选细胞,操作不当也会增加doublets形成的概率。

10X genomics单细胞平台的dulblets比率

CellRanger可以检测doublets吗?

10X genomics在官网对此问题进行过回复,大意如下:

CellRanger目前并不支持单物种样本doublets的检测,对于混合物种的样本(例如人和小鼠细胞1:1混合)可以根据基因组比对情况识别同时包含两个物种细胞的doublets(multiplets),也就是说cellranger检测doublets的能力聊胜于无。

10X genomics公司目前也没有官方推荐的dedoublets方法,但是官网的技术支持给出了三点建议:

  1. 看细胞内是不是有多种不应该在一起的marker基因,例如一个“细胞”或cluster中同时表达T细胞和B细胞的marker基因。
  2. 看“细胞”或cluster的基因数和UMI数是否异常,通常来说doublets会有更高的基因数和UMI数。
  3. 使用DoubletFinder之类的软件分析doublets。需要注意的是,dedoublets还没有权威方法,这些方法可能会过滤一些真正的单细胞。
原文链接:https://kb.10xgenomics.com/hc/en-us/articles/360001074271-Does-Cell-Ranger-automatically-exclude-doublets-

综上所述:按目前8000 cells/样本的普遍上样量,doublets的问题确实值得重视。

DoubletFinder简介

分析原理

依据单细胞表达矩阵建立的低维空间中,表达特征相似的细胞彼此之间距离更近。DoubletFinder生成人工模拟的doublets,并将他们掺入原始单细胞表达数据,原则上人工模拟的doublets会与真实的doublets距离较近。因此计算每个细胞K最近邻细胞中人工模拟doublets的比例(pANN),就可以根据pANN值对每个barcode的doublets概率进行排序。另外依据泊松分布的统计原理可以计算每个样本中doublets的数量,结合之前的细胞pANN值排序,就可以过滤doublets了。需要注意的是DoubletFinder对相同细胞类型构成的doublets不敏感,因为这些细胞在表达特征上与真实的单细胞没有明显的差异。

分析流程

DoubletFinder工作流程示意图

实际分析中主要有以下四步:

  1. 使用单细胞数据创建seurat对象,并进行数据标准化、降维,最好进行聚类和细胞类型鉴定;
  2. 使用BCmvn(均值-方差标准化双峰系数)寻找计算pANN的最优pK值;
  3. 根据泊松分布统计原理估计样本中doublets的数量,并排除DoubletFinder不能检出的同源doublets,得到优化后的预估doublets数量;
  4. 使用前两步得到的参数运行函数鉴定doublets数据。

软件安装

remotes::install_github('chris-mcginnis-ucsf/DoubletFinder')

10X PBMC数据实测

测试数据来源于10x genomics官网的示例数据集。

数据下载链接:https://cf.10xgenomics.com/samples/cell-exp/3.0.2/5k_pbmc_v3_nextgem/5k_pbmc_v3_nextgem_filtered_feature_bc_matrix.h5

保存文件名:pbmc.h5

deDoulblets代码

以下代码使用SCT标准化方法,如果使用log标准化,把所有函数中的sct参数设置为 sct = F 即可。

library(DoubletFinder)
library(tidyverse)
library(Seurat)
library(patchwork)
rm(list=ls())

dir.create("DoulbletFinder")
setwd("DoulbletFinder")

## 下载数据并预处理
pbmc <- Read10X_h5("pbmc.h5")
pbmc <- CreateSeuratObject(pbmc, min.cells = 3, min.features = 200)
pbmc <- SCTransform(pbmc)
pbmc <- RunPCA(pbmc, verbose = F)
ElbowPlot(pbmc)
pc.num=1:15
pbmc <- RunUMAP(pbmc, dims=pc.num)
pbmc <- FindNeighbors(pbmc, dims = pc.num) %>% FindClusters(resolution = 0.3)

## 寻找最优pK值
sweep.res.list <- paramSweep_v3(pbmc, PCs = pc.num, sct = T)
sweep.stats <- summarizeSweep(sweep.res.list, GT = FALSE)  
bcmvn <- find.pK(sweep.stats)
pK_bcmvn <- bcmvn$pK[which.max(bcmvn$BCmetric)] %>% as.character() %>% as.numeric()

## 排除不能检出的同源doublets,优化期望的doublets数量
DoubletRate = 0.039                     # 5000细胞对应的doublets rate是3.9%
homotypic.prop <- modelHomotypic(pbmc$seurat_clusters)   # 最好提供celltype
nExp_poi <- round(DoubletRate*ncol(pbmc)) 
nExp_poi.adj <- round(nExp_poi*(1-homotypic.prop))

## 使用确定好的参数鉴定doublets
pbmc <- doubletFinder_v3(pbmc, PCs = pc.num, pN = 0.25, pK = pK_bcmvn, 
                         nExp = nExp_poi.adj, reuse.pANN = F, sct = T)
                         
## 结果展示,分类结果在pbmc@meta.data中
DimPlot(pbmc2, reduction = "umap", group.by = "DF.classifications_0.25_0.3_171")

对比《单细胞分析十八般武艺8:Garnett》中使用Gernett分类器鉴定的结果(下图),我发现一个有意思的现象:DoubletFinder识别的doublets与Garnett定义为Unknown的类型有一些是重合的。

交流探讨:如果您阅读此文有所疑惑,或有不同见解,亦或其他问题,可以点击阅读原文联系探讨。

文章分享自微信公众号:
单细胞天地

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

原始发表时间:2021-04-28
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 单细胞分析十八般武艺11:xCell

    单细胞初级8讲和高级分析8讲 单细胞分析十八般武艺1:harmony 单细胞分析十八般武艺2:LIGER 单细胞分析十八般武艺3:fastMNN 单细胞分析十八...

    生信技能树jimmy
  • 单细胞分析十八般武艺:NMF

    非负矩阵分解(Non-negative Matrix Factorization, NMF)本质上说是一种矩阵分解的方法,对于任意给定的一个非负矩阵V,NMF算...

    生信技能树jimmy
  • 单细胞分析十八般武艺2:LIGER

    LIGER能够跨个体、物种和方法(基因表达、表观遗传或空间数据)识别共有的细胞类型,以及数据集特有的特征,提供对不同单细胞数据集的统一分析。

    生信技能树jimmy
  • 单细胞分析十八般武艺4:velocyto

    单细胞初级8讲和高级分析8讲 单细胞分析十八般武艺1:harmony 单细胞分析十八般武艺2:LIGER 单细胞分析十八般武艺3:fastMNN

    生信技能树jimmy
  • 单细胞分析十八般武艺7:CellChat

    单细胞初级8讲和高级分析8讲 单细胞分析十八般武艺1:harmony 单细胞分析十八般武艺2:LIGER 单细胞分析十八般武艺3:fastMNN 单细胞分析十八...

    生信技能树jimmy
  • 单细胞分析十八般武艺8:Garnett

    单细胞初级8讲和高级分析8讲 单细胞分析十八般武艺1:harmony 单细胞分析十八般武艺2:LIGER 单细胞分析十八般武艺3:fastMNN 单细胞分析十八...

    生信技能树jimmy
  • 单细胞分析十八般武艺3:fastMNN

    单细胞初级8讲和高级分析8讲 单细胞分析十八般武艺1:harmony 单细胞分析十八般武艺2:LIGER 重温seurat官方教程

    生信技能树jimmy
  • 单细胞分析十八般武艺1:harmony

    Harmony需要输入低维空间的坐标值(embedding),一般使用PCA的降维结果。Harmony导入PCA的降维数据后,会采用soft k-means c...

    生信技能树jimmy
  • 单细胞分析十八般武艺6:NicheNet

    单细胞初级8讲和高级分析8讲 单细胞分析十八般武艺1:harmony 单细胞分析十八般武艺2:LIGER 单细胞分析十八般武艺3:fastMNN 单细胞分析十八...

    生信技能树jimmy
  • 单细胞分析十八般武艺5:monocle3

    单细胞初级8讲和高级分析8讲 单细胞分析十八般武艺1:harmony 单细胞分析十八般武艺2:LIGER 单细胞分析十八般武艺3:fastMNN 单细胞分析十八...

    生信技能树jimmy
  • 单细胞代码解析-妇科癌症单细胞转录组及染色质可及性分析3

    单细胞代码解析-妇科癌症单细胞转录组及染色质可及性分析1:https://cloud.tencent.com/developer/article/2055573

    小胡子刺猬的生信学习123
  • 单细胞预测Doublets软件包汇总|过渡态细胞是真的吗?

    对于高通量方法,在细胞捕获效率和doublets比例之间存在折中,通常的做法是以1-5%的doublets为目标(Ziegenhain et al., 2017...

    生信宝典
  • OSCA单细胞数据分析笔记9—Clustering

    “物以类聚,人以群分” 分群步骤即将基因表达(降维结果)相似的细胞归为同一个群体,往往对应一种特定的细胞类型或者细胞轨迹状态。从这一步开始,就可以开始叙述我们的...

    生信技能树jimmy
  • R语言之双细胞检测工具DoubletFinder

    双细胞的定义是一个液滴或一个微孔中包含了2个或多个细胞 。根据Poisson分布,单个液滴包含超过一个细胞(doublets或multiplets)的频率随着上...

    一粒沙
  • 单细胞转录组测序数据质控

    总的来说,单细胞转录组体现异质性(个体),Bulk转录组体现平均程度(总体)。因此Bulk转录组不能区分一个样本中的不同细胞类型。

    生信交流平台
  • 单细胞代码解析-妇科癌症单细胞转录组及染色质可及性分析9

    单细胞代码解析-妇科癌症单细胞转录组及染色质可及性分析1:https://cloud.tencent.com/developer/article/2055573

    小胡子刺猬的生信学习123
  • sanger和broad研究所的单细胞教程哪个好

    有意思的是收到了不少批评意见,说咱们中国大陆也有很多优秀的高校单位,也做了很多生物信息学方面的知识整理工作,我就呵呵了。

    生信技能树jimmy
  • 单细胞分析揭示葡萄膜黑色素瘤新的进化复杂性

    每个人的时间精力有限,必须优先阅读相关文献,开设这个栏目也是希望为大家推荐高质量的单细胞相关文献。如果大家对单细胞转录组感兴趣可以关注一下,哪怕每天只学一点点,...

    生信技能树jimmy
  • huARdb:单细胞水平克隆型-转录组分析的人类抗原受体数据库

    人类适应性免疫系统是免疫系统的一个分支,负责特定抗原识别和清除。通过与特定抗原的相互作用,适应性免疫系统被激活,并可以存储针对目标抗原的长期免疫记忆。因此,具有...

    生信技能树jimmy

扫码关注腾讯云开发者

领取腾讯云代金券