linux服务器上的blast比对(my version:ncbi-blast-2.8.1+)

一:安装blast

1. 下载blast:

$wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.9.0+-x64-linux.tar.gz

2. 解压: 

$tar zxvf ncbi-blast-2.6.0+-x64-linux.tar.gz

3. 将blast添加进环境

$vim ~/.bashrc

$export PATH=/data1/spider/ytbiosoft/ncbi-blast-2.8.1+/bin:$PATH (不加的话就全路径调用)

4. 调用.bashrc

source  ~/.bashrc

blast安装完成,可以blastn -version查看你的版本。

二:建database

确保安装好了本地blast之后,下载想要的序列建库(以下以nr,nt建库为例).

1. 建库:

核酸

$nohup makeblastdb -in nt -input_type fasta -dbtype nucl -parse_seqids -out nt -logfile nt.log &     建议挂后台

蛋白序列

$nohup makeblastdb -in nr -input_type fasta -dbtype prot -parse_seqids -out nr -logfile nr.log &    建议挂后台

2. 比对

$blastx -query *.fasta -db nr -out out.file.name

$blastn -query *.fasta -db nt -out out.file.name

一些比对的参数:


-query <File_In>    需要比对的序列

-db <String>    建立好的数据库名

-out <File_Out>    输出文件的名字

-evalue <Real>    evalue值(默认10)

-outfmt <String>【6=Tabular,11= BLAST archive (ASN.1)】  输出文件格式【一般选6或11】

-num_threads  线程数


输出的文件形式也可以选择其他:

##用diamond建库比对更快(只限于比对蛋白数据库)

$diamond makedb --in nr.fa -d nr

$diamond blastx -d nr -q *.fasta -o out.file.name

3. 查看输出结果(我输出的是11,asn格式)

4. 如果你输出6的话如下:

会生成12列的tabular格式文件,每一列代表的是啥如下:

 1. qseqid query (e.g., gene) sequence id

 2. sseqid subject (e.g., reference genome) sequence id

 3. pident percentage of identical matches

 4. length alignment length

 5. mismatch number of mismatches

 6. gapopen number of gap openings

 7. qstart start of alignment in query

 8. qend end of alignment in query

 9. sstart start of alignment in subject

 10. send end of alignment in subject

 11. evalue expect value

 12. bitscore bit score

5. 最后你可以把你想要的那一列或几列提取出来:

$cat file.name |awk '{print $n}' > new.file.name    [$n: 你需要那列n就是几]

6. 你也可以对生成的文件按第4列长度排序:

$cat file.name |sort -n -r -k4 > new.file.name.sort  [k4:代表第四列alignment length]  

最后欢迎联系我互相交流,我也是学习。909474045@qq.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容