Welcome to the New Seqanswers!

Welcome to the new Seqanswers! We'd love your feedback, please post any you have to this topic: New Seqanswers Feedback.
See more
See less

Keep BLASTdb in memory

  • Filter
  • Time
  • Show
Clear All
new posts

  • Keep BLASTdb in memory

    As I am trying to set up a BLAST server I stumbled across a tiny "problem".

    In the future I will do many tiny blasts of a few sequences at a time from different scripts and such. Is it possible to have a blast in memory waiting for a request? So that it does not need to load the entire blast database in memory every time I perform a simple blast?

  • #2
    Depending on how much RAM is available, database caching already occurs automatically with BLAST. Of course, if there is insufficent RAM, then only a portion of the database is cached in RAM and the rest gets paged out to disc. Also, if the next search uses an alternate database, then the cached one is bumped out (or if any other process on the same machine needs the memory, the cache will be purged).

    Look in the BLAST documentation under memory requirements and there is a section on database caching.

    Also look at how much free RAM you have on that machine after a clean boot, so minimal resources already used. If you do not have substantionally more (say twice or more) RAM then the size of your database, then caching will either not be an option or it will be limited and less than optimally efficient (as other system calls, for example nightly backup or maintenance scripts, may often end up purging your cached database).

    Alternatives would be adding RAM to the machine, setting up a RAM disc just for the database(s), or buying a solid state drive large enough for just the database(s).
    Last edited by mbblack; 11-27-2012, 05:58 AM.
    Michael Black, Ph.D.
    ScitoVation LLC. RTP, N.C.


    • #3
      have you cached the db into memory?