单细胞分析实录(1): 认识Cell Hashing
这是一个新系列
差不多是一年以前,我定导后没多久,接手了读研后的第一个课题。合作方是医院,和我对接的是一名博一的医学生,最开始两边的老师很排斥常规的单细胞文章思路,即各大类细胞分群、注释、描述,所以起初的几个月都在摸索一条主线,再后来有主线了,要加实验验证,周期有点长。我这边的分析基本做完。读研生活还在继续,我也不能太在意这一个课题,尽管有些时候我也很着急,尽管我在这个课题上花了很多时间。整理分析流程是个好习惯,最大的受益者还是自己,所以接下来我打算把我在处理单细胞转录组过程中,学到的用到的所有技能以这样的形式写出来,估计有二三十篇吧~
我想先从Cell Hashing这样一种改良的单细胞测序技术开始
1. CITE-seq

事实上Cell Hashing是在CITE-seq的基础上改进的,CITE-seq全称cellular indexing of transcriptomes and epitopes by sequencing,是一种同时对细胞内RNA和细胞表面蛋白进行测序的技术。

测序原理如上图,将特定的抗体连上一段序列,序列上包含与抗体信息对应的antibody barcode,像右上方表格一样,还包含一段ploy-A。该抗体复合物和细胞共培养后,细胞表面就会连上一些抗体,某种蛋白分子越多,连上的抗体就会越多。过流式之后,裂解细胞,断开二硫键,此时细胞内的RNA和抗体复合物来源的序列都会连到磁珠上,像右下图那样,这两种类型的序列长度不同,可以分开建库,调整核酸浓度,以确保两者都有合适的测序深度。

所以这样一种技术,除了提供转录组的信息,还提供了部分蛋白的信息。正如作者所说,多模态数据应用得越来越多。
支持cite-seq的R包去年看的时候,我知道有Seurat和CiteFuse,CiteFuse今年发表在Bioinformatics。
2. Cell Hashing
Cell Hashing和CITE-seq的测序原理基本一样,只是换了一个应用场景。它解决的问题是:如何将不同样本的细胞混起来测序(便宜),测完了还能区分哪个细胞来源于哪个样本,这样做也减少了批次效应。

标题里面提到了doublet检测仅针对来源于两个样本的doublet,不是指不同cell type的doublet。

背景中提到了另一种解决这类问题的方案就是提供样本的遗传多态性信息(单细胞数据比对后也能得到部分信息,和已知的样本信息比较,就能知道细胞来源于哪个样本了),当然这个信息不那么容易获取。

如图,不同的样本有不同的antibody barcode。

实验过程如上图,在选择抗体时,尽量选择普适的抗体,比如CD45,免疫细胞都表达。是用一种还是多种无所谓(原文用了4种,CD45, CD98, CD44, and CD11a),只要保证antibody barcode与样本对应即可。

原文提供了针对cell hashing数据的拆分方法,这是对应的两个图。B图中的一个点和C图中的一列表示一个液滴(或者理解为一个cellular barcode)。正常情况下,一个液滴里面只有一个细胞,那么对应的样本tag (HTO) 只有一个,也就是只有一个tag有UMI,其他tag的UMI应该为0,不然就是doublet或者空的液滴(negative)。
3. Cell Hashing测序的拆分原理

通常我们在完成测序数据比对后,能得到一个表达矩阵,行为gene列为细胞,而cell hashing的数据,比对后得到的是行为gene+tag,列为细胞。上图给出的tag x cell的一个例子,我们利用的是这个矩阵来判定每个细胞属于哪个样本。
- 第一步是对UMI矩阵标准化,式子里的i表示第几行,n表示样本(tag)的总数;
- 第二步是粗分类,最后一类要么是8个UMI都和高,要么都很小;

- 第三步,假设第9类细胞的tag x cell矩阵每一行都服从负二项分布,根据观测值拟合之后,求0.99分位数,据此来判断某一个值是positive还是negative;
- 第四步,一列一列看,如果只有一个positive,说明是有效的CB,根据较大的HTO归到对应的样本里去;两个或多个positive则是doublet;没有positive则是空液滴。
预告
- 下篇写如何从测序数据得到表达矩阵,普通10X以及cell hashing数据都适用
- 下下篇写cell hashing数据拆分实战,用seurat和citefuse两种方法
因水平有限,有错误的地方,欢迎批评指正!
单细胞分析实录(1): 认识Cell Hashing的更多相关文章
- 单细胞分析实录(2): 使用Cell Ranger得到表达矩阵
Cell Ranger是一个"傻瓜"软件,你只需提供原始的fastq文件,它就会返回feature-barcode表达矩阵.为啥不说是gene-cell,举个例子,cell has ...
- 【代码更新】单细胞分析实录(20): 将多个样本的CNV定位到染色体臂,并画热图
之前写过三篇和CNV相关的帖子,如果你做肿瘤单细胞转录组,大概率看过: 单细胞分析实录(11): inferCNV的基本用法 单细胞分析实录(12): 如何推断肿瘤细胞 单细胞分析实录(13): in ...
- 【代码更新】单细胞分析实录(21): 非负矩阵分解(NMF)的R代码实现,只需两步,啥图都有
1. 起因 之前的代码(单细胞分析实录(17): 非负矩阵分解(NMF)代码演示)没有涉及到python语法,只有4个python命令行,就跟Linux下面的ls grep一样的.然鹅,有几个小伙伴不 ...
- 单细胞分析实录(3): Cell Hashing数据拆分
在之前的文章里,我主要讲了如下两个内容:(1) 认识Cell Hashing:(2): 使用Cell Ranger得到表达矩阵.相信大家已经知道了cell hashing与普通10X转录组的差异,以及 ...
- 单细胞分析实录(5): Seurat标准流程
前面我们已经学习了单细胞转录组分析的:使用Cell Ranger得到表达矩阵和doublet检测,今天我们开始Seurat标准流程的学习.这一部分的内容,网上有很多帖子,基本上都是把Seurat官网P ...
- 单细胞分析实录(4): doublet检测
最近Cell Systems杂志发表了一篇针对现有几种检测单细胞测序doublet的工具的评估文章,系统比较了常见的例如Scrublet.DoubletFinder等工具在检测准确性.计算效率等方面的 ...
- 单细胞分析实录(17): 非负矩阵分解(NMF)代码演示
本次演示使用的数据来自2017年发表于Cell的头颈鳞癌单细胞文章:Single-Cell Transcriptomic Analysis of Primary and Metastatic Tumo ...
- 单细胞分析实录(8): 展示marker基因的4种图形(一)
今天的内容讲讲单细胞文章中经常出现的展示细胞marker的图:tsne/umap图.热图.堆叠小提琴图.气泡图,每个图我都会用两种方法绘制. 使用的数据来自文献:Single-cell transcr ...
- 单细胞分析实录(18): 基于CellPhoneDB的细胞通讯分析及可视化 (上篇)
细胞通讯分析可以给我们一些细胞类群之间相互调控/交流的信息,这种细胞之间的调控主要是通过受配体结合,传递信号来实现的.不同的分化.疾病过程,可能存在特异的细胞通讯关系,因此阐明这些通讯关系至关重要. ...
随机推荐
- jquery on 动态生成绑定事件
$(document).on("mouseenter", ".v6-div-kind-ok", function () { alert();});
- 20200221_python虚拟环境在Windows下安装配置_virtualenv不是内部或外部命令也不是可运行的程序或批处理文件
1. 使用管理员启动命令行; 2. 安装虚拟环境 a) .\pip install virtualenv -i https://pypi.douban.com/simple/ b) ...
- PyQt+moviepy音视频剪辑实战2:一个剪裁视频文件精华内容留存工具的实现
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.引言 ...
- 第15.30节 PyQt编程实战:通过eventFilter监视QScrollArea的widget()的Paint消息画出scrollAreaWidgetContents的范围矩形
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 在<PyQt(Python+Qt)学习随笔:QScrollArea滚动区域详解> ...
- 第11.15节 Python正则表达式转义符定义的特殊序列
一. 引言 在前面<第11.13节 Python正则表达式的转义符"\"功能介绍>介绍了正则表达式转义符'\',只不过当时作为转义符主要是用于在正则表达式中表示元字符自 ...
- 问题:PyCharm调试方法Force run to cursor与run to cursor的区别
Force run to cursor与run to cursor的差别是,后者在执行到光标的代码行前,如果有代码中设置了断点,会在该断点处暂停,等待进一步调试指令,而Force run to cur ...
- PyQt(Python+Qt)学习随笔:布局控件layoutStretch属性
在Qt Designer中布局控件有4个,分别是Vertical Layout(垂直布局).Horizontal Layout(水平布局).Grid Layout(网格布局).Form Layout( ...
- Panda 交易所热点关注:股权交易中心+区块链试点将开始
近期,Panda 交易所注意到,中国证监会已同意北京.上海等5家区域性股权市场参与区块链建设试点工作.Panda 交易所获悉的具体情况是,北京股权交易中心曾联合其他单位共同推出区域性股权市场中介机构征 ...
- CSP-S 初赛最后的复习
2020CSP-S 模拟赛1 3.一个圆形水池中等概率随机分布着四只鸭子,那么存在一条直径,使得鸭子全在直径一侧的概率是(). A.\(\frac 1{16}\) B.\(\frac 1{8}\) C ...
- 五、git学习之——分支管理策略、Bug分支、feature分支、多人协作
一.分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生 ...