The BGEN format
A compressed binary format for typed and imputed genotype data

Software support

For command-line users: BGEN support has been implemented in several software packages, click on the links below for more information.

qctool v2 SNPTEST PLINK Mega2 LDSTORE REGSCAN BGENIE Hail BOLT-LMM FINEMAP STITCH bgenix

For R users: The rbgen package can be used to load data directly into R.

For python users: A number of python solutions have been developed, see e.g. the bgen-reader library or the pybgen library.

(Please contact me if your software supports BGEN and you'd like it added to this list.)

For developers: A freely available C++ implementation of the BGEN format is available at code.enkre.net. This repository also contains a number of useful tools:

bgenix
A tool which provides random access to data in a BGEN file by creating an index.
cat-bgen
A program to efficiently concatenate BGEN files. Together with bgenix this effectively enables map/reduce pipelines that operate in parallel on seperate genomic regions. For example, we have found this useful for joining data into chromosomes after imputing genome-wide.
edit-bgen
A tool to (destructively) edit the BGEN header data.

In addition a set of example files and programs, intended to demonstrate the API, are provided.