Run A Blast Daemon
3
4
Entering edit mode
13.9 years ago
Science_Robot ★ 1.1k

I want to run my own BLAST daemon to avoid loading my blast db into RAM for every query.

When I google it: I get a page from IBM that is out-of-date and a lot of other pages about Buffy the Vampire Slayer.

Also, there's nothing about it in the NCBI BLAST manual.

blast • 4.0k views
ADD COMMENT
2
Entering edit mode

do you really need a daemon ? as far as I remember, blastall can read a set of sequences from the standard input.

ADD REPLY
2
Entering edit mode

I got the impression that this Blast daemon is a wrapper program written by IBM distributed with their life science oriented database suite. It is probably not supported by NCBI, at least I never heard of any such functionality.

ADD REPLY
1
Entering edit mode

about the query on google: try adding keywords like 'sequence alignment', and '-buffy' '-vampire'.

ADD REPLY
1
Entering edit mode

lol for the '-buffy' '-vampire' bit :)

ADD REPLY
7
Entering edit mode
13.9 years ago

You need to install the database you want locally (either swissprot or nr, for example) and use blastplus to query it repeatedly. You can even use multiple processors here.

I don't believe it needs to be more fancy than this. This way, I can blast 10000 sequences on the swissprot database in a few hours (more like a day or two on 'nr'). Plus, it caches the database once for all blasts. It even keeps it in memory for further blasts if you need to do it in separate batches.

Cheers.

ADD COMMENT
0
Entering edit mode

Yeah that's what I wanted: the keep it in memory part.

ADD REPLY
3
Entering edit mode
13.9 years ago

Blast doesn't keep a copy of the database into memory: that is blat, another alignment program developed by UCSC. Look at the Faq "which is the difference between Blat and Blast?" on UCSC. Even in the case of Blat, it doesn't require so much memory.

ADD COMMENT
0
Entering edit mode

On linux, using the latest version of blastplus, I have found that there is no time wasted for reloading the database when I do a second blast. Maybe I am confusing 'loading the database' and 'loading it in the memory' though.

ADD REPLY
2
Entering edit mode
11.1 years ago
earonesty ▴ 250

Because blast uses memmap, the operating system will cache the DB in RAM for you... as long as you use it enough. That being said, I did write a blast server that's nice for a) always keeping the DB loaded IN RAM, zero overhead when blasting.

ADD COMMENT

Login before adding your answer.

Traffic: 2566 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6