查看原文
其他

scRNA-seq数据处理—Kallisto

温柔的坚果绷带 单细胞天地 2022-06-06

书籍翻译




的书籍是人类进步的阶梯,但有些人却找不到优秀的阶梯,为此我们开设了书籍翻译这个栏目,作为你学习之路的指路明灯;分享国内外优秀书籍,弘扬分享精神,做一个知识的传播者。


希望大家能有所收获!


目录

引言—关于课程

scRNA-seq简介

scRNA-seq原始数据的质控

scRNA-seq数据处理—文件格式小结

scRNA-seq数据处理—demultiplexing

scRNA-seq数据的处理—STAR




处理原始scRNA-seq数据

3.6

Kallisto和伪比对


STAR是reads比对器,而Kallisto是伪比对器(Bray等人,2016)。比对器和伪比对器之间的主要区别在于,比对器将reads映射到参考,而伪比对器将k-mers映射到参考。


3.6.1 什么是K-mer?


k-mers是从reads得到的长度为k的序列。例如,假设我们读取序列为ATCCCGGGTTAT,我们想从中制作7-mer。为此,我们将通过计算读数的前七个碱基找到第一个7-mer。移动一个碱基后,我们会找到第二个7-mer,然后计算接下来的七个碱基。图2显示了可以从我们的阅读中得到的所有7-mers:


3.6.2 为什么要比对k-mers而不是reads?


主要有两个原因:

  1. 伪比对器使用k-mers和计算技巧来比传统的比对器更快地进行伪比对。如果您对如何实现这一点感兴趣,请参阅(Bray et al。,2017)了解详情。

  2. 在某些情况下,伪比对器可能比传统的比对器更好地应对测序错误。例如,假设在上面的read的第一个碱基中存在测序错误,并且A实际上是T,将影响伪比对器比对第一个7-mers而不是剩下的7-mers。


3.6.3 Kallisto的伪模式


Kallisto有一个专门设计的模式,用于从单细胞RNA-seq实验中进行伪比对reads。与STAR不同,Kallisto与参考转录组而不是参考基因组比对。这意味着Kallisto将reads比对到剪接isoform而不是基因。由于以下原因,对单细胞RNA-seq,将read比对到isoform而不是基因是有挑战性的:

  • 单细胞RNA-seq的覆盖率低于bulk RNA-seq,这意味着可以从读取中获得的信息总量减少。

  • 许多单细胞RNA-seq方案具有3'覆盖偏向,这意味着如果两种isoform仅在它们的5'末端不同,则可能无法确定哪种isoform来自read。

  • 一些单细胞RNA-seq protocol具有较短的reads长度,这也意味着不可能计算出来哪种isoform来自read。

Kallisto的伪模式采用略微不同的伪比对方法。Kallisto不是与isoform比对,而是与等价类(equivalence classes)比对。本质上,这意味着如果read比对到多个isoform,Kallisto将read记录为比对到一个包含所有此read比对到的isoform的等价类。不是在下游分析中使用基因或isoform表达估计,例如聚类,而是可以使用等价类计数。下图显示了一个有助于解释这一点的图表。

今天我们将只对一个细胞执行伪比对,但Kallisto还能够同时伪对齐多个细胞并使用来自UMI的信息。有关详细信息,请参阅https://pachterlab.github.io/kallisto/manual

对于STAR,您需要在伪比对步骤之前为Kallisto生成索引。

任务6:使用以下命令生成Kallisto索引。使用Kallisto手册(https://pachterlab.github.io/kallisto/manual)找出此命令中的选项。

mkdir indices/Kallisto
kallisto index -i indices/Kallisto/transcripts.idx Share/2000_reference.transcripts.fa

任务7:使用Kallisto手册确定用于执行伪比对的命令。你认为你知道答案,检查它是否与下一节中的解决方案匹配并执行伪比对。


3.6.4 Kallisto伪比对的解决方案


使用以下命令执行伪比对

mkdir results/Kallisto
kallisto pseudo -i indices/Kallisto/transcripts.idx -o results/Kallisto -b batch.txt

有关创建batch.txt的说明,请参阅https://pachterlab.github.io/kallisto/manual,如果遇到问题,请咨询教师。


3.6.5 了解Kallisto伪比对的输出


上面的命令应该产生4个文件 - matrix.cells,matrix.ec,matrix.tsv和run_info.json。

  • matrix.cells包含一个细胞ID列表。由于我们只使用了一个细胞,因此该文件应该只包含“ERR522959”

  • matrix.ec包含有关所用等价类的信息。每行中的第一个数字是等价类ID。第二个数字对应于该等价类中的转录本ID。例如,“10 1,2,3”意味着等价类10包含转录本ID 1,2和3。ID号对应于转录本在reference.transcripts.fa中出现的顺序。这里零索引被使用,意味着转录本ID 1,2和3对应于2000_reference.transcripts.fa中的第二,第三和第四转录本。

  • matrix.tsv包含有关每个等价类的每个细胞比对中的reads数量的信息。第一个数字是等价类ID,如matrix.ec中所定义。第二个数字是细胞ID,其中细胞ID对应于细胞在matrix.cells文件中的顺序。第三个数字是属于该等价类的reads数量。例如,“5 1 3”表示3个reads从细胞1比对到等价类5。注意,这里用了零索引,因此单元格1对应于matrix.cells的第二行。

  • run_info.json包含有关Kallisto如何执行的信息,可以忽略。



结直肠癌细胞异质性大揭秘!

探秘乳腺癌病人异质性

单细胞转录组分析综述

多靶点自体免疫细胞技术
使用单细胞多组学探索TNBC病人的新辅助化疗疗效

探索EMT的中间态

单细胞转录组探索CRC的异质性


如果你对单细胞转录组研究感兴趣,但又不知道如何入门,也许你可以关注一下下面的课程

单细胞天地欢迎你

单细胞天地

生信技能树


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存