PyOpal
#
Cython bindings and Python interface to Opal, a SIMD-accelerated pairwise aligner.
Overview#
PyOpal is a Python module that provides bindings to Opal using Cython. It directly interacts with the Opal internals, which has the following advantages:
Just add pyopal
as a pip
or conda
dependency, no need
for the Opal binary or any external dependency.
Directly pass sequences to process as Python str
objects, no
need for intermediate files.
Use the best available SIMD implementation for your current platform without having to recompile Opal.
The Opal code has been backported to work on SSE2 rather than SSE4.1, allowing PyOpal to run on older x86 CPUs (all x86 CPUs support it since 2003).
Aarch64 CPUs (and Armv7 when they implement NEON extensions) are supported in addition to x86-64 in the original.
The C++ code of Opal has been modified to compile on Windows.
Setup#
Run pip install pyopal
in a shell to download the latest release from PyPi,
or have a look at the Installation page to find other ways
to install pyopal
.
Library#
License#
This library is provided under the MIT License. Opal was developed by Martin Šošić and is distributed under the terms of the MIT License as well. See the Copyright Notice section for the full license.
This project is in no way not affiliated, sponsored, or otherwise endorsed by the original Opal authors. It was developed by Martin Larralde during his PhD project at the European Molecular Biology Laboratory in the Zeller team.