Compressed storage for SNP data
26 Stars
Updated Last
1 Year Ago
Started In
May 2016


Documentation Build Status Code Coverage Citation
Build Status Coverage Status codecov DOI

Routines for reading and manipulating compressed storage of biallelic SNP (Single-Nucleotide Polymorphism) data.

Data from genome-wide association studies (GWAS) are often saved as a PLINK binary biallelic genotype table or .bed file. To be useful, such files should be accompanied by a .fam file, containing metadata on the rows of the table, and a .bim file, containing metadata on the columns. The .fam and .bim files are in tab-separated format.

Linear algebra operations on the PLINK formatted data now support multi-threading and GPU (CUDA) computing.


This package requires Julia v1.5 or later, which can be obtained from or by building Julia from the sources in the repository.

The package has not yet been registered and must be installed using the repository location. Start julia and use the ] key to switch to the package manager REPL

(v1.6) pkg> add

Use the backspace key to return to the Julia REPL.


If you use OpenMendel analysis packages in your research, please cite the following reference in the resulting publications:

OPENMENDEL: a cooperative programming project for statistical genetics. Zhou H, Sinsheimer JS, Bates DM, Chu BB, German CA, Ji SS, Keys KL, Kim J, Ko S, Mosher GD, Papp JC, Sobel EM, Zhai J, Zhou JJ, Lange K. Hum Genet. 2019 Mar 26. doi: 10.1007/s00439-019-02001-z. [Epub ahead of print] PMID: 30915546


Current implementation incorporates ideas in the package BEDFiles.jl by Doug Bates (@dmbates).

Chris Elrod (@chriselrod) helped us accelerate CPU linear algebra through his great support of LoopVectorization.jl package.

This project is supported by the National Institutes of Health under NIGMS awards R01GM053275 and R25GM103774 and NHGRI award R01HG006139.