readme.blupf90new
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
readme.blupf90new [2022/05/06 01:50] – [Storing accuracy based on PEV] dani | readme.blupf90new [2022/06/29 19:22] (current) – removed dani | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== BLUPF90+ ====== | ||
- | |||
- | ===== Summary ===== | ||
- | This program combines blupf90, remlf90, and airemlf90.\\ | ||
- | |||
- | \\ | ||
- | See [[http:// | ||
- | |||
- | \\ | ||
- | **Hint**: type '' | ||
- | ===== Options ===== | ||
- | < | ||
- | OPTION method VCE (default BLUP with blupf90 options) | ||
- | </ | ||
- | Runs airemlf90 for variance component estimation (default running blupf90) | ||
- | < | ||
- | OPTION conv_crit 1d-12 | ||
- | </ | ||
- | Convergence criterion (default 1d-10). | ||
- | < | ||
- | OPTION maxrounds 1000 | ||
- | </ | ||
- | Maximum rounds (default 5000). When the number = 0, the program calculates BLUP without iterating REML and some statistics (-2logL, AIC, SE for (co)variances, | ||
- | < | ||
- | OPTION EM-REML 10 | ||
- | </ | ||
- | Runs EM-REML (REMLF90) for first 10 rounds to get initial variances within the parameter space (default 0). | ||
- | < | ||
- | OPTION use_yams | ||
- | </ | ||
- | Runs the program with YAMS (modified FSPAK). The computing time can be dramatically improved. | ||
- | < | ||
- | OPTION tol 1d-12 | ||
- | </ | ||
- | Tolerance (or precision) (default 1d-14) for positive definite matrix and g-inverse subroutines.\\ | ||
- | Convergence may be much faster by changing this value. | ||
- | < | ||
- | OPTION sol se | ||
- | </ | ||
- | Stores solutions and those standard errors. | ||
- | < | ||
- | OPTION store_pev_pec 6 | ||
- | </ | ||
- | Stores triangular matrices of standard errors and its covariances for correlated random effects such as direct-maternal effects and random-regression effects in " | ||
- | < | ||
- | OPTION residual | ||
- | </ | ||
- | y-hat and residuals will be included in " | ||
- | < | ||
- | OPTION missing -999 | ||
- | </ | ||
- | Specifies the missing value (default 0) in integer. | ||
- | < | ||
- | OPTION constant_var 5 1 2 ... | ||
- | </ | ||
- | 5: effect number\\ | ||
- | 1: first trait number\\ | ||
- | 2: second trait number\\ | ||
- | implying the covariance between traits 1 and 2 for effect 5. | ||
- | |||
- | **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). | ||
- | < | ||
- | OPTION SNP_file snp | ||
- | </ | ||
- | Specify the SNP file name to use genotype data. | ||
- | |||
- | < | ||
- | As an alternative of SE, calculate SD for function of (co)variances by repeated sampling of parameters estimates from their asymptotic multivariate normal distribution, | ||
- | \\ | ||
- | ''< | ||
- | A name for a particular function (e.g., '' | ||
- | \\ | ||
- | ''< | ||
- | A formula to calculate a function of (co)variances to estimate SD. All terms of the function should be written with no spaces.\\ | ||
- | \\ | ||
- | Each term of the function corresponds to (co)variance elements and could include any random effects (G) and residual (R) (co)variances.\\ | ||
- | \\ | ||
- | Notation is with reference to the effect number and the trait number ('' | ||
- | where '' | ||
- | '' | ||
- | \\ | ||
- | Several functions could be added, with one OPTION line per function.\\ | ||
- | \\ | ||
- | Examples:\\ | ||
- | \\ | ||
- | '' | ||
- | |||
- | '' | ||
- | |||
- | '' | ||
- | |||
- | '' | ||
- | \\ | ||
- | The first function calculates the SD for the total variance for a maternal model with permanent maternal effect, where 2 and 3 are the effect number for the direct and maternal additive genetic effects respectively, | ||
- | |||
- | The second function calculates the heritability for the direct component. | ||
- | |||
- | The third function the total heritability. | ||
- | |||
- | The fourth function calculates the SD of the genetic correlation between traits 1 and 2 for the direct genetic effect (effect number 2) | ||
- | |||
- | < | ||
- | Set the number of samples to calculate SE for function of (co)variances.\\ | ||
- | default value 10000 | ||
- | < | ||
- | Indicate to store in file samples of (co)variances function for postprocessing (histogram, etc.) | ||
- | |||
- | |||
- | ==== Storing accuracy based on PEV ==== | ||
- | |||
- | OPTION store_accuracy eff | ||
- | Stores reliabilities based on PEV, where //eff// is the number of the animal effect.\\ | ||
- | By default, it uses inbreeding (F) in the denominator of the reliability formula: reliability = 1-PEV/ | ||
- | It uses inbreeding based on $\mathbf{A}$ or $\mathbf{H}$ from the direct inversion of $\mathbf{A}^{-1}$ or $\mathbf{H}^{-1}$, | ||
- | |||
- | OPTION type 1.0 | ||
- | Select 1.0 for dairy cattle (Reliability) or 0.5 for beef cattle (BIF accuracy) (default 1.0). | ||
- | |||
- | OPTION correct_accuracy_by_inbreeding filaname | ||
- | // | ||
- | |||
- | OPTION correct_accuracy_by_inbreeding_direct 0 | ||
- | This option turns off the inbreeding correction in the reliability formula. | ||
- | |||
- | ==== Omit A-inverse ==== | ||
- | |||
- | OPTION omit_ainv | ||
- | |||
- | This option prohibits the program from creating $\mathbf{A}^{-1}$. | ||
- | It is especially useful for GBLUP. | ||
- | For example, if you would like to perform the exact GBLUP, you can put the following options to your parameter file. | ||
- | |||
- | OPTION omit_ainv | ||
- | OPTION TauOmega 1.0 0.0 | ||
- | OPTION AlphaBeta 0.95 0.05 | ||
- | |||
- | With the above options, the program doesn' | ||
- | |||
- | === Details === | ||
- | Assuming a single-trait ssGBLUP, the mixed model equations are as follows. | ||
- | |||
- | \( | ||
- | \left[ | ||
- | \begin{array}{ll} | ||
- | \mathbf{X}' | ||
- | \mathbf{Z}' | ||
- | \end{array} | ||
- | \right] | ||
- | \left[ | ||
- | \begin{array}{c} | ||
- | \mathbf{\hat{b}}\\ | ||
- | \mathbf{\hat{u}} | ||
- | \end{array} | ||
- | \right] | ||
- | = | ||
- | \left[ | ||
- | \begin{array}{c} | ||
- | \mathbf{X}' | ||
- | \mathbf{Z}' | ||
- | \end{array} | ||
- | \right] | ||
- | \) | ||
- | |||
- | where $\mathbf{H}$ is a matrix combining additive genetic relationship matrices and a genomic relationship matrix. | ||
- | |||
- | \( | ||
- | \mathbf{H}^{-1} | ||
- | = | ||
- | \mathbf{A}^{-1} | ||
- | + | ||
- | \left[ | ||
- | \begin{array}{cc} | ||
- | \mathbf{0} & \mathbf{0} \\ | ||
- | \mathbf{0} & \tau\mathbf{G}^{-1}-\omega\mathbf{A}_{22}^{-1} | ||
- | \end{array} | ||
- | \right] | ||
- | \) | ||
- | |||
- | If we omit $\mathbf{A}^{-1}$ and $\mathbf{A}_{22}^{-1}$, | ||
- | GBLUP by BLUPF90 was not so easy because the program creates $\mathbf{A}^{-1}$ by default and there was no way to avoid this behavior. | ||
- | The new option removes $\mathbf{A}^{-1}$ from the equations so GBLUP will be easily performed. | ||
- | |||
- | |||
- | ===== Tricks ===== | ||
- | When the covariance matrix is close to non-positive definite, the AIREMLF90 may not converge. | ||
- | There are two options you might want to try: | ||
- | |||
- | 1. change the tolerance value (xx) in the option: | ||
- | |||
- | OPTION tol xx | ||
- | |||
- | to a very strict value (e.g., 1d-20) or a lenient value (1d-06). | ||
- | |||
- | 2. use an option to use EM-REML inside AI-REML: | ||
- | |||
- | OPTION EM-REML xx | ||
- | |||
- | where xx is the number of iterations for EM-REML you expect to get a good starting value for AI-REML. After running xx rounds with EM-REML, the AIREMLF90 program will automatically switch from EM-REML to AI-REML using the last estimate from EM-REML as a starting value for AI-REML. | ||
readme.blupf90new.1651801830.txt.gz · Last modified: 2024/03/25 18:22 (external edit)