skip to navigation
skip to content

pysnptools 0.3.12



PySnpTools is a library for reading and manipulating genetic data.

Main Features:

snpreader: Efficiently read genetic PLINK formats including *.bed/bim/fam files.
Also, efficiently read parts of files and standardize data.
util: In one line, intersect and re-order IIDs from snpreader and other sources.
Also, efficiently extract a submatrix from an ndarray.

util.IntRangeSet: Efficiently manipulate ranges of integers - for example, genetic position - with set operators including union, intersection, and set difference.

util.pheno: Read the PLINK pheno type file format.

Find the PySnpTools documentation (including links to tutorial slides, notesbooks, and video):

We originally created it for FaST-LMM, a program for performing genome-wide association studies (GWAS) on large data sets.

Quick install:

If you have pip installed, installation is as easy as:

pip install pysnptools

Detailed Package Install Instructions:

pysnptools has the following dependencies:

python 2.7


  • numpy
  • scipy
  • pandas
  • cython

(1) Installation of dependent packages

We highly recommend using a python distribution such as Anaconda ( or Enthought ( Both these distributions can be used on linux and Windows, are free for non-commercial use, and optionally include an MKL-compiled distribution for optimal speed. This is the easiest way to get all the required package dependencies.

(2) Installing from source

Go to the directory where you copied the source code for fastlmm.

On linux:

At the shell, type:

sudo python install

On Windows:

At the OS command prompt, type

python install

For developers (and also to run regression tests)

When working on the developer version, first add the src directory of the package to your PYTHONPATH environment variable.

For building C-extensions, first make sure all of the above dependencies are installed (including cython)

To build extension (from .src dir), type the following at the OS prompt:

python build_ext –inplace

Note, if this fails with a gcc permission denied error, then specifying the correct compiler will likely fix the problem, e.g.

python build_ext –inplace –compiler=msvc

Don’t forget to set your PYTHONPATH to point to the directory above the one named pysnptools in the pysnptools source code. For e.g. if pysnptools is in the [somedir] directory, then in the unix shell use:


Or in the Windows DOS terminal, one can use:


(or use the Windows GUI for env variables).

Note for Windows: You must have Visual Studio installed. If you have VisualStudio2008 installed (which was used to build python2.7) you need to nothing more. Otherwise, follow these instructions:

If you have Visual Studio 2010 installed, execute:


or with Visual Studio 2012 installed:


or with Visual Studio 2013 installed:


Running regression tests

From the directory tests at the top level, run:


This will run a series of regression tests, reporting “.” for each one that passes, “F” for each one that does not match up, and “E” for any which produce a run-time error. After they have all run, you should see the string “…………” indicating that they all passed, or if they did not, something such as “….F…E……”, after which you can see the specific errors.

Note that you must use “python build_ext –inplace” to run the regression tests, and not “python install”.

File Type Py Version Uploaded on Size
pysnptools-0.3.12.tar.gz (md5) Source 2017-01-11 184KB (md5) MS Windows installer 2.7 2017-01-11 424KB