blast比对数据库准备及使用

使用blast系列软件可以轻松的实现序列间的比对等其他操作,软件在行使功能时,主要依赖的是完备的数据库。目前主要分为两大类,一类是NCBI网站ftp可供下载的数据库,这类数据库会实时更新,并且存在相应的索引文件,下载后可以直接使用;第二类数据库是自己创建的数据库,某些情况下,可以使用自己的数据建立数据库,用于特定序列之间的比对等。

NCBI中ftp可供下载的数据库

NCBI网站的ftp上已经上传了多个数据库文件,比如nt、nr以及其他数据库,可以直接下载使用。有以下两种方法:

1. 直接下载

第一种方法是直接去网站下载(),下载后解压即可使用,示例如下:

ftp中每一个文件都会存在一个相应的md5校验文件,下载完毕后需要校验数据完整性,避免在后续建库时出现数据不可用的情况。

由于数据库文件一般较多,可以借助shell或者其他编程语言,通过for循环下载全部数据,同时完成校验、解压缩等操作,减少中间人为处理的时间。

2. 使用脚本下载

第二种方法是使用blast软件自带的脚本(update_blastdb.pl)下载:

脚本有以下几个比较常用的参数,详细介绍如下:

运行命令后会自行下载,但是中间可能会报错,并且重新下载后有时会覆盖掉原来的文件,需要注意。

创建个性化数据库

创建个性化数据库使用的是这个程序,只需要给定fasta格式的数据即可,会自动创建相关的数据库索引文件

常用参数说明:

个性化数据库创建示例:

上述示例中,输入文件为test.fa文件,创建核苷酸数据库,输出数据库的名称为test_out,在输出目录中存在以下文件

创建之后,数据库目录中会包含上述索引文件等其他文件,所有文件均为二进制文件。创建好后,就可以进行比对了。

blastn比对

针对不同的比对,需要选取不同的策略,大致如下:

接下来以blastn为例,对fasta序列进行比对

序列比对

常用参数介绍

短序列比对

对于短序列比对,需要添加-task blastn-short参数,否则比对结果很不准确,绝大多数序列会出现比对不上的情况。

比对结果

所有的比对结果都会储存在*blast.out文件中,对于每一个条目,都会详细显示比对的碱基序列,比对相关结果,如gap、evalue等,示例如下

上述输出结果中,首先指定了使用的blastn版本(BLASTN 2.4.0+),引用文献以及使用的数据库信息,之后Query指定比对的序列名称,紧跟的是所有比对到的条目及其score和evalue信息。接下来是比对序列与每一个条目比对的详细信息,包括匹配到数据库中条目信息(">"之后的信息,包括染色体等,信息的多少与构建数据库时使用的输入文件有关)、序列、evalue值(Expect)、质量值(Score)、gap情况(Gaps)、一致性情况(Identities)以及比对链信息(Strand)等。

参考内容

ftp://ftp.ncbi.nlm.nih.gov/pub/factsheets/HowTo_BLASTGuide.pdf

##如有侵权,请告知删除##

##如有错误,欢迎指正##

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190220G19CLX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券