Introduction

Yutaka Masuda

April 2025

Back to index.html.

Short introduction to BLUPF90 programs

What is BLUPF90?

BLUPF90 is the name of the software. It is also the name of a collection of programs derived from BLUPF90. In the latter case, we will refer to it as the BLUPF90 family or BLUPF90 programs. A concise description can also be found on the official wiki at the University of Georgia (http://nce.ads.uga.edu/wiki/doku.php).

BLUPF90 family of programs is a collection of software in Fortran 90/95 for mixed
model computations in animal breeding. The goal of the software is to be as simple as
with a matrix package and as efficient as in a programming language.

The BLUPF90 program creates and solves mixed model equations. It supports various models including the animal model, maternal model, and random regression model with multiple traits. The BLUPF90 family includes several programs for variance component estimation using REML and Gibbs sampling with various models. The set of programs is available on the official website (http://nce.ads.uga.edu) and can be freely used for academic or research purposes.

Why BLUPF90?

BLUPF90 has several advantages over similar software for users: simplicity, stability, and active development. For programmers, the internal structure is documented in a course note (https://nce.ads.uga.edu/wiki/doku.php?id=courses), and the working source code is available, so a developer can modify the program to support new ideas.

We will now look at its advantages from a user’s point of view.

Simplicity

The program’s behavior is very simple. Every BLUPF90 program reads a parameter file, which describes the names of data and pedigree files, models, and (initial) variance components to be used in the analysis. The parameter file is a short text file containing a few pairs of keywords and values to describe the information. It is concise but capable of specifying general models. Once you learn how to write a parameter file, you can perform very complicated analyses with the program.

Each program saves the solutions of the mixed model equations (e.g., EBV) to a file. Estimated variance components are also saved to files permanently.

Stability

The programs have been tested by many researchers since their public release around 2000. They are now stable enough to be used for routine genetic evaluation at the national level. The team at the University of Georgia heavily uses the programs for their research.

Active development

The programs are continuously maintained by the UGA team. New features are added to incorporate new methodologies and to improve usability and computing time. The programs fully support single-step genomic BLUP (ssGBLUP); GWAS can be performed within the ssGBLUP framework.

Speed

We have been optimizing the programs for speed, not only by using multithreaded libraries (MKL) but also through detailed optimization of fundamental subroutines. The current version is remarkably faster than older versions, especially in REML and Gibbs sampling.

Is it easy?

Yes, it is. But the learning process is not always easy. There may be several hurdles to learning how to use the BLUPF90 programs in actual research. This is the flip side of its simplicity.

The purpose of this tutorial is to provide such documentation with many examples.

Back to index.html.