前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >scRNA-seq数据处理—Kallisto

scRNA-seq数据处理—Kallisto

作者头像
生信技能树jimmy
发布2020-03-27 17:40:16
1.3K0
发布2020-03-27 17:40:16
举报
文章被收录于专栏:单细胞天地单细胞天地
书籍翻译

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

希望大家能有所收获!

目录

⊙引言—关于课程

⊙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)找出此命令中的选项。

代码语言:javascript
复制
mkdir indices/Kallisto
kallisto index -i indices/Kallisto/transcripts.idx Share/2000_reference.transcripts.fa

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

3.6.4 Kallisto伪比对的解决方案

使用以下命令执行伪比对

代码语言:javascript
复制
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如何执行的信息,可以忽略。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 单细胞天地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档