linux BLAST序列比对
安装本地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.12.0+-x64-linux.tar.gz
wget https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.12.0+-x64-linux.tar.gz.md5
md5sum -c ncbi-blast-2.12.0+-x64-linux.tar.gz.md5
tar -zxvf ncbi-blast-2.12.0+-x64-linux.tar.gz
#加入到环境变量
export PATH=$PATH:$PWD/ncbi-blast-2.11.0+/bin
source ~/.bashrc
一、 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
image
image
使用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
二、通过blast在基因组中找相似序列
1. 建立比对数据库
makeblastdb -in cavia.fa -dbtype nucl -parse_seqids -out caviaDatabase
2. blast比对
blastn -query hsa_MT.fasta -out query.align -db caviaDatabase -outfmt 6 -subject_besthit -num_threads 4
3. 比对结果如下
image格式说明:
Query id, Subject id, % identity, alignment length, mismatches, gap openings, q. start, q. end, s. start, s. end, e-value, bit score
转载来自:
作者:生信汪 链接:https://www.jianshu.com/p/03ef69ef0d79
作者:像鸟一样飞过你的高山 链接:https://www.jianshu.com/p/471a4fbcdd48