User Tools

Site Tools


readme.pcgtest

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
readme.pcgtest [2018/06/20 20:43]
shogo created
readme.pcgtest [2024/03/07 22:28] (current)
shogo [Tips for running BLUP90IOD3]
Line 1: Line 1:
-====== ​BLUP90IODTEST ​====== +====== ​BLUP90IOD3 ​======
- +
-UNDER CONSTRUCTION+
  
 ===== Summary ===== ===== Summary =====
 The original program was written by Shogo Tsuruta in 1999. The original program was written by Shogo Tsuruta in 1999.
 \\ \\
-BLUP90IOD2 ​is a BLUP program for solving a large number of mixed model equations, using preconditioned conjugate gradient (PCG). ​Another version ​for heterogeneous residual variances ​is also available.+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. See PREGSF90 with genotypes (SNP) for options.
Line 16: Line 14:
 OPTION conv_crit 1e-12 OPTION conv_crit 1e-12
 </​file>​ </​file>​
-Set convergence criteria (deault ​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.
 <​file>​ <​file>​
 OPTION maxrounds 10000 OPTION maxrounds 10000
 </​file>​ </​file>​
 Set maximum number of rounds (default 1000). 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.
 <​file>​ <​file>​
-OPTION blksize ​3+OPTION blksize ​n
 </​file>​ </​file>​
-Set block size for preconditioner (default 1).+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. 
 <​file>​ <​file>​
 OPTION init_eq 10 OPTION init_eq 10
Line 44: Line 51:
 OPTION avgeps 50 OPTION avgeps 50
 </​file>​ </​file>​
-Using the last 50 average eps for convergence.+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).
 <​file>​ <​file>​
 OPTION cont 1 OPTION cont 1
Line 52: Line 59:
 OPTION missing -999 OPTION missing -999
 </​file>​ </​file>​
-Set the missing value (default 0) in integer.+Set the missing value (default 0) in integer. "​-999"​ can be any integer number.
 <​file>​ <​file>​
 OPTION restart 100 OPTION restart 100
Line 62: Line 69:
 Using the previous solution file to start the iteration. An additional software is required to use this option. Using the previous solution file to start the iteration. An additional software is required to use this option.
 <​file>​ <​file>​
-OPTION random_upg ​1 2+OPTION random_upg
 </​file>​ </​file>​
-Set the UPG random. ​"​1"​ the weight for random ​UPG = 1. If the second number exits, the weight will be inverted ​(e.g., ​1/2=0.5).+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.
 <​file>​ <​file>​
 OPTION SNP_file snp OPTION SNP_file snp
 </​file>​ </​file>​
 Specify the SNP file name to use genotype data. Specify the SNP file name to use genotype data.
 +<​file>​
 +OPTION mode usage
 +</​file>​
 +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. \\
 +<​file>​
 +OPTION external_evaluation file
 +</​file>​
 +Read external breeding values and reliabilities from file.
 +<​file>​
 +OPTION hetres_int col nlev
 +</​file>​
 +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**
 +<​file>​
 +OPTION hetres_pos 10 11
 +</​file>​
 +Specifies the position of covariables.
 +<​file>​
 +OPTION hetres_pol 4.0 0.1 0.1
 +</​file>​
 +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
 +<​file>​
 +OPTION hetres_pos 10 10 11 11
 +</​file>​
 +or
 +<​file>​
 +OPTION hetres_pos 10 11 12 13
 +</​file>​
 +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.
 +<​file>​
 +OPTION hetres_pol 4.0 4.0 0.1 0.1 0.01 0.01
 +</​file>​
 +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 BLUP90IOD, please contact Ignacy Misztal (ignacy@uga.edu) at the University of Georgia.//+ 
 +//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.  
 + 
 +:\\ 
 +
  
readme.pcgtest.txt · Last modified: 2024/03/07 22:28 by shogo