转录组比对番外篇:aligner 与 mapping 区别
## 导读考虑到在转录组比对时,有许多软件可以使用,但很少有介绍它们之间的差别。因此,本文主要介绍 **`STAR`, `KALLISTO`, `SALMON`** 之间的区别。
## 1. 定义
- `STAR` 是 `aligner`
- `Kallisto/salmon` 是 `mapping`
## 2. aligner vs. mapping
那么 `aligner` 与 `mapping`的[区别](https://www.biostars.org/p/180986/#180993 "difference")是什么呢?
### 2.1. aligner
当我们比对一个 `read` 时,我们不仅要询问它可能在基因组中的位置,还要询问碱基与碱基的确切对应关系。例如,我们想要得到类似这样的信息,“read `foo` 可能起源于 chr1 位置 123 到 140。前 7 个碱基是 `foo` 和参考之间的精确匹配,然后是 3 个碱基插入,然后其余碱基匹配 `foo` 和参考。”
### 2.2. mapping
当我们 `mapping` 一个 `read` 时,我们只是在问,“它是从哪里来的?”不过,我们不一定关心 `read` 与其来源之间的对齐情况。
直到最近,`alignment` 和 `mapping` 几乎是同义词。像 `Kallisto` 和 `Salmon` 这样的工具改变了这一点,因为它们可以将 `reads` 分配给基因/特征/任何东西,而无需查看精确的比对。由于这更快并且我们实际上通常不关心对齐结果,这在某些应用程序中是一个巨大的优势。
## 3. 区别
### 3.1. STAR
(https://www.biostars.org/p/400009/#400017 "difference2") 是一款 `aligner`。它的工作是找出每个测序读数在基因组中的位置,这就是(主要)它输出的内容 - 读数列表及其在基因组上的坐标(以 `BAM` 文件的形式)。它非常关心每个碱基正确的位置。
为了进行表达分析,您需要将这些位置转换为基因表达值。有几种方法可以做到这一点,但最简单的就是计算来自基因组中与每个基因重叠的位置的读数的数量(执行此操作的程序示例是 `featureCounts`)。另一种方法是使用统计模型将读数分配给可能的转录本(其中多个转录本可能在基因组上重叠)。执行此操作的程序示例是 `RSEM`。
### 3.2. Kallisto&Salmon
`Kallisto` 和 `Salmon` 都是定量工具 —它们采用包含测序读数的文件并输出基因表达水平。当然,找出这些 reads 在转录组中的来源是这个过程的第一步。在找到后,他们使用统计模型将其转化为转录表达水平,考虑 `reads` 来自哪个转录本。
看起来 `Kallisto` 和 `Salmon` 做得更多,所以他们应该花更长的时间,但事实并非如此——事实证明他们要快得多。这一代工具最初是基于,即如果你正在量化基因,你会更关心读数可能来自的转录本集,而不是它在转录本/基因组中的精确位置。他们以不同的方式做到这一点——`Kallisto` 使用“伪对齐”,而最新版本的 `Salmon` 使用一种叫做“选择性对齐”的东西,它介于 `STAR` 和 `Kallisto` 之间(据我所知),尽管旧版本称为 `quasi-alignment`。
## 4. 优缺点
1. 与 `STAR` + 单独定量相比,`Kallisto` 和 `Salmon` 更快且内存占用更少。
2. 它们提供转录水平的表达信息(其中 `STAR` + 计数仅提供基因水平,尽管 `STAR + RSEM` 提供转录)。
3. 处理读取映射到多个转录本或基因的情况。
4. 通常 `Salmon` 和 `Kallisto` 只绘制转录组(细胞产生的转录物序列)而不是基因组。
页:
[1]