Prologue
BLAST: Basic Local Alignment Search Tool
BLASTn:核酸序列比對(duì)核酸數(shù)據(jù)庫(kù)
BLASTx:核酸序列比對(duì)蛋白數(shù)據(jù)庫(kù)
BLASTp:蛋白序列比對(duì)蛋白數(shù)據(jù)庫(kù)
建庫(kù)并比對(duì)
1.一對(duì)一(一條序列比對(duì)一個(gè)庫(kù))
建庫(kù):
$ makeblastdb -in yourdbseq.fasta -dbtype nucl/prot -title yourdbname -parse_seqids -out dbname -logfile
[此命令輸入完成后,獲得6個(gè)文件,其擴(kuò)展名分別是.nhr/ .nin/ .nog/ .nsd/ .nsi/ nsq和兩個(gè)日志文件,其中一個(gè)擴(kuò)展名為.perf,0kb]
比對(duì):
blastn -query seq.fasta -db dbname -out align.txt -outfmt 6 -evalue 1e-5 -perc_identity 80(1-100) -num_threads 2(線程數(shù),筆記本設(shè)了2)
[此命令完成后,輸出一個(gè)指定格式的比對(duì)后的文件]
2.一對(duì)多,多對(duì)一,多對(duì)多
命令都是一樣的,只是前期需要把多條序列整合到一個(gè)fasta文件中。
Windows:type *.txt/fasta >> new.txt/fasta
Linux: cat *.fasta > merge.fasta
3.合并已建好的庫(kù)
已經(jīng)構(gòu)建好兩個(gè)單獨(dú)的庫(kù),db1和db3,分別由一條序列建的庫(kù)和三條序列建的庫(kù)。
$ blastdb_aliastool -dblist "db1 db3" -dbtype nucl -out db4 -title "4_seq"
生成新文件為 db4.nal
再進(jìn)行比對(duì)看一下:
[此處圖片上傳失敗。。]
可以看到,db1和db3合并在了一起,并且,每個(gè)庫(kù)所構(gòu)建時(shí)用了什么序列都可以清楚看到,還注意到的一點(diǎn)是,雖然兩個(gè)庫(kù)里有相同的序列,但是在合并庫(kù)文件時(shí)并不會(huì)將相同序列合并。