The repository contains the code for the GPU-accelerated Graph WaveFront Algorithm (GWFA) using CUDA. The algorithm is designed to efficiently compute sequence to graph alignments.
There are two main directories:
acceleratedGPU-gwfa/: Contains the GPU-accelerated implementation of the Graph WaveFront Algorithm.testUtils/: Contains utility functions for testing, in particular for generating test data.
After cloning the repository, you can build the GPU-accelerated GWFA code by following these steps:
cd acceleratedGPU-gwfa/
mkdir build
cd build
cmake ..
makeFrom the build directory (acceleratedGPU-gwfa/build), you can run the GPU-accelerated GWFA code with the following command:
./main <graph_file> <reads_file>It will output on the console the alignment results for each read and finally the total time taken for the alignment process.
To generate test data, you can use the testUtils directory.
Install the required Python packages:
cd testUtils/
pip install -r requirements.txtCreate the output directory for test data:
cd testUtils/
mkdir ../testDataSpecify the property of the graph and extracted reads in the testUtils/spec.json file.
Then, run the graph generator script to create the test data:
cd testUtils/
python graphGenerator.py