- Notifications
You must be signed in to change notification settings - Fork47
Python version of Factored Spectrally Transformed Linear Mixed Models
License
mycecilia/FaST-LMM
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
FaST-LMM, which stands for Factored Spectrally Transformed Linear Mixed Models, is a program for performing both single-SNP and SNP-set genome-wide association studies (GWAS) on extremely large data sets. This release contains the improvements described in Widmeret al.,Scientific Reports 2014, and tests for epistasis.
See the FaST-LMM website for related software:
http://research.microsoft.com/en-us/um/redmond/projects/MicrosoftGenomics/Fastlmm/
For an annotated bibliography of all of our FaST-LMM and FaST-LMM-related papers, please see:
http://research.microsoft.com/en-us/projects/fastlmm
Our documentation (including live examples) is also available as ipython notebook:http://nbviewer.ipython.org/github/MicrosoftGenomics/FaST-LMM/blob/master/doc/ipynb/FaST-LMM.ipynb
Additionally, API documentation is available:http://research.microsoft.com/en-us/um/redmond/projects/MSCompBio/Fastlmm/api/
If you have pip installed, installation is as easy as:
pip install fastlmm
fastlmm has the following dependencies:
python 2.7
Packages:
- numpy
- scipy
- matplotlib
- pandas
- scikit.learn (sklearn)
- cython
- pysnptools
- optional: [statsmodels -- install only required for logistic-based tests, not the standard linear LRT]
We highly recommend using a python distribution such asAnaconda (https://store.continuum.io/cshop/anaconda/)or Enthought (https://www.enthought.com/products/epd/free/).Both these distributions can be used on linux and Windows, are freefor non-commercial use, and optionally include an MKL-compiled distributionfor optimal speed. This is the easiest way to get all the required packagedependencies.
Go to the directory where you copied the source code for fastlmm.
On linux:
At the shell, type:
sudo python setup.py install
On Windows:
At the OS command prompt, type
python setup.py install
When working on the developer version, first add the src directory of the package to your PYTHONPATHenvironment 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 setup.py build_ext --inplace
Note, if this fails with a gcc permission denied error, then specifying the correct compiler willlikely fix the problem, e.g.
python setup.py build_ext --inplace --compiler=msvc
Don't forget to set your PYTHONPATH to point to the directory above the one named fastlmm inthe fastlmm source code. For e.g. if fastlmm is in the [somedir] directory, thenin the unix shell use:
export PYTHONPATH=$PYTHONPATH:[somedir]
Or in the Windows DOS terminal,one can use:
set PYTHONPATH=%PYTHONPATH%;[somedir]
(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:
SET VS90COMNTOOLS=%VS100COMNTOOLS%
or with Visual Studio 2012 installed:
SET VS90COMNTOOLS=%VS110COMNTOOLS%
or with Visual Studio 2013 installed:
SET VS90COMNTOOLS=%VS120COMNTOOLS%
From the directory tests at the top level, run:
python test.py
This will run aseries of regression tests, reporting "." for each one that passes, "F" for eachone that does not match up, and "E" for any which produce a run-time error. Afterthey have all run, you should see the string "............" indicating that theyall passed, or if they did not, something such as "....F...E......", after whichyou can see the specific errors.
Note that you must use "python setup.py build_ext --inplace" to run theregression tests, and not "python setup.py install".