BLAST: basic local alignment search tool。包括:blastn, blastp, blastx, tblastn, tblastx
BLAST 基本步骤
- 准备数据库:makeblastdb
- 选择blast工具:包括blastn, blastp等
- 运行得到结果,对输出进行修饰
Blast工具类型:
Blast 术语 terminology
- Query: 检索的序列
- Target:需要比对的数据集合,数据库。
- Subject:how we refer to an entry that matches.
- Score:比对的得分
- E-value:期望值阈值。1.E值适合与有一定长度,且复杂度不能太低的序列。2. 当E值小于10-5时,表明序列有较高的同源性,而非因计算错误。3.当e值小于10-6表明两序列的同源性非常高,几乎没有必要再做确认。
建库
以水稻cds数据为例,搜索拟南芥REV的同源基因
### 下载水稻cds和pep数据
wget ftp://ftp.ensemblgenomes.org/pub/plants/release-39/fasta/oryza_sativa/cds/Oryza_sativa.IRGSP-1.0.cds.all.fa.gz
ftp://ftp.ensemblgenomes.org/pub/plants/release-39/fasta/oryza_sativa/pep/Oryza_sativa.IRGSP-1.0.pep.all.fa.gz
gunzip *.gz
### 建库
makeblastdb -in Oryza_sativa.IRGSP-1.0.cds.all.fa -dbtype nucl -out oriza.cds.fa
makeblastdb -in Oryza_sativa.IRGSP-1.0.pep.all.fa -dbtype prot -out oriza.pep.fa
### bio_handbook示例
esearch -db protein -query PRJNA257197|efetch -format=fasta >index/all-protein.fa
makeblastdb -in all-protein.fa -dbtype nucl -parse_seqids
blastdbcmd -db all-protein.fa -entry 'all' -outfmt '%a' |les
检索比对
BLAST 常用命令:
-
task命令: 指不同的检索算法,目的为适应某些特殊的序列(短序列等)其中blastn包括以下task:
-
blastn
:更为宽松的检索,find more divergent sequences -
megablast
:较为严格的检索,此为blastn的默认检索算法,find less divergent sequences -
blastn-short
:对短序列进行的检索
-
-
db
:数据库位置 -
query
:检索的文件 -
out
:输出的文件 -
evalue
:期望值阈值1e-5 -
perc_identity
:根据相似度对输出结果过滤 -
remote
:远程NCBI的数据库 ,需-db nr -
query_loc
:检索的位置 -
outfmt
:输出的数据格式,常用的为6,7- qaccver: 检索序列的ac号
- saccver: 目标序列的ac号
- pident:完全匹配百分比
- length:联配的长度
- mismatch:错配数目
- gapopen:gap的数目
- qstart:检索序列的起始
- sstart:目标序列起始
- send:目标序列起始
- evalue:期望值
- bitscore:BIT得分
- score:原始得分
### 检索
blastn -db oriza.cds.fa -query ath_REV.fa -outfmt 7 ###无检索结果
blastn -task blastn -db oriza.cds.fa -query ath_REV.fa -outfmt 7 ###较为宽松,结果很多。
### 指定输出格式 pident 为identity值
blastn -task blastn -db oriza.cds.fa -query ath_REV.fa -outfmt "6 qseqid sseqid pident"
## 书中按照identity值进行排序
blastn -task blastn -db oriza.cds.fa -query ath_REV.fa -outfmt "6 qseqid sseqid pident" | sort -k3 -rn |head 5
- 对于低复杂度的序列(low complexity,重复序列较多),加上参数-dust no
- 序列联配,两两比对加参数-subject
efectch -id NC_001133 -db nucleotide -format fasta > NC_001133.fa
blastn -query start.fa -subject NC_001133.fa
其它的一些BLAST-like的程序
- Diamond快速blast
- RAPSearch2:A memory-efficient implementation of RAPSearch algorithm for protein similarity search with a large database and a large queryset.
一些diamond命令
###建库
diamond makedb --in nr.faa -d nr
##比对
diamond blastp -d nr -q reads.fa -o align.txt -f 6
快速是会以准确性为代价的,尚不知道diamond的准确度有多好?
网友评论