Skip to content
Snippets Groups Projects

SW-Actors: Smith--Waterman with Actors

SW-Actors uses the Actor Model to perform parallelized sequence alignment with Smith–Waterman algorithm across DNA, RNA, or protein sequence pairs. This approach enhances scalability and efficiency for sequence alignment, optimizing computational resources for large datasets. SW-Actors is implemented using the C++ Actor Framework.

Documentation

This guide will cover the essentials for compiling and running SW-Actors. For further details or to report any issues, feel free to open an issue in this repository.

Compiling SW-Actors

Dependencies

SW-Actors has dependency on the C++ Actor Framework, specifically the 1.0.1 release.

The following steps can be used to install the C++ Actor Framework on a Linux system:

wget https://github.com/actor-framework/actor-framework/archive/refs/tags/0.18.6.tar.gz
tar -xzf 1.0.1.tar.gz
cd actor-framework-1.0.1/
./configure --prefix=/path/to/install
cd build
make # [-j] for parallel build
make install # [use root privileges if necessary]

Steps To Compile

To compile SW-Actors:

  1. Clone the repository:
git clone https://git.cs.usask.ca/numerical_simulations_lab/actors/papers/sw-actors
cd SW-Actors
  1. Modify the paths in the Makefile to match your CAF installation path.

  2. Run:

make

Running SUMMA-Actors

After compilation, SW-Actors can be executed using the job.sh script. Modify job.sh to match your system’s configurations, such as paths, resources, and any specific environment modules you may need.

For basic use, run:

bash job.sh

Credits

The implementation of SW-Actors builds on the foundation provided by the Smith–Waterman algorithm and the C++ Actor Framework. We credit the original creators of the C++ Actor Framework which allowed us to implement the actor model into SUMMA-Actors. Links to their research work can be found below.

  • Charousset, D., Schmidt, T. C., Hiesgen, R., Wählisch, M., 2013: Native actors: a scalable software platform for distributed, heterogeneous environments. AGERE!, doi:10.1145/2541329.2541336.

  • Charousset, D., Schmidt, T. C., Hiesgen, R., 2016: Revisiting actor programming in C++. Computer Languages, Systems & Structures, [doi:10.1016/j.cl.2016.01.002](http:// dx.doi.org/10.1016/j.cl.2016.01.002)