使用blast建立数据库并提取相关序列

2023-07-14  本文已影响0人  惊鸿影
1. 安装blast
conda install -c bioconda blast

2. BLAST数据库的构建

#蛋白质数据库:
makeblastdb -in name.pep.fasta  -parse_seqids -hash_index  -out name.db -dbtype prot  #-out 指定数据库位置和名字
#核酸数据库:
makeblastdb -in name.cds.fasta  -parse_seqids -hash_index  -out name.db -dbtype nucl    
#一般带上-parse_seqids -hash_index 

3. 运行blast

blastp -query yourfasta.fa -db name.db -out blast_out
#-out后面为输出的文件名。可以指定输出格式,如在命令后加上 -outfmt ' 6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send qseq sseq evalue bitscore'  就是以blast6格式输出引号中的字段,这些字段都是可选的,如果只想获得blast的序列ID,则只加上-outfmt ' 6 sseqid' 

从上一步中获得的blast结果的list,blast结果文件中只能提取比对上的相同字段,不能提取blast数据库中对应的整个蛋白序列,需要使用ID list来提取对应的序列,可以使用seqkit来进行提取

seqkit grep -f ID.list name.db > blast.pep
# -f 有ID列表的文件,name.db为你的数据库名字
上一篇下一篇

猜你喜欢

热点阅读