生物信息学分析-blast序列比对及结果详细说明

1. 软件说明

Blast是一种基于序列比对的分析工具,可以用于寻找生物序列之间的同源性,它的全称是Basic Local Alignment Search Tool。

Blast有多种版本和用途,最常见的是基于Web的Blast和本地安装的Blast程序。Web版Blast可以直接在NCBI网站上使用,而本地安装的Blast程序需要下载和安装在计算机上。

Blast的使用流程一般为输入一个查询序列,与数据库中的序列进行比对,输出比对结果。

2. 软件下载

这里使用linux版本,直接下载二进制的程序,注意如有报错,请按报错配置好gcc等依赖环境即可(一般是gcc版本问题)。

这里是对应工具的介绍页面,可直接使用页面提交比对任务

 BLAST: Basic Local Alignment Search Tool

下载链接:

https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.14.1+-x64-linux.tar.gz

解压安装:

###解压
tar -xzvf ncbi-blast-2.14.1+-x64-linux.tar.gz
###进入解压目录
cd ncbi-blast-2.14.1+
###查看解压目录内的文件,感兴趣的就读一下README吧。
ls
[root@vmgmt ncbi-blast-2.14.1+]# ls
bin  BLAST_PRIVACY  ChangeLog  doc  LICENSE  ncbi_package_info  README

###可直接使用的文件在bin目录下
cd bin
###查看目录下的文件
ls
[root@vmgmt bin]# ls
blastdb_aliastool  blast_formatter      blastn_vdb     blastx                      deltablast             legacy_blast.pl  makeprofiledb  rpstblastn  tblastn_vdb        windowmasker
blastdbcheck       blast_formatter_vdb  blastp         cleanup-blastdb-volumes.py  dustmasker             makeblastdb      psiblast       segmasker   tblastx
blastdbcmd         blastn               blast_vdb_cmd  convert2blastmask           get_species_taxids.sh  makembindex      rpsblast       tblastn     update_blastdb.pl

###上面目录的文件默认已经可以直接执行,未配置未系统目录时需要加上指定命令的路径
#如:
./blastn -help
[root@vmgmt bin]# ./blastn -help
USAGE
  blastn [-h] [-help] [-import_search_strategy filename]
    [-export_search_strategy filename] [-task task_name] [-db database_name]
    [-dbsize num_letters] [-gilist filename] [-seqidlist filename]
    [-negative_gilist filename] [-negative_seqidlist filename]
    [-taxids taxids] [-negative_taxids taxids] [-taxidlist filename]
    [-negative_taxidlist filename] [-entrez_query entrez_query]
    [-db_soft_mask filtering_algorithm] [-db_hard_mask filtering_algorithm]
    [-subject subject_input_file] [-subject_loc range] [-query input_file]
    [-out output_file] [-evalue evalue] [-word_size int_value]
    [-gapopen open_penalty] [-gapextend extend_penalty]
    [-perc_identity float_value] [-qcov_hsp_perc float_value]
    [-max_hsps int_value] [-xdrop_ungap float_value] [-xdrop_gap float_value]
    [-xdrop_gap_final float_value] [-searchsp int_value] [-penalty penalty]
    [-reward reward] [-no_greedy] [-min_raw_gapped_score int_value]
    [-template_type type] [-template_length int_value] [-dust DUST_options]
    [-filtering_db filtering_database]
    [-window_masker_taxid window_masker_taxid]
    [-window_masker_db window_masker_db] [-soft_masking soft_masking]
    [-ungapped] [-culling_limit int_value] [-best_hit_overhang float_value]
    [-best_hit_score_edge float_value] [-subject_besthit]
    [-window_size int_value] [-off_diagonal_range int_value]
    [-use_index boolean] [-index_name string] [-lcase_masking]
    [-query_loc range] [-strand strand] [-parse_deflines] [-outfmt format]
    [-show_gis] [-num_descriptions int_value] [-num_alignments int_value]
    [-line_length line_length] [-html] [-sorthits sort_hits]
    [-sorthsps sort_hsps] [-max_target_seqs num_sequences]
    [-num_threads int_value] [-mt_mode int_value] [-remote] [-version]

DESCRIPTION
   Nucleotide-Nucleotide BLAST 2.14.1+

Use '-help' to print detailed descriptions of command line arguments
========================================================================

###如果想直接使用的话注意将本目录加入到profile环境中去(推荐,),或者将本目录下的所有命令复制到/usr/bin下(不建议)
vim /etc/profile.d/blast.sh
##前面的/opt根目录请根据自己的实际路径修改
export PATH="/opt/ncbi-blast-2.14.1+/bin":$PATH  

###配置环境路径生效
source /etc/profile.d/blast.sh
#或
source /etc/profile

#直接运行命令测试
blastn -h

使用方法

###基于基于核酸序列-参考核酸序列的比对功能
blastn -db database -query input.fasta -out output -outfmt 6
### db 后面接比对的数据库, query后面接核酸序列,out接想要输出的文件名,outfmt输出格式,6表示表格输出,如下:
-outfmt 
     alignment view options:
     0 = pairwise,
     1 = query-anchored showing identities,
     2 = query-anchored no identities,
     3 = flat query-anchored, show identities,
     4 = flat query-anchored, no identities,
     5 = XML Blast output,
     6 = tabular,
     7 = tabular with comment lines,
     8 = Text ASN.1,
     9 = Binary ASN.1
    10 = Comma-separated values

###这个序列比对速度有点慢,建议多核跑加上threads参数, outfmt是大家通用的表格格式,使用6,7都不错。
###输出后看表格头部,大致字段表示如下:

outfmt,格式6输出(无表头,适合文件合并拼接处理)结果如下,没有表头,需要表头说明的采用7输出,从第一列到最后一列解释分别如下:

1、Query id:查询序列ID标识

2、Subject id:比对上的目标序列ID标识

3、% identity:序列比对的一致性百分比

4、alignment length:符合比对的比对区域的长度

5、mismatches:比对区域的错配数

6、gap openings:比对区域的gap数目

7、q. start:比对区域在查询序列(Query id)上的起始位点

8、q. end:比对区域在查询序列(Query id)上的终止位点

9、s. start:比对区域在目标序列(Subject id)上的起始位点

10、s. end:比对区域在目标序列(Subject id)上的终止位点

11、e-value:比对结果的期望值

12、bit score:比对结果的bit score值

一般情况我们看第3、11、12两列,e值越小越可靠

其他blastx,blastp等使用方式基本一致,但需要注意对比的数据库和比对序列是核酸还是蛋白序列。

blastp         基于蛋白序列-参考蛋白序列的比对功能

blastx         基于核酸序列-参考蛋白序列的比对功能

3. 参考数据库构建

这里以NCBI官网的nr数据库为例,大家根据需要下载对应参考库或者自己收集自定义的参考序列库,保持fasta格式即可

下载数据库: 

ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/

建议用ftp下载,文件有点大,需要比较长的时间。

有条件的配置Aspera进行传输,速度比ftp要快很多。

构建数据库,时间消耗与fasta文件大小相关,nr完整文件建库需要时间较长,一般半年左右更新一次即可:

# 构建参考数据库
makeblastdb -in nr.fa -dbtype nucl -out nrdb
# in        参考数据库fasta序列文件,可以加入自己已经注释的序列库,只要是fasta格式就行
# dbtype    接序列类型nucl表示核酸序列,prot表示蛋白序列
# out       输出数据库的名称,也就是后面blast命令后面的 db参数后接的数据库名

4. 其他工具对比说明

blast系列工具一般速度比较慢,一般用于小的样品序列和小的参考序列库进行对比,不适合大量序列的比对,需要大量序列比对的可参考本人博客 diamond 快速比对工具,速度最大加速20000倍。

diamond的使用方法与blast基本相近,输出格式及表头字段完全一致。

diamond大基因序列快速比对工具使用详解-包含超算集群多节点计算使用方法-CSDN博客

你可能感兴趣的:(生信分析-bioinfo,数据分析,生信分析,blast,序列比对)