ASR028. Univariate and bivariate parental LMMs - Maize hybrids

The complete script for this example can be downloaded here:

Dataset

The models that we will fit here are based on the D014 dataset:

indiv dam sire rdm rv rad srl srsa
1 L003 L006 1.70 21.10 0.65 3492.76 732.07
2 L003 L008 2.04 24.37 0.75 2357.69 615.34
3 L003 L014 1.58 19.43 0.66 3638.37 745.52
4 L003 L015 1.47 17.75 0.67 3509.88 711.52
5 L003 L018 1.60 22.73 0.70 3746.31 844.68
6 L003 L023 1.23 17.86 0.66 4936.65 964.54
7 L003 L026 1.83 22.77 0.73 2615.36 649.51
8 L003 L032 1.84 24.74 0.75 2853.39 716.85

Note that in this dataset, some parents are used both as males and females.


Models

In this example we will fit two parental LMMs, with one and two response variables, respectively.

The model specification for the univariate parental model is: \[ y = \mu + sire + dam +e\ \]

where,

    \(y\) is the root dry biomass (response variable),

    \(\mu\) is the overall mean,

    \(sire\) is the random effect of the male parent, with \(sire \sim \mathcal{N}(0,\,\sigma^{2}_{s})\),

    \(dam\) is the random effect of the female parent, with \(dam \sim \mathcal{N}(0,\,\sigma^{2}_{d})\),

    \(e\) is the random residual effect, \(e \sim \mathcal{N}(0,\,\sigma^{2}_{e})\).

In this example, we are estimating genetic combining abilities (GCAs) for male and female parents. But, because some parents are used both as males and females, it is relevant to ask for a single variance component to be used to estimate all GCAs. Therefore, in the above model, we have an overlay of the design matrices for the sire and dam effects with \(\sigma^{2}_{s} = \sigma^{2}_{d}\).


The bivariate parental model is specified similarly to the univariate model. However, in this case, the vector of random male and female effects is associated with a variance-covariance matrix \(\mathbf{G}\) of dimension 2 \(\times\) 2 relating to a variance for each trait and a common correlation between the two traits. Likewise, the vector of random residual effects is also associated with a variance-covariance matrix \(\mathbf{R}\) of dimension 2 \(\times\) 2 of the same structure.


Now, let’s take a look at how to write the models with ASReml-R. Note that before fitting the model, sire, and dam need to be set as factors.

Univariate parental model

asr028 <- asreml(
  fixed = rdm ~ 1, 
  random = ~sire + and(dam) , 
  residual = ~units,
  equate.levels = c('sire','dam'),
  data = d014
)

With ASReml-R, the overlaying of th design matrices for the terms sire and dam is done using and() and equate.levels() in the model formulation.


Bivariate parental model

asr028_b <- asreml(
  fixed = cbind(rdm, srl) ~ trait, 
  random = ~corgh(trait):sire + and(corgh(trait):dam),
  residual = ~id(units):corgh(trait),
  equate.levels = c('sire','dam'),
  data = d014
)

With ASReml-R, multivariate models are specified using the cbind() function. The variance-covariance matrices \(\mathbf{G}\) and \(\mathbf{R}\) are defined with the structure corgh(), relating to a variance for each trait and a common correlation between the two traits.


Exploring output

Univariate parental model

The variance components estimated from this model are:

summary(asr028)$varcomp
          component   std.error  z.ratio bound %ch
sire    0.006117201 0.003607049 1.695902     P   0
units!R 0.054170220 0.007667619 7.064804     P   0


The random effects (BLUPs) are:

BLUP<-as.data.frame(summary(asr028, coef = TRUE)$coef.random)
head(BLUP)
              solution  std.error     z.ratio
sire_L006  0.017396011 0.05470980  0.31796879
sire_L008 -0.003885624 0.05107460 -0.07607743
sire_L011  0.003223846 0.05363912  0.06010251
sire_L014 -0.071824133 0.05106482 -1.40652877
sire_L015  0.033624771 0.05095078  0.65994608
sire_L018  0.100302158 0.05475544  1.83182074


The narrow-sense heritability can be estimated such as:

vpredict(asr028, h2 ~ 4*V1/(2*V1+V2))
    Estimate        SE
h2 0.3684804 0.1891366


Bivariate parental model

The variance components estimated from this model are:

summary(asr028_b)$varcomp
                                         component    std.error    z.ratio
trait:sire!trait!srl:!trait!rdm.cor  -6.347264e-01 2.083257e-01  -3.046798
trait:sire!trait_rdm                  6.132897e-03 3.614230e-03   1.696875
trait:sire!trait_srl                  1.037840e+05 4.520353e+04   2.295928
units:trait!R                         1.000000e+00           NA         NA
units:trait!trait!srl:!trait!rdm.cor -7.660044e-01 4.143240e-02 -18.488050
units:trait!trait_rdm                 5.415559e-02 7.665465e-03   7.064879
units:trait!trait_srl                 3.567214e+05 5.059815e+04   7.050087
                                     bound %ch
trait:sire!trait!srl:!trait!rdm.cor      U   0
trait:sire!trait_rdm                     P   0
trait:sire!trait_srl                     P   0
units:trait!R                            F   0
units:trait!trait!srl:!trait!rdm.cor     U   0
units:trait!trait_rdm                    P   0
units:trait!trait_srl                    P   0


The random effects (BLUPs) are:

BLUP<-as.data.frame(summary(asr028_b, coef = TRUE)$coef.random)
head(BLUP)
                         solution  std.error       z.ratio
trait_rdm:sire_L006  1.888203e-02 0.05436969  0.3472897053
trait_rdm:sire_L008 -1.239776e-05 0.05079442 -0.0002440772
trait_rdm:sire_L011 -2.414812e-03 0.05331675 -0.0452918085
trait_rdm:sire_L014 -6.738227e-02 0.05078487 -1.3268177714
trait_rdm:sire_L015  4.037210e-02 0.05067302  0.7967177972
trait_rdm:sire_L018  9.651271e-02 0.05441471  1.7736510610

Here we can see that the two traits are genetically negatively correlated with a correlation estimated at -0.63.


The narrow-sense heritability for root dry mass can be estimated such as:

vpredict(asr028_b, h2_rdm ~ 4*V2/(2*V2+V6))
        Estimate       SE
h2_rdm 0.3693327 0.189371

A similar expression can be used to estimate the habitability of specific root length.