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.
:
: