A lightweight C++ library for accessing Oxford Nanopore Technologies sequencing data.
The core library is written in header-only C++11, and it enables read-write access to fast5 files from C++ code.
The core library requires no installation, other than setting the compiler’s include path to find fast5.hpp. See f5ls-full.cpp for an example.
The core library is built on top the HDF5 C API, so the compiler must also be able to find the HDF5 headers and libraries. See the project’s Travis CI Dockerfile for an example of how to install prerequisites on Debian Jessie.
The Python wrapper for the core library enables read-only access to fast5 files from Python code. The wrapper also adds several Python scripts:
- f5ls
- Summarize contents of fast5 files.
- f5pack
- Pack and unpack fast5 files. For a detailed description of this tool, see our blog post.
The Python wrapper also depends on Cython. To build the Python wrapper:
# set paths to HDF5 export HDF5_INCLUDE_DIR=/path/to/hdf5.h export HDF5_LIB_DIR=/path/to/libhdf5.so # either make -C python develop # to install in a virtualenv # or make -C python develop-user # to install in user mode