Nature Protocols | 转录组快速定量,kb-python,适用于批量、单细胞和单核RNA-seq,一套工具全搞定

RNA 测序(RNA-seq)实验的预处理步骤包括将读数映射到参考基因组或转录组,随后进行基因表达或转录本丰度定量。
本文介绍了一个新的软件包:kb-python,它封装了 kallisto 和 bustools,能够对涉及对来自批量组织、单细胞或单核的 RNA 种类进行快速定量分析。
方案简单介绍
kb-python 可以从参考基因组中提取参考转录组,并以适合每种检测类型的最佳工作流程运行 kallisto 和 bustools。它将 kallisto 和 bustools 的运行简化到只需两个步骤:
• kb ref 用于从带注释的参考基因组生成 kallisto 索引
• kb count 用于映射和定量
因此,kallisto、bustools 和 kb-python 使 RNA-seq 预处理过程高效、模块化、灵活且简便。
应用场景
本方案介绍了 kallisto、bustools 和 kb-python 在批量、单细胞和单核 RNA-seq 数据集上的应用。此外,这套工具还有其他应用场景,包括基于正交条形码的序列普查检测分析(如 CITE-seq)、经过 minimap2 比对和后续峰检测后的单核 ATAC-seq 和多组学检测分析、单细胞中病毒序列的检测等。
局限性
由于 kallisto 是一种伪比对工具,它能非常高效地对读数进行定量,但不进行全基因组比对。因此,它不适用于涉及新剪接位点发现或基因组基因间区域比对可视化的使用场景。在这类情况下,STAR 等基因组比对工具更为合适。本方案介绍了 kallisto 在短读长测序数据中的应用,尚未在长读长测序数据集上进行全面测试。
实验设计
构建索引
对于 RNA-seq 读数映射,kallisto 从一组被称为目标序列的序列中构建 “索引”,这些目标序列代表 RNA-seq 读数可映射到的序列集合。
在标准分析中,这些目标序列通常是转录本序列(即每个单独的目标序列对应一个转录本)。但更广泛地说,用户可以从任何他们希望将测序读数映射到的序列集合中定义目标序列。
kb-python 通过 “kb ref” 命令构建 kallisto 索引(见下图)。可以通过 --workflow 参数指定要构建的索引类型:
• --workflow=standard,创建适用于批量和单细胞 RNA-seq 定量的索引,该索引仅基于 cDNA 序列构建(此处 cDNA 的使用遵循 Ensembl 的定义,即成熟转录本的序列,其中内含子通常已被切除)。
• --workflow=nac,创建的索引同时包含 cDNA(即成熟转录本)和新生转录本。新生转录本序列包含完整的基因(外显子和内含子)。这种 nac 索引适用于单核 RNA-seq,因为基于细胞核的测序检测中会捕获到大量未成熟转录本。此外,对于需要联合建模新生和成熟 RNA 种类的分析,也应使用这种 nac 索引。
• --workflow=custom,如果用户希望对自定义的目标序列集合或 k-mer 集合建立索引,可以使用 custom 方式,它将从包含目标序列的 FASTA 文件中构建索引。
对于标准索引和 nac 索引类型,用户需提供基因组 FASTA 和 GTF 注释,kb-python 将利用这些数据提取相关序列。而 custom 类型索引只需要提供目标 FASTA 文件就可以了。
映射与定量
kb-python 中的 “kb count” 命令可实现批量、单细胞和单核 RNA-seq 读数的映射和定量(见下图)。由于不同的测序检测具有不同的读数结构、链特异性、配对性和条形码,必须提供生成测序读数的技术规格。
将单细胞输出加载到下游工具
要将定量结果加载到 scanpy 中进行 Python 下游处理,需要创建一个 anndata 对象。用户可以将计数矩阵导入 anndata 对象,或运行 kb count 时使用 “--h5ad” 选项直接生成 anndata 对象。用户也可以通过运行 kb count 时使用 “--loom” 选项直接创建 loom 文件。
对于 R 中的下游处理,可以将定量结果加载到 Seurat 中。此外,在 R 中,还可以创建 Bioconductor SingleCellExperiment 对象,用于 scran 和 scater 等单细胞分析 R 包。
数据可用性
所处理的小鼠肝脏组织批量 RNA-seq 数据集可通过基因表达综合数据库(Gene Expression Omnibus)登录号 GSM1931645(SRR 登录号:SRR2927738)公开获取。单细胞小鼠神经元 RNA-seq 数据集(neuron_1k_v3_fastqs)可从 10x Genomics 数据下载页面获取:https://support.10xgenomics.com/single-cell-gene-expression/datasets。
代码可用性
kallisto 软件可在https://github.com/pachterlab/kallisto获取。bustools 软件可在https://github.com/BUStools/bustools获取。kb-python 软件可在https://github.com/pachterlab/kb_python获取。本方案中的代码已经过同行评审。
推荐阅读
中国银河生信云平台(UseGalaxy.cn)致力于零代码生信分析。平台拥有海量计算资源、3000 多个生信工具和数十条生信流程,并且为用户提供 200G 免费存储空间。我们还为进阶用户提供高质量课程培训:
更多推荐


所有评论(0)