SNPfile

About SNPFile

SNPFile is a library and API for manipulating large SNP datasets with associated meta-data, such as marker names, marker locations, individuals' phenotypes, etc. in an I/O efficient binary file format.

In its core, SNPFile assumes very little about the metadata associated with markers and individuals, but leaves this up to application program protocols.

SNPFile is released under the GNU General Public License.

To cite SNPFile, please use:

SNPFile — A software library and file format for large scale association mapping and population genetics studies. J. Nielsen and T. Mailund (2008). BMC Bioinformatics 9(526).

Installation

SNPFile is written in C++ and is available as source code (under the GNU General Public License, GPL) and as binary versions as Linux RPM or Debian package files. The source code has been successfully compiled on various Linux and UNIX systems. As I have only limited access to different machines, it is not possible for me to make binary distributions for all platforms, but if anyone is willing to build the distributions I will be more than happy to put them on this site..

SNPFile requires the Boost Library to be installed. Boost can be obtained from http://www.boost.org.

The most recent versions of SNPFile can be downloaded below, older versions are available from here.

Binary Distributions

The rpm-files were built on Linux Fedora Core 5 or 6. The deb-files were built on Ubuntu Feisty Fawn or Gutsy Gibbon. If you have problems installing them on other RPM or Debian based systems, please let me know.

Source Code Distributions

To build the source files, first uncompress and untar the file, then run 'configure' and finally 'make'. To test that the build was successful, run 'make check'. To install the program, run 'make install'.

    $ tar zxf snpfile-version.tar.gz
    $ cd snpfile-version
    $ ./configure
    $ make
    $ make check
    $ make install

Usage

SNPFile consists both of a library, libsnpfile.a, with an API for tool development, plus a few convenience programs for manipulating SNPFile files.

The SNPFile library

The API reference manual is available here and we hope to have a users manual available soon.

Programs

The convenience programs consist of:

Python interface

We also provide a Python interface in the form of a Python extension module. We hope to provide a user's manual for the Python module soon.

Binary Distributions

Source Code Distributions

Contact

For bug-reports or feature requests, please use our bug-tracking software.

For comments or questions, please contact Thomas Mailund <mailund@birc.au.dk>, Bioinformatics Research Center (BiRC), University of Aarhus, Høegh-Guldbergsgade 10, DK-8000 Århus C.

Contact: mailund@birc.au.dk