单细胞分析实录(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的细胞通讯分析及可视化 (上篇)
细胞通讯分析可以给我们一些细胞类群之间相互调控/交流的信息,这种细胞之间的调控主要是通过受配体结合,传递信号来实现的.不同的分化.疾病过程,可能存在特异的细胞通讯关系,因此阐明这些通讯关系至关重要. ...
随机推荐
- 解读 authentication.py
""" Provides various authentication policies. """ import base64 import ...
- RSA简单实践
RSA公钥文件解密密文的原理分析 前言 最近在学习 RSA 加解密过程中遇到一个这样的难题:假设已知 publickey 公钥文件和加密后的密文 flag ,如何对其密文进行解密,转换成明文~~ 分析 ...
- jQuery笔记(一)
day01 - jQuery 学习目标: 能够说出什么是 jQuery 能够说出 jQuery 的优点 能够简单使用 jQuery 能够说出 DOM 对象和 jQuery 对象的区别 能够写出常用的 ...
- MySQL(14)---Docker搭建MySQL主从复制(一主一从)
Docker搭建MySQL主从复制(一主一从) 上一篇博客写了MYSQL主从复制原理 : MySQL(13)---MYSQL主从复制原理 这篇我们来写 Docker搭建MYSQL主从复制(一主一从) ...
- 第 2 篇 Scrum 冲刺博客
一.站立式会议 1.站立式会议照片 2.昨天已完成的工作 ①大部分同学成功用java连接数据库 ②前端和后台的成员成功讨论并了解具体需求 3.今天计划完成的工作 ①帮助不会的同学连接数据库 ②登录识别 ...
- SpringMVC拦截html页面访问
在 web.xml 配置文件 原本的前端控制器后面加一个 servlet-mapping 即可简单解决 虽能解决 html 访问的问题,但不清楚是否对后面的操作产生何种影响 <servlet&g ...
- sudo rm -rf /*含义
sudo ----- 管理员权限 rm ------ remove 移除 rf ------ recursive递归 force强制 /* ------ 目录下所有文档
- 【Electron Playground 系列】窗口篇
作者:Kurosaki 本文主要讲解Electron 窗口的 API 和一些在开发之中遇到的问题. 官方文档 虽然比较全面,但是要想开发一个商用级别的桌面应用必须对整个 Electron API 有 ...
- html 05-HTML标签图文详解(二)
05-HTML标签图文详解(二) #本文主要内容 列表标签:<ul>.<ol>.<dl> 表格标签:<table> 框架标签及内嵌框架<ifram ...
- css进阶 04-如何让一个元素水平垂直居中?
04-如何让一个元素水平垂直居中? #前言 老板的手机收到一个红包,为什么红包没居中? 如何让一个子元素在父容器里水平垂直居中?这个问题必考,在实战开发中,也应用得非常多. 你也许能顺手写出好几种实现 ...