jamshed / CaPS-SA

Cache-friendly, Parallel, and Samplesort-based Constructor for Suffix Arrays and LCP Arrays

Home Page:https://doi.org/10.4230/LIPIcs.WABI.2023.16

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CaPS-SA

CaPS-SA is a simple, parallel, and cache-friendly Suffix Array and LCP array construction algorithm.

Installation

From source:

git clone https://github.com/jamshed/CaPS-SA.git
cd CaPS-SA/
mkdir build && cd build/
cmake -DCMAKE_INSTALL_PREFIX=../ ..
make install
cd ..

This installs caps_sa in a sub-directory named bin, inside the project root directory.

Usage

export PARLAY_NUM_THREADS=<thread-count>
caps_sa <input_file> <output_file>

Note that by default the subproblem count is set to 8000. If caps_sa is run on small datasets it may produce a segmentation fault if a given subproblem is of size 0. Future releases will dynamically set subproblem count, but as of the version 1 release, please use a small subproblem count for datasets significantly smaller than the human genome.

About

Cache-friendly, Parallel, and Samplesort-based Constructor for Suffix Arrays and LCP Arrays

https://doi.org/10.4230/LIPIcs.WABI.2023.16

License:MIT License


Languages

Language:C++ 83.8%Language:CMake 7.9%Language:Shell 4.2%Language:Python 4.1%