This is a test version of Biostars. For the public version, visit https://www.biostars.org.
BWA shm index preloading: only for BWA MEM?

bwa shm looks very interesting, especially if you have a smallish cluster for your own use.

But unfortunately there is almost no documentation.

What I know:

  • you can do "bwa shm <indexfile>" and it will load the index into RAM. This means it will create /dev/shm/bwactl and /dev/shm/bwaidx-<indexfile>.
  • bwa shm -d deletes the files in /dev/shm, bwa shm -l lists them
  • all subsequent invocations of "bwa mem" will be almost instant.
  • for this to work, use the full pathname with bwa shm, e.g. bwa shm /my/data/dir/hg19.fa
  • for the subsequent run of bwa mem, use just the basename, e.g. bwa mem hg19.fa
  • I can't get bwa aln to work with this, apparently it doesn't support the pre-loaded index (yet?)
  • bwasw also does not seem to support a pre-loaded index

Is there a way to get aln or samse support?

Does any other operation support the pre-loaded index?

bwa hengli

1 answer

I read over the BWA source code and figured that yes, only "bwa mem" can use the mmaped index, "bwa aln" cannot. bowtie1 and bowtie2 both can use the mmap'ed index. Note that there is a github issue in the bwa repo on github where users report a 25% performance drop when using this option, so YMMY.

Log in to answer this question.