Alignment比对
Alignment比对

Alignment比对

比对(Alignment)是生物信息学最最重要的一件事情。几乎所有的分析都离不开“比对”二字。本篇内容将围绕NCBI的在线工具来详细介绍BLAST工具。然后再拓展一些常见的其他比对工具。

BLAST: Basic Local Alignment Search Tool

在NCBI上蛋白与核酸的比对,一共有五种比对:

  • blastn:核酸序列与核酸库的比对,直接比对核酸序列的同源性。
  • blastp:蛋白序列与蛋白库作比对,直接比对蛋白序列的同源性。
  • blastx:核酸序列与蛋白库作比对,将核酸序列先翻译成蛋白序列,再将其与蛋白库作比对。
  • tblastn:蛋白序列与核酸库的比对,将核酸库先翻译成蛋白库,再将蛋白序列与翻译后的蛋白库进行比对。
  • tblastx:核酸序列与核酸库在蛋白质水平比较。

在NCBI的在线网站可以看到:

  • Nucleotide BLAST:核酸序列到核酸库中的一种查询,库中存在的每条已知序列都将同所查序列作一对一的核酸序列比对。
  • Protein BLAST:蛋白序列到蛋白库中的一种查询,库中存在的每条已知序列将逐一地同每条所查序列作一对一的序列比对。
  • BLASTX:核酸序列到蛋白库中的一种查询,先将核酸序列翻译成蛋白序列,再对翻译成的每一条序列作一对一的蛋白序列比对。
  • TBLASTN:蛋白序列到核酸库的一种查询,它是将库中的核酸序列翻译成蛋白质序列,再对所查序列作蛋白与蛋白的比对。

注:核酸翻译成蛋白质时有六种可读框架(因为密码子是三个碱基宽度,两条链都可能翻译)

本地BLAST的使用

NCBI在线的blast工具可能网络不稳定,不能进行大批量数据处理,所以在数据分析时,都会选择是用本地化的方法。
本地化的软件安装和数据库准备这里不做介绍,只介绍blast的结果解读。

比对结果格式有很多(一般使用-outfmt来指定输出格式),但主要的信息内容都是一样的。

  • Query id:查询序列ID标识
  • Subject id:比对上的目标序列ID标识
  • % identity:序列比对的一致性百分比
  • alignment length:符合比对的比对区域的长度
  • mismatches:比对区域的错配数
  • gap openings:比对区域的gap数目
  • q. start:比对区域在查询序列(Query id)上的起始位点
  • q. end:比对区域在查询序列(Query id)上的终止位点
  • s. start:比对区域在目标序列(Subject id)上的起始位点
  • s. end:比对区域在目标序列(Subject id)上的终止位点
  • e-value:比对结果的期望值
  • bit score:比对结果的bit score值

常见的比对结果参数都在这里。
一般比对结果的可靠性我们看% identity(越大越好)、e-value(越小越好)


按照我自己的经验把比对分为两大块,分别是核酸比对到核酸数据库蛋白比对到蛋白数据库。(当然还有上面提到的核酸序列比蛋白库、蛋白序列比核酸库,这两种我不太是用,也就不太清楚,不做过多介绍)
核酸比对又分为DNA-seq、RNA-seq,两种序列。
下面我就按照查询序列分为蛋白序列、DNA序列、RNA序列 三类来介绍几种我常用的比对软件。

蛋白序列比对

蛋白序列比对我常用的 有BLAST MMseqs2 Diamond 三种软件。

BLAST

BLAST上面提到了,是一个全面的比对工具,能快速的与公开数据库进行比对,但运行速度太慢,不适合大型数据处理,作为网页工具使用非常合适。

MMseqs2

MMseqs2是用与大规模的数据集处理。比对速度快(是BLAST的百倍速度)、灵敏度高。还具有序列聚类,功能注释的作用。

Diamond

Diamond软件专精 蛋白序列比对蛋白数据库。应该是目前最快速的蛋白序列比对软件(据说BLAST的万倍速度),而且资源消耗低。

注:额外还有一个Hmmer包的Hmmscan工具,这里就不再介绍,详细可以自行查阅

DNA序列比对

DNA序列比对软件有很多,我这里介绍一些我常用的 :BLAST、BLAT、BWA、Bowtie、Bowtie2

BLAST

BLAST上面提到了,是一个全面的比对工具,能快速的与公开数据库进行比对,但运行速度太慢,不适合大型数据处理,作为网页工具使用非常合适。

BLAT

Blat,全称 The BLAST-Like Alignment Tool,可以称为”类BLAST 比对工具”。
对于DNA序列,BLAT是用来设计寻找95%及以上相似至少40个碱基的序列。
对于蛋白序列,BLAT是用来设计寻找80%及以上相似至少20个氨基酸的序列。
Blat相对于blast,速度更快,而且不需要建库过程,可以输出多种比对格式的比对结果。(直接把数据库索引读入内存,无需访问硬盘,相对的,对内存的要求会更高),共线性输出结果简单易读。

BWA&Bowtie2

BWA和Bowtie2都是短DNA序列比对参考基因组的软件,经常放在一起被比较,我这里也放在一起来介绍。

BWA是一种能够将差异度较小的序列比对到一个较大的参考基因组上的软件包。其中提供了多种算法(bwa mem最为常用),我常用于各种突变分析的流程上。
Bowtie2是一个快速且节约内存的短序列比对工具。在追求速度和内存上要优于BWA。

tips:还有bowtie比对软件,是比bowtie2早的一个软件,适用于50bp以下的短reads比对,效果很好,速度很快。(我现在一般只用于minRNA数据分析使用)

注:还有一种Minimap2软件,是可以进行长序列比对(三代测序reads比对,contig和scaffold比对)。

RNA序列比对

真核生物体内,DNA在转录成mRNA的时候会把内含子部分去掉。所以mRNA反转的cDNA在比对的时候和DNA测序比对是不同的(因为剪切而存在Gap,被称为『junction reads』,),所以RNA-Seq比对软件需要针对此进行优化。
RNA序列比对软件,我这里介绍一些我常用的 :STAR、Hisat2。

STAR

STAR是我使用最多的RNA-seq reads分析的比对工具,通常都是在转录组测序分析中使用。
STAR建立索引时需要参考基因组(genome.fa)、注释文件(genes.gtf)两个必要的输入文件。STAR建立索引时会消耗大量的内存资源,如果资源不够还会有报错的情况,这点需要特别注意。这时候就需要设置limitGenomeGenerateRAM参数来运行。
另外,SATR软件在运行比对时对服务器资源的使用也相对较大。

Hisat2

Hisat2软件和STAR类似都是RNA-seq比对软件,输入文件都是必须要两个:参考基因组(genome.fa)、注释文件(genes.gtf)
Hisat2软件我没有太多的实战经验,所以这里不做过多介绍。


以上都是Alignment(比对)相关的基础理论知识。我们可以总结出:
比对需要三个重要的东西:比对软件(Software)、目标序列(Query id)、比对数据库(Database)。
本片只是简单介绍了这些软件的基础概念。数据库的建立、比对分析的进行则需要实际的经验。
以后将会继续更新Alignment(比对)数据库建立的相关内容。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注