Introduction

Yutaka Masuda

August 2026

Back to index.html.

Differences from other software

It is helpful for new users to understand how BLUPF90 programs differ from other software they may be familiar with. We briefly introduce these differences to help you understand them.

General differences

R and SAS

ASREML

MiX99

Differences in purpose

BLUPF90 is specialized for estimating BLUEs, predicting BLUPs, and estimating variance components in linear mixed models. It assumes that the user knows which fixed effects influence the phenotypes before the analysis. This is why the programs do not perform hypothesis testing for fixed effects. The goodness of fit of the model, including its random effects, can be evaluated using \(-2\log L\), which is provided by the REML programs.

Difference in software design

The philosophy of the BLUPF90 programs is described in the official wiki and several publications. The basic idea is to support general linear mixed models with minimal programming effort. Fortran 90 (and later) makes it easy to write and reuse code. BLUPF90 is the main software that demonstrates this idea, and many other programs have been derived from it.

The current programs support genomic analyses, especially single-step GBLUP. Computation times have been significantly reduced for REML, Gibbs sampling, and BLUP with iteration on data through parallelization and optimized libraries. The development team continues to actively update the programs to implement new ideas and improve stability.

BLUPF90 programs rely entirely on user-supplied information. This is intentional, to keep the software as simple as possible. The programs do not automatically create additional effects or covariates for convenience. For example, the general mean is not automatically added as a fixed effect when the model does not include one. In random regression models, the programs do not automatically generate covariates (e.g., Legendre polynomials or spline functions). This reminds users to provide all the information required by the model.

Back to index.html.