### Table of Contents

# BLUP90IOD3

## Summary

The original program was written by Shogo Tsuruta in 1999.

BLUP90IOD3 is a BLUP program for solving a large number of mixed model equations, using preconditioned conjugate gradient (PCG). It accounts for heterogeneous residual variances and external information.

See PREGSF90 with genotypes (SNP) for options.

Implementation of one-step genomic selection updating animal effects with the combined pedigree and genomic relationship matrix (H-Inverse).

# Options

OPTION conv_crit 1e-12

Set convergence criteria (default 1e-12). For single-trait models, it may be better to use < 1e-12 (e.g., 1e-14, 1e-16). For multi-trait models, usually, 1e-12 is enough.

OPTION maxrounds 10000

Set maximum number of rounds (default 1000). If the program does not converge with many rounds, it is would be better to reconsider the model, (co)variance components, the data used.

OPTION blksize n

Set block size for preconditioner (default n=1), e.g. the preconditioner is the inverse of a block diagonal matrix.
For a model with multiple trait with n traits it is recommended to use `OPTION blksize n`

. E.g for three traits `OPTION blksize 3`

.

For a model with a single trait but correlated random effects such as maternal effect models, random regression models, “OPTION blksize x cor” could make convergence faster.

For the case of a multiple trait model with correlated random effects use `OPTION blksize n`

with n number of traits.

OPTION init_eq 10

Set the number of effects to be solved directly (default=0).

OPTION solv_method FSPAK

Solving method for initial equations (default=DIRECT).

OPTION tol 1d-12

Tolerance to get a positive definite matrix (default=1d-12).

OPTION residual

y-hat and residuals will be included in “yhat_residual”.

OPTION avgeps 50

Using the last 50 average eps for convergence. This is useful when the iteration is largely fluctuated. With this option, the “conv_crit” value can be larger (e.g., 1e-10).

OPTION cont 1

To restart the program from the previous solutions.

OPTION missing -999

Set the missing value (default 0) in integer. “-999” can be any integer number.

OPTION restart 100

Set the number of iteration to recompute residuals (default=100).

OPTION prior_solutions

Using the previous solution file to start the iteration. An additional software is required to use this option.

OPTION random_upg

Set the UPG random. When numbers of animals in UPG are small (e.g., < 100 or < 1000), this option can predict UPG effects stably as random instead of fixed.

OPTION SNP_file snp

Specify the SNP file name to use genotype data.

OPTION mode usage

Usage can be:

iod: data and pedigree stored in disk, using less memory. The iteration time depends on the HDD/SSD I/O access speed.

iom: data and pedigree stored in memory. It uses less operations than iod but more memory.

map: data in disk and pedigree in memory. It uses less operations than iom.

OPTION external_evaluation file

Read external breeding values and reliabilities from file.

OPTION hetres_int col nlev

where col is column in the data file that selects which residual (co)variance to select, and nlev is the maximum number of levels. Different residual (co)variances need to be numbered consecutively starting from 1.

**Heterogeneous residual variances for a single trait**

OPTION hetres_pos 10 11

Specifies the position of covariables.

OPTION hetres_pol 4.0 0.1 0.1

Initial values of coefficients for heterogeneous residual variances using *ln*(a0, a1, a2, …) to make these values.

**Heterogeneous residual variances for multiple traits**

Convergence will be very slow with multiple trait heterogeneous residual variances

OPTION hetres_pos 10 10 11 11

or

OPTION hetres_pos 10 11 12 13

Specify the position of covariables (trait first).
“10 10” or “10 11” could be linear for first and second traits.

“11 11” or “12 13” could be quadratic.

OPTION hetres_pol 4.0 4.0 0.1 0.1 0.01 0.01

Initial values of coefficients for heterogeneous residual variances using *ln*(a0, a1, a2, …) to make these values (trait first).

“4.0 4.0” are intercept for first and second traits.

“0.1 0.1” could be linear and “0.01 0.01” could be quadratic.

To transform back to the original scale, use exp(a0+a1*X1+a2*X2).

*For information on availability of BLUP90IOD3, please contact Ignacy Misztal (ignacy@uga.edu) at the University of Georgia.*

## Tips for running BLUP90IOD3

When the convergence is very slow or never reached, there are several reasons. One of the major issues is the left-hand-side in MME is close to non-positive definite.

1. The covariance matrix G and/or R is close to non-positive definite.

In this case, change the tolerance value (xx) in the option:

OPTION tol xx

to a lenient value (e.g., 1d-04),

which is similar to re-parameterization for G = VDV' using larger eigenvalue(s) in D.

2. Use “OPTION blksize xx cor” for a model with correlated random effects, where xx is the maximum size of (co)variance matrix for correlated random effects.

3. Remove the old data, which the contribution to the current active population is minimal.

4. Remove non-contribution animals, which have no relationships with other animals that have phenotypes.

5. Re-estimate the variance-covariance matrices accurately using the current data.

6. Remove animals with no phenotypes in the input data file. If those animals have relationships in the pedigree and/or the genotypes, they will be included in the renaddXX.ped (output pedigree file) after running renumf90. So, they do not need to be included in the phenotypic data file when they have no phenotypes.

:

: