使用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
##如有侵权,请告知删除##
##如有错误,欢迎指正##
领取专属 10元无门槛券
私享最新 技术干货