A C++ header-only library for reading Oxford Nanopore Fast5 files
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Fast5 Library

http://travis-ci.org/mateidavid/fast5.svg?branch=master http://img.shields.io/:license-mit-blue.svg

A lightweight C++ library for accessing Oxford Nanopore Technologies sequencing data.


Core C++ Library

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.

Python Wrapper

The Python wrapper for the core library enables read-only access to fast5 files from Python code. The wrapper also adds several Python scripts:

Summarize contents of fast5 files.
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


MIT License.