mpiBLAST is a parallel implementation of NCBI BLAST software that utilizes MPI. It allows for faster and more efficient execution of BLAST queries by distributing the workload among multiple processors.
The first advantage of mpiBLAST is that it splits the database across each node in the cluster. This approach is beneficial because smaller segments of each node's database can reside in the buffer-cache, which results in a significant speedup due to the elimination of disk I/O. The second advantage is that it allows BLAST users to take advantage of efficient, low-cost Beowulf clusters since the interprocessor communication demands are low. In addition to this, mpiBLAST achieves super-linear speedup in situations where the database is too large to fit into RAM, and near linear speedup in other situations.
One of the best things about mpiBLAST is that it does not require a dedicated cluster. However, it does require an MPI implementation to be installed. Two free implementations are MPICH and LAM/MPI. Besides, in most common configurations, it also requires that the computers have some shared storage directory, which can be an NFS mount, samba share, AFS, or any other type of shared network filesystem. It is essential to specify the location of the shared directory in the ~/.ncbirc configuration file. To build mpiBLAST from source, you will also need to compile a matching version of the NCBI Toolbox, available at.
While mpiBLAST is an excellent software, there are some limitations to be aware of. A maximum of 250 database fragments can be created by mpiformatdb on most systems, and tiny differences in e-value between NCBI BLAST and mpiBLAST may exist due to numerical instability in result processing. However, most results are usually unaffected.
The latest stable release, 1.4.0-pio, adds parallel I/O, which is a great feature. Additionally, the latest beta version, 1.5.0 Beta 1, comes with assorted enhancements and bugfixes, updated dependencies on the NCBI toolkit, and promises to offer an improved user experience.
In summary, mpiBLAST is an excellent software that provides a parallel implementation of NCBI BLAST. It has outstanding features, such as splitting the database across each node in the cluster and achieving super-linear speedup. While it has some limitations, the benefits of using mpiBLAST outweigh them. Its latest stable release and beta release come with exciting updates and improvements, making it a must-have for BLAST users looking to leverage the power of parallel computing.
Version 1.4.0-pio / 1.5.0 Beta 1: N/A