Author 
Message 
← ASReml ~ how to get genetic correlation in multivariate GBLUP model

MaoHuang 
Posted: Wed Dec 05, 2018 5:09 pm 


Joined: 19 Nov 2018
Posts: 3

Hi all,
I am trying to fit multitrait GBLUP model with the known the ginverse matrix termed as gmatrix (the inverse of additive relationship matrix calculated from marker data).
I used the below model:
modelGBLUP<asreml(fixed=cbind(tr1,tr2,tr3)~trait,rcov=~units:us(trait),random=~corh(trait):giv(ID),ginverse=list(ID=gmatrix),na.method.Y="include",data=Y)
I then obtained:
summary(modelGBLUP)$varcomp
I got output with
gamma component std_error Z.ratio constraint
tr1 tr1 1.672322483. 1.672322483
tr2 tr1. 1.15232172. 1.15232172
tr2 tr2. 4.952745793. 4.952745793
tr3 tr1. 0.280542184. 0.280542184
tr3 tr2
tr3 tr3
is this variance values referring to the genetic correlation (variance due to additive genetic effects) among traits?
How come there's negative values and values >1
If this is not the genetic correlation. Then how should I proceed to get the genetic correlation for these traits?
Thanks 


Back to top 

tshalev 
Posted: Wed Dec 05, 2018 10:20 pm 


Joined: 03 Mar 2017
Posts: 5

If you use corh() you will only get one correlation, as you assume that all traits are equally correlated. If you want a genetic correlation between each pair of traits, you need to use the corgh() structure. 


Back to top 

MaoHuang 
Posted: Mon Dec 10, 2018 4:06 pm 


Joined: 19 Nov 2018
Posts: 3

Hi there tshalev, Thank you for your reply.
Before fitting this simpler version of model with corh(),
I did try using the cough()
But it gave me the below error message:
Nonpositive definite G matrix: 0 singularities, 1 negative pivots; order 6
Do you know what may cause this error?
Note: Our G matrix was already positive definite, so not sure why it gives this error.
something else may be wrong?
Thanks again. 


Back to top 

tshalev 
Posted: Tue Dec 11, 2018 5:25 pm 


Joined: 03 Mar 2017
Posts: 5

In this case, it would seem that the correlation matrix is nonpositive definite. Since your model is already quite simple, you could run a univariate model for each trait and then try to use the genetic variance component as your initial starting values in the multivariate model. Note that the message you get is a warning and not an error, so the model is running. You should check whether it converged; if it did, you can still use the output. 


Back to top 

MaoHuang 
Posted: Tue Dec 11, 2018 5:36 pm 


Joined: 19 Nov 2018
Posts: 3

Thanks tshalev,
I did get some output using this corgh() in the model that produced warnings
summary(modelGBLUP)$varcomp
gamma component
giv(Genot):trait!trait.trt2:!trait.trt1.cor 0.01321706 0.01321706
giv(Genot):trait!trait.trt3:!trait.trt1.cor 0.63034235 0.63034235
1) So these cor values then should be the genetic correlation among traits I'm looking at?
2) When I further tried obtaining the estimated BV for individual lines with:
predGBLUP<predict(modelGBLUP,classify="Genot")$predictions$pvals
Same Warning message showed up:
Abnormal termination
Nonpositive definite G matrix: 0 singularities, 1 negative pivots; order 6
Results may be erroneous
Then, the predicted.values were all 0s. So somehow why it gives the varcomp but not the EBVs?
Thanks again,
Mao 


Back to top 

tshalev 
Posted: Thu Dec 13, 2018 7:29 pm 


Joined: 03 Mar 2017
Posts: 5

Don't use predict to get breeding values. The breeding values are found in Code: summary(modelGBLUP, all = T)$coef.random , along with the standard errors and zvalues. You will be looking for the coeffcients that begin with giv(ID). 


Back to top 

