Introduction

Yutaka Masuda

September 2019

Back to index.html.

Differences with other software

It is better for a new user to know the differences between BLUPF90 programs and other software which you are familiar with. We briefly introduce the differences for your understanding.

General differences

R and SAS

ASREML

WOMBAT

VCE

DMU

Differences in purpose

BLUPF90 is specialized for estimation of BLUE, prediction of BLUP, and estimation of variance components in the linear mixed model. The assumption is that the user knows which fixed effects are influential to the phenotypes prior to the analysis. This is the reason why the programs do not perform hypothetical testing for fixed effects. The goodness of fit about random effects can be compared using \(-2\log L\) which is available from the REML programs.

Difference in software design

The philosophy of BLUPF90 programs is described in the official wiki and several publications. The basic idea is to support general linear mixed models with minimal effort in programming. Fortran 90 enables us to write and re-use the code easily. BLUPF90 is the primary software to demonstrate that this idea actually works well with one common code. Other application programs have been derived from BLUPF90.

The current programs support genomic analyses, especially for single-step GBLUP. Computing time has been greatly improved in REML, Gibbs sampling, and BLUP with iteration on data, using parallelization and optimized libraries. The development team actively updates the programs to support a new idea and improve stability.

BLUPF90 programs use user-supplied information only. It is intended so that the software is as simple as possible. The programs do not generate any additional effects and covariates for the user’s convenience. For example, the program does not add the general mean as a fixed effect to the model although the model does not have any fixed effects. In random regression models, the programs do not automatically generate covariates (e.g., Legendre polynomials and spline functions). It reminds the user of which information is actually needed in the model.

Back to index.html.