giuliaguidi / XAVIER

XAVIER: High-Performance X-Drop Adaptive Banded Pairwise Alignment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

XAVIER computes high-performance x-drop adaptive banded pairwise alignment exploiting instruction level parallelism via Single-Instruction-Multiple-Data (SIMD) operations. Our implementation uses a narrow bandwidth that appreciably improves performance reducing the search space for the optimal alignment. The adaptive mechanism enables Xavier to find the optimal alignment between related sequences even when the error rate is as high as 50%.

Requirement

XAVIER requires C++17.

Build

git clone https://github.com/giuliaguidi/xavier
cd xavier
git submodule init
git submodule update
make

Build and Install for Integration into Larger Projects

You need to install meson and ninja. Once installed:

mkdir build && cd build
meson && ninja

or

meson build .
ninja -C build

API

You can find a demo on how to run/call XAVIER in /examples/demo.cpp:

cd examples
make
./demo

Copyright Notice

Xavier: High-Performance X-Drop Adaptive Banded Pairwise Alignment (Xavier) Copyright (c) 2019, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved.

If you have questions about your rights to use or distribute this software, please contact Berkeley Lab's Intellectual Property Office at IPO@lbl.gov.

NOTICE. This Software was developed under funding from the U.S. Department of Energy and the U.S. Government consequently retains certain rights. As such, the U.S. Government has been granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software to reproduce, distribute copies to the public, prepare derivative works, and perform publicly and display publicly, and to permit other to do so.

Acknowledgments

Funding provided in part by DOE ASCR through the Exascale Computing Project and computing provided by NERSC.

About

XAVIER: High-Performance X-Drop Adaptive Banded Pairwise Alignment

License:Other


Languages

Language:C++ 63.6%Language:PHP 22.2%Language:Python 3.3%Language:HTML 2.7%Language:JavaScript 2.2%Language:C 1.6%Language:CSS 1.4%Language:Roff 1.3%Language:CMake 1.2%Language:Shell 0.2%Language:Batchfile 0.0%Language:R 0.0%Language:Makefile 0.0%Language:TeX 0.0%Language:Awk 0.0%Language:Meson 0.0%Language:Tcl 0.0%Language:GLSL 0.0%