Summary

'pedantics' is a set of tools for facilitating power and sensitivity analyses of quantitative genetic studies of natural populations. Some analyses may require using only one of the individual functions, and other problems may require several. In many situations in which multiple pedantics functions will be needed, the output from one function can serve as input to others.

The framework for power and sensitivity analyses that pedantics facilitates is described in M.B. Morrissey, A.J. Wilson, J.M. Pemberton, and M.M. Ferguson. 2007. A framework for power and sensitivity analyses for quantitative genetic studies of natural populations, and case studies in Soay sheep (Ovis aries). Journal of Evolutionary Biology 20: 2309-2321. This paper is available here.

automates the calculation of a range of summary statistics of pedigrees, especially those useful for describing pedigrees for quantitative genetic studies

Automated compilation of pedigree statistics with pedantics

At WAMBAM 2009, we agreed that we could start to report statistics of pedigrees in more informative ways. Some of the new capabilities of pedantics were added specifically for this purpose. One of the most important features, and so a theme that runs through all the calculations, is that we should strive to report statistics of those portions of pedigrees that are informative with respect to a given analysis - thanks especially to Jarrod Hadfield for pointing this out. For example, in an exercise to estimate heritability, any individuals that are either (1) not phenotyped or (2) not related to two or more phenotyped individuals contain no information about either the phenotypic or genetic variance. For pedigrees with many missing links and for traits with many unphenotyped individuals in any given system, very many individuals may be uninformative.

I'll go through a bit of pedigree drawing first, to show (a) some of the pedigree drawing capabilities of the pedantics module 'drawPedigree' and (b) to begin to illustrate the importance of reporting statistics of pedigrees that have been pruned down to only informative records.

A pedigree of Gryphons is supplied with pedantics. Plotting the full pedigree is accomplished by:

This generates a pedigree very similar to what can be produced with pedigree viewer:

drawPedigree plot maternal links in red and paternal links in blue, by default. This does not give much of the pedigree structure. The extent to which individuals are clustered near the top gives some idea of how much ancestry information there is (or rather isn't), but beyond that there is little here. We can get better idea of the pedigree structure by plotting by cohort, rather than by pedigree depth:

drawPedigree(Ped=ped.g,cohorts=gryphons$cohort)

Moving on to the description of pedigree structure...what if we went out this year and collected data on a phenotype never before measured in this system? How much joint phenotype-pedigree information would we have for, for example, animal modeling? In a long term study system, this is very similar to asking the question: what if we had collected the data last year? We can visualize the answer this way:

In this case it would be obvious that reporting statistics of the whole pedigree would not give an adequate description of the pedigree structure with respect to a trait measured on a single cohort. However, in other cases it is less obvious. For example in Soay sheep, about 15% of the records are informative with respect to a maternal genetic effect for birth weight (Morrissey and Wilson, in press).

Numerical representations of pedigree structure can be obtained with the pedantics function 'pedigreeStats'. In its simplest form:

stats.g<-pedigreeStats(ped.g, graphicalReport='n')

This would produce a list of pedigree statistics including, numbers of relatives of different categories, metrics of pedigree completeness, and distributions of relatedness and inbreeding coefficients. You can run pedigree stats without setting 'graphicalReport='n'', and some simple graphical representations of the pedigree statistics will be printed to the console. Trying to view the list returned by pedigreeStats will just result in a lot of numbers scrolling by very fast, at least for most pedigrees. You can see what types of statistics are contained in the list: