Print

cross-age correlation

Cross-age correlation (implemented in ASReml)

Background

A typical assumption is that “a trait is a trait is a trait”. That is, if we measure, say, the size of an animal then the genes (and/or their effects) determining the expression of this trait will not vary across the age of an individual. However, in many cases we may suspect or be interested in exploring whether genetic variance for a trait varies across ages, or whether genetic correlations across age classes are below unity. In such cases, we could argue that the genetic architecture differs for the trait expression at different ages. These issues will be of particular interest when studying so-called labile traits (traits whose expression is indeterminate or plastic such that they potentially vary over the lifetime of an individual).
For example, in many passerine birds some traits that can be measured in a one-year old are formed during the nestling period (e.g. primary wing feathers or ornaments on these), and are thus shaped by environmental and genetic effects related to the ontogeny of the individual, whereas expression of the same trait at later ages are subject to “adult (genetic) effects”. One may, in such cases, ask whether the phenotypic trait measured is indeed the same trait from a genetic perspective for “one-year old” vs. “older” age classes. Age-related additive genetic effects are of particular interest in the study of senescence. One approach (taken in this section) is to characterise trait expression by the age of the individual and explore (co)variances based on these “character-states”. More detailed exploration of age-related changes can be performed using Random regression models.

Implementation

Below, I present a generic implementation of cross-age correlations in ASReml by coding trait "A" as two different traits depending on whether it is expressed in a one-year old (trait "trait_1st") or an adult (trait "trait_later"). On each line, the data-file therefore contains missing values (e.g. '-999') for the expression of the trait in one of the age classes. Some individuals may have no observation for a particular age class. For example, individual i may have trait_1st = 10 and trait_later = -999 for its first record line, and trait_1st = -999 and trait_later = 20 for its second and third record lines. Individual j who has only been recorded as an adult would only have trait_1st = -999. Data could look like this:

individual year trait_1st trait_later
i 1 10 -999
i 2 -999 20
i 3 -999 20
j 2 -999 15
k 2 10 -999
l 2 -999 20
(etc) (etc)(etc)(etc)


This illustrates how a two age-class model differs from a simple two trait model in the way no single individual expresses a trait more than once as a one-year old (by definition), whereas trait expression of the older age classes may include repeated records. Hence, the analysis needs to take into account that there are both additive genetic and so-called “permanent environmental” effects for the “trait_later”, whereas there are only records for across-individual variation for “trait_1st”. Yet, we are specifically interested in modelling the cross-age covariance on the level of the individual. We therefore need to a priori specify that all variance in “trait_1st” is really across individuals (i.e. on the level of the individual or on the genetic and permanent environmental levels). Below, I implement this by specifically fixing the residual variance of “trait_1st” to zero (and of course also the covariance between “trait_1st” and “trait_later”).


Notice

(1) The generic code provided below includes two parts, where “part 1” fits the (co)variances on the individual level ide(ANIMAL), and “part 2” includes both additive genetic ANIMAL and permanent environmental ide(ANIMAL) effects. The significance of breaking up the individual-specific (co)variances into additive genetic and permanent environmental effects can be tested using a Likelihood Ratio Test between these models.
(2) For testing whether the covariance differs from unity or from zero, please consult the section on Cross-sex genetic correlation, where this is implemented explicitly.
(3) More than two age classes can be considered by extending the “character states”, but notice that one will rapidly loose information for older age classes, because few individuals get to be old. Again, random regression and other methodology allow one to circumvent some of these issues.
(4) This model can be applied also to other situations where one has repeated records of the same individuals that are classified according to measurement order. For example, one may have measured a specific behavioural response for the first time vs. consecutive times on a number of individuals. Again, there is only one “first time” response, and it may be worthwhile to explore whether the animal’s initial first, naive response differs from its consecutive, experienced response in order to study habituation. This is exactly the same model as presented here for “one-year old” versus “adult”.
(5) The REML (conditional upon fixed effects) “repeatability” is defined only for ‘trait_later’ where variances both across and within individuals are estimable. In contrast, the heritability is defined for both ‘trait_1st’ and ‘trait_later’.

ASREML model for traits expressed once

#next section describes data file, each column heading must be indented

  ANIMAL		!P 
  FixedEffect		!A
  AgeCat		!I  # age
  trait_1st		!M-999
  trait_later		!M-999

Pedigree.txt !alpha !make !skip 1 #name of pedigree file, skip the line with headers

DataFile.txt !skip 1 !dopart 1 # data file, use 'dopart' for designating which part to run

 !FCON  # conditional F test on fixed effects

!part 1 
# bivariate model with repeated observations for second trait: I x Time
############################################################################


 trait_1st    trait_later  ~  Trait  Trait.FixedEffect  at(Trait,2).AgeCat  !r Trait.ide(ANIMAL)

#Model statement above, allows for difference across the ages for trait_later which has repeated records for animals at different ages
#Variance structure model below

1 2 1  #  1 error bivariate error structure, 1 random structures

#Below specifies that there is no residual variance for the first trait (trait_1st)
#Notice that ASReml sometimes does not like it when variances are fixed to zero, in which case you can try a very small number (e.g. 0.00001)
0
Trait 0 US !GFFU
  0 
  0.00      0.5352  

# all variance across individuals for “trait_1st" is assigned to the individual level
Trait.ide(ANIMAL) 2
Trait 0 US 
  1  
   0.1      1
ide(ANIMAL)

!part 2
 # conventional bivariate animal model for repeats: GXTime + PExTime 
############################################################################

trait_1st   trait_later  ~  Trait  Trait.FixedEffect  at(Trait,2).AgeCat  !r Trait. ANIMAL  Trait.ide(ANIMAL)

1 2 2 

0
Trait 0 US !GFFU
  0 
  0.00      0.5352  

Trait.ANIMAL 2
Trait 0 US 
  1  
   0.1      1
ANIMAL

Trait.ide(ANIMAL) 2
Trait 0 US 
  1  
   0.1      1
ide(ANIMAL)


Menu

Main Menu

Recently visited pages