linux BLAST序列比对 (nt/nr库)

安装本地blast序列比对软件,我们可以搜索一个查询序列定制数据库,例如想研究一个新测序的基因组,或者感兴趣的一组蛋白质序列。有时我们希望把程序插入到一个流程中,例如搜索一个大量的查询序列,例如你的测序数据含有大量的污染片段,你想知道这些片段比对到了什么物种。

blast软件安装

从NCBI下载安装包https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/。下载2.11.0 linux版本,下载并解压,解压之后BLAST就安装好了。用户需要设置环境变量,目的是为了告诉系统在那里可以找到安装好的BLAST软件。

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

md5sum -c ncbi-blast-2.11.0+-x64-linux.tar.gz.md5
tar -zxvf ncbi-blast-2.11.0+-x64-linux.tar.gz
#加入到环境变量
export PATH=$PATH:$PWD/ncbi-blast-2.11.0+/bin

nt/nr fasta下载

从NCBI(ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/
)下载nt、nr fasta文件。

wget ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nt.gz
wget ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nr.gz
wget ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nt.gz.md5
wget ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nr.gz.md5
md5sum -c nt.gz.md5
md5sum -c nr.gz.md5
tar -xzvf nr.gz
tar -xzvf nt.gz

mkdir nr_db
mkdir nt_db
makeblastdb -in nr -dbtype prot -title make_nr -parse_seqids -out ./nr_db/nr -logfile make_nr.log
makeblastdb -in nt -dbtype nucl -title make_nt -parse_seqids -out ./nt_db/nt -logfile make_nt.log

或者使用NCBI处理好的db。
wget -c ftp://ftp.ncbi.nlm.nih.gov/blast/db/nt*
wget -c ftp://ftp.ncbi.nlm.nih.gov/blast/db/nr*

序列比对

  • blastp:蛋白序列与蛋白库作比对,直接比对蛋白序列的同源性。
  • blastx:核酸序列与蛋白库作比对,将核酸序列先翻译成蛋白序列,再将其与蛋白库作比对。
    -blastn:核酸序列与核酸库的比对,直接比对核酸序列的同源性。
  • tblastn:蛋白序列对核算库的比对,现将核酸库翻译成蛋白库,再将蛋白序列与翻译后的蛋白库进行比对。
  • tblastx:核酸与核酸数据库在蛋白质水平比较

如果是fastq先转为fasta序列格式在进行比对,比对结果如下图1所示。将相同序列复制到NCBI网站进行比对,如下图2,两种结果最前面的比对条目基本一致。

awk '{if(NR%4 == 1){print ">" substr($0, 2)}}{if(NR%4 == 2){print}}' test.fastq > test.fasta
blastn -query test.fasta -out test.result -db ./nt_db/nt 
图1 本地blast比对结果
图2 NCBI blast比对结果

使用NCBI网站下载的db进行比对。

wget -c ftp://ftp.ncbi.nlm.nih.gov/blast/db/nr*

for i in `ls nt_db_NCBI/*gz`do;tar -zxvf $i;done
## 输出一条最优比对结果
blastn -query test1.fa -out test1.align -db ./nt_db_NCBI/nt -outfmt 6 -subject_besthit -num_threads 4

你可能感兴趣的:(linux BLAST序列比对 (nt/nr库))