哈佛大学单细胞课程|笔记汇总 (二)

devtools/2024/9/25 8:32:15/

哈佛大学单细胞课程|笔记汇总 (一)

(二)Single-cell RNA-seq data - raw data to count matrix

根据所用文库制备方法的不同,RNA序列(也被称为readstag)将从转录本((10X GenomicsCEL-seq2Drop-seqinDrops)的3'端(或5'端)或全长转录本(Smart-seq)中获得。

图片

Image credit: Papalexi E and Satija R. Single-cell RNA sequencing to explore immune cell heterogeneity, Nature Reviews Immunology 2018 (https://doi.org/10.1038/nri.2017.76)

不同测序方式的优点

3’(或5’)末端测序

  • 通过使用UMI进行更准确的定量,从而将生物学重复与扩增重复(PCR)区别开来;

  • 测序的细胞数量更多,可以更好地鉴定细胞类型群;

  • 每个细胞成本更低;

  • 大于10,000个细胞的结果最佳

全长测序

  • 检测亚型水平(isoform-level)表达差异;

  • 鉴定等位基因特异性差异表达;

  • 对较少数量的细胞进行更深的测序;

  • 最适用于细胞数少的样品。

我们将主要介绍3’端测序,重点是基于液滴的方法 (inDropsDrop-seq10X Genomics)。

3’-end reads (includes all droplet-based methods)

在3’端测序中,同一转录本的不同reads片段仅会源自转录本的3’端,相同序列的可能性很高,同时在建库过程中的PCR步骤可能导致reads的重复,因此为了区分是生物学还是技术上的重复,我们使用唯一标识符(unique molecular identifiers,UMI)进行标注。

  • 比对到相同的转录本、UMI不同的reads来源于不同的分子,为正常生物转录,每个read都被计数。

  • UMI相同的reads来自同一分子,为技术重复,计为1个read。

  • 上面两条描述是理想情况,方便理解,实际处理起来要复杂一些。

我们以下图为例,下图中分子ACTB的UMI均相同,因此只能记为1个molecule,而ARL1的UMI不同所以可以记为2个molecule

图片

Image credit: modified from Macosko EZ et al. Highly Parallel Genome-wide Expression Profiling of Individual Cells Using Nanoliter Droplets, Cell 2015 (https://doi.org/10.1016/j.cell.2015.05.002)_

在细胞水平进行正确定量都需要以下条件:

  • Sample index: 样本来源

    • Added during library preparation - needs to be documented

  • Cellular barcode: 细胞来源

    • Each library preparation method has a stock of cellular barcodes used during the library preparation

  • Unique molecular identifier (UMI): 转录本来源

    • The UMI will be used to collapse PCR duplicates

  • Sequencing read1: the Read1 sequence

  • Sequencing read2: the Read2 sequence

例如,使用inDrops v3库准备方法时,以下内容是reads的所有信息:

图片

Image credit: Sarah Boswell(https://scholar.harvard.edu/saboswell), Director of the Single Cell Sequencing Core at HMS_

  • R1 (61 bp Read 1): sequence of the read (Red top arrow)

  • R2 (8 bp Index Read 1 (i7)): cellular barcode - which cell read originated from (Purple top arrow)

  • R3 (8 bp Index Read 2 (i5)): sample/library index - which sample read originated from (Red bottom arrow)

  • R4 (14 bp Read 2): read 2 and remaining cellular barcode and UMI - which transcript read originated from (Purple bottom arrow)

对于不同的基于液滴的scRNA-seq方法,scRNA-seq的分析工作流程相似,但是UMI细胞ID样品索引的解析会有所不同。例如,以下是10X序列reads的示意图,其中indexUMIbarcode的位置不同 :

图片

Image credit: Sarah Boswell(https://scholar.harvard.edu/saboswell), Director of the Single Cell Sequencing Core at HMS_

Single-cell RNA-seq workflow

scRNA-seq方法能通过测序的reads解析barcodesUMI,它们在特定步骤里会轻微地不同,但除了方法外,大致流程都是一致的,常规工作流程如下所示:

图片

Image credit: Luecken, MD and Theis, FJ. Current best practices in single‐cell RNA‐seq analysis: a tutorial, Mol Syst Biol 2019 (doi: https://doi.org/10.15252/msb.20188746) 中文解读见:重磅综述:三万字长文读懂单细胞RNA测序分析的最佳实践教程 (原理、代码和评述)

工作流程的步骤是:

  • 生成count矩阵(method-specific steps):

    reads格式化,对样本进行多路分解(demultiplexing,即通过barcodes确定reads的来源),比对和定量。

  • 原始count的质量控制:

    过滤质量较差的细胞。

  • 细胞聚类:

    基于转录活性的相似性对细胞进行聚类(细胞类型数=簇数)?

  • marker识别:

    识别每个cluster的标记基因。

  • 可选的下游步骤。

无论进行那种分析,生物学重复都是必要的!

Generation of count matrix

图片

我们聚焦于基于液滴型的3’端测序(比如inDrops10X GenomicsDrop-seq),将原始测序数据转换为count矩阵。

测序工具将以BCLFASTQ格式输出原始测序数据,或生成count矩阵。如果reads是BCL格式,我们将需要转换为FASTQ格式。有一个有用的命令行工具bcl2fastq,可以轻松执行此转换。

NOTE: We do not demultiplex at this step in the workflow. You may have sequenced 6 samples, but the reads for all samples may be present all in the same BCL or FASTQ file.

对于许多scRNA-seq方法,从原始测序数据中生成count矩阵都将经历相似的步骤。

图片

umis(https://github.com/vals/umis)和`zUMIs`(https://github.com/vals/umis)是命令行工具,可用于估计测转录本3'端的scRNA-seq数据的表达。此过程中的步骤包括:

  1. 格式化reads并过滤嘈杂的细胞barcodes

  2. Demultiplexing the samples(通过barcodes确定reads的来源);

  3. 比对/伪比对到转录本;

  4. 折叠UMI和定量reads。

当然,如果使用10X Genomics建库方法,Cell Ranger pipeline(https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger)将负责执行以上的所有步骤 (10X单细胞测序分析软件:Cell ranger,从拆库到定量)。

格式化reads并过滤非细胞barcodes

FASTQ文件能解析得到细胞barcodes、UMIs和样本barcodes。对于基于液滴型的方法,一些细胞barcodes会对应的低的reads数(< 1000 reads) ,原因是:

  • encapsulation of free floating RNA from dying cells

  • simple cells (RBCs, etc.) expressing few genes

  • cells that failed for some reason 在比对reads之前,需要从序列数据中过滤掉多余的条形码。

    为了进行这种过滤,提取并保存每个细胞的“细胞条形码”和“分子条形码”。

    例如,如果使用“umis”工具,则信息将以以下格式添加到每条reads的标题行中 (NGS基础 - FASTQ格式解释和质量评估):

@HWI-ST808:130:H0B8YADXX:1:1101:2088:2222:CELL_GGTCCA:UMI_CCCT
AGGAAGATGGAGGAGAGAAGGCGGTGAAAGAGACCTGTAAAAAGCCACCGN
+
@@@DDBD>=AFCF+<CAFHDECII:DGGGHGIGGIIIEHGIIIGIIDHII#

建库中使用的细胞条形码应该是已知的,未知的条形码会被丢弃,同时对于已知的细胞条形码允许一定的错配。

Demultiplexing the samples

如果测序多于一个样品执行此步骤,这是一步不由“umis”工具处理,而由“zUMIs”完成的步骤,这步会解析reads以确定与每个与细胞相关的样本条形码。

比对/伪比对到转录

通过传统(STAR)或轻量型(Kallisto/RapMap)方法,将reads比对回基因。

折叠UMI和定量reads

使用KallistofeatureCounts之类的工具仅对唯一的UMI进行量化,得到

图片

Image credit: extracted from Lafzi et al. Tutorial: guidelines for the experimental design of single-cell RNA sequencing studies, Nature Protocols 2018 (https://doi.org/10.1038/s41596-018-0073-y)

矩阵中的每个值代表源自相应基因在各个细胞中的reads数。


http://www.ppmy.cn/devtools/90585.html

相关文章

白骑士的PyCharm教学进阶篇 2.2 高级调试技术

系列目录 上一篇&#xff1a;白骑士的PyCharm教学进阶篇 2.1 高效编码技巧 在Python开发中&#xff0c;调试是一个非常重要的环节。PyCharm作为一款功能强大的IDE&#xff0c;不仅提供了基本的调试功能&#xff0c;还包含了许多高级调试工具与技巧。本篇将详细介绍这些高级调试…

100道C/C++面试题

1. static的作用2. 引用与指针的区别3. .h头文件中的ifndef/define/endif 的作用4 #include<file.h>与#include"file.h"的区别?5 描述实时系统的基本特性6 全局变量和局部变量在内存中是否有区别?如果有&#xff0c;是什么区别?7 什么是平衡二叉树?8 堆栈溢…

【学习笔记】A2X通信的协议(四)- A2X PC5通信(二)

目录 6.1.2.4 A2X PC5单播链接释放程序 6.1.2.4.1 概述 6.1.2.4.2 发起UE启动A2X PC5单播链接释放程序 6.1.2.4.3 目标UE接受的A2X PC5单播链接释放程序 6.1.2.4.4 发起UE完成的A2X PC5单播链接释放程序 6.1.2.4.5 异常情况 6.1.2.4.5.1 发起UE的异常情况 6.1.2.5 A2X …

正则表达式 贪婪与非贪婪匹配

目录 一. 回顾二. 遇到的问题三. 分析四. 解决4.1 转换为非贪婪模式匹配4.2 提高匹配的精度 一. 回顾 我们在正则表达式 分组与非捕获组这篇文章中&#xff0c;有如下分组匹配案例 <select name"fruit_console"><option value"apple" selected&…

对于vue3ref和reactive的学习笔记

1. 对于ref的学习 ref 接受一个内部值并返回一个响应式且可变的 ref 对象。通过这个对象的value属性去操作数据 案例&#xff1a; <script setup lang"ts"> import { ref } from vue const message ref("数据") function change():void {messag…

尚硅谷谷粒商城项目笔记——七、安装rabbitMQ【电脑CPU:AMD】

七、安装rabbitMQ 注意&#xff1a; 因为电脑是AMD芯片&#xff0c;自己知识储备不够&#xff0c;无法保证和课程中用到的环境一样&#xff0c;所以环境都是自己根据适应硬件软件环境重新配置的&#xff0c;这里的虚拟机使用的是VMware。 [!NOTE] 下载RabbitMQ和Erlang的安装…

第10节课:JavaScript基础——网页交互的魔法

目录 JavaScript的作用JavaScript的基本语法基本语法规则变量、数据类型和运算符变量数据类型运算符 实践&#xff1a;使用JavaScript增强网页功能结语 JavaScript是一种高级的、解释型的编程语言&#xff0c;它使得网页能够从静态文档转变为具有动态交互性的应用程序。本节课将…

13.StringRedisTemplete使用

上一篇说到改变了RedisTemplate的默认序列化器后&#xff0c;在redis中存入Java对象后&#xff0c;在redis中的呈现是&#xff1a;会记录类的字节码 这也是代码中可以强制装换为对应的java对象的原因&#xff1a; Test void testStudent() {redisTemplate.opsForValue().set(&q…