2013-06-21 34 views
2

我目前正在編寫一個使用Blast的-outfmt 10選項的庫,該選項爲您提供CSV而不是可讀的人類可讀格式。從blast數據庫名稱獲取fasta源文件

tblastn -db dmel_a -query somequery.faa -outfmt 10 

的問題是,我要訪問數據庫的源文件,所以我可以處理後提取一些序列。我知道如何做到這一點的唯一方法是使用刪除-outfmt 10並運行兩次。然後我分析了這行的人可讀輸出:

Database: Source.fas 

但是,如果在makeblastdb創建數據庫時未指定title的是,纔有效。無論如何,outfmt 10stitle似乎是fasta標題行。我不能只查找數據庫名稱,然後輸入.fna, .fas, .faa,因爲您可以將數據庫命名爲與源文件不同的名稱。

是否有另一種方法從blast數據庫名稱中提取fasta源文件?我在outfmt選項列表中看不到一個。還是我今天失明瞭?

+1

這個問題最好問這裏:http://www.biostars.org/ - 哪裏更可能得到答案。 – PhiS

+0

謝謝。我去做 – Nate

回答

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