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
使用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
自建索引文件
建立索引需要输入为序列的fasta文件,可以是蛋白或者核酸,输出索引带前缀名称,最终生成比对索引数据库。
- in 输入文件(test.fa)
- dbtype 选择类型,蛋白或者核酸(prot、nucl)
- out 输出索引文件
makeblastdb -in test.fa -dbtype nucl -out ./test
共有 0 条评论