我目前正在编写一个使用Blast -outfmt 10
选项的库,它为您提供CSV而不是人类可读的格式。
像
tblastn -db dmel_a -query somequery.faa -outfmt 10
问题是,我想访问db源文件,以便我可以在处理后提取一些序列。我知道如何执行此操作的唯一方法是使用删除-outfmt 10
并运行两次爆炸。然后我解析了人类可读输出的行:
Database: Source.fas
但是,只有在title
中创建数据库时未指定makeblastdb
时才有效。无论如何,stitle
的{{1}}似乎是法塔标题行。我不能只查找数据库名称,然后查找outfmt 10
,因为您可以使用与源文件不同的方式命名数据库。
还有另一种从blast数据库名称中提取fasta源文件的方法吗?我没有在.fna, .fas, .faa
选项列表中看到一个。或者我今天失明了吗?
答案 0 :(得分:0)
找到了一个基于Biostar问题和blasted bioinformatics博客文章的解决方案。如果您的fasta没有完全遵循NCBI命名,则需要Blast + 2.2.28。
创建blast数据库时,请使用-parse_seqids
标志。然后使用blastdbcmd,您可以提取一系列序列
blastdbcmd -db t/blastTest/dmel -range 1-10 -entry some_seq_id