FarmCPU is a Genome Wide Association Study (GWAS) method (PLoS Genetics, 2016), standing for “Fixed and random model Circulating Probability Unification”. FarmCPU join the advantages of mixed linear model and stepwise regression (fixed effect model) and overcome their disadvantages by using them iteratively. To eliminate the confounding between kinship in a mixed model (MLM) and genes underlying a trait of interest, FarmCPU substitutes kinship with a set of markers associated with the causal genes. The set of the associated markers are fitted as fixed effect in a fixed effect model for testing markers one at a time across genome. To avoid model overfitting for testing markers, the set of associated markers are optimized in a maximum likelihood method in an MLM with variance and covariance structure defined by the associated markers. Both computer simulation and real data analyses demonstrated that FarmCPU has higher power and less false positives than either MLM or stepwise regression.

FarmCPU method has been implemented in three R Packages (GAPIT, MVP, and FarmCPU), one Java package (iPat), and one C++ package (FarmCPUpp). Among the three R packages, GAPIT and MVP have comprehensive functions for input data processing and output visualization. GAPIT is maintained by Dr. Jiabo Wang and MVP by Dr. Xiaolei Liu. There is no further update on FarmCPU stand alone R version after it was integrated into GAPIT. The FarmCPU stand alone R version was also integrated into the Java package, iPat, which has Graphic User Interface. There is no any requirement for iPat users for programming. Users can choose input data, select models, and navigate output by simply dragging and clicking with pointing devices such as trackpad or mouse. The C++ package, FarmCPUpp, was developed by Aaron Kusmec at Dr. Patrick Schnable Lab. FarmCPUpp is available at GitHub, which has advantage on computing time over other packages using R.