1、背景:
下载Uniprot数据库中的蛋白质序列到本机,使用该文件创建BLAST的搜索数据库,然后使用blastp命令在数据库中搜索。
2、错误
按照blast手册上的指导,为了加快搜索的过程,使用mask文件。从Uniprot下载的序列文件sequences.fasta,内容如:
>sid1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>sid2
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.................................................................
1)创建mask文件:
segmasker -in sequences.fasta -infmt fasta -outfmt maskingfo_asnl_bin \
-out refsequences.asnb -parse_seqids
2) 创建数据库
makeblastdb -in sequences.fasta -input_type fasta -dbtype prot -out uniprot \
-title "Uniprot" -parse_seqids
3) 序列比对
blastp -db uniprot -query input.fasta -out output.txt -outfmt 7
结果报错:BLAST Database error: Error pre-fetching sequences data
3、解决方法
在创建mask文件和创建数据库时不使用parse_seqids。
segmasker -in sequences.fasta -infmt fasta -o

博客讲述了在使用Uniprot数据库进行BLAST搜索时遇到的错误——Error pre-fetching sequences data。作者按照blast手册创建mask文件和数据库,但在使用blastp命令时遇到问题。通过排除法发现,错误可能出现在创建数据库时使用了非必要参数parse_seqids。移除该参数后,blastp能正常运行并获取比对结果。解决方案是简化创建数据库的命令,不包含parse_seqids选项。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



