wgaim.asreml {wgaim} | R Documentation |
wgaim method for class "asreml"
Description
Implements the iterative Whole Genome Average Interval Mapping (wgaim) algorithm using the functionality of the flexible linear mixed modelling R package ASReml-R V4.
Usage
## S3 method for class 'asreml'
wgaim(baseModel, intervalObj, merge.by = NULL,
fix.lines = TRUE, gen.type = "interval", method = "fixed",
selection = "interval", exclusion.window = 20, breakout = -1,
TypeI = 0.05, trace = TRUE, verboseLev = 0, ...)
Arguments
baseModel |
a linear mixed model object of class |
intervalObj |
a list object containing the genotypic data, usually an |
merge.by |
a character string or name of the column(s) in |
fix.lines |
A logical value. If |
gen.type |
a character string determining the type of genetic data to
be used in the analysis. Possibilities are |
method |
a character string determining the type of algorithm to
be used in the analysis. Possibilities are |
selection |
a character string determining the type of selection
method that is used to select QTL in the analysis. Possibilities are
|
exclusion.window |
For each QTL, the distance in centimorgans on the left and right side of each QTL that is excluded from further analysis. |
breakout |
A numerical integer equivalent to the iteration where the algorithm breaks out. The default is -1 which ensures the algorithm finds all QTL before halting. (see Details) |
TypeI |
a numerical value determining the familywise alpha level of significance for detecting a QTL. The default is 0.05. |
trace |
An automatic tracing facility. If |
verboseLev |
numerical value, either 0 or 1, determining the level of tracing outputted during execution of the algorithm A 0 value will produce the standard model fitting output from the fitted ASReml models involved in the forward selection. A value of 1 will add a table of chromosome and interval outlier statistics for each iteration. |
... |
Any extra arguments to be passed to the |
Details
In the initial call to wgaim.asreml()
, the marker or interval
information is collated from intervalObj
. If gen.type =
"interval"
then midpoints of intervals are collated from the
"interval.data"
components of the chromosomes in
intervalObj
. If gen.type = "markers"
then markers are
collated from the "imputed.data"
components of the chromosomes in
intervalObj
.
It is recommended to set fix.lines = TRUE
to ensure additive and
non-additive genetic variances are estimated from lines in the
merge.by
component of the phenotypic data that have genetic
marker data in intervalObj
. Lines in the phenotype
merge.by
factor not existing in intervalObj
will be placed
as a fixed factor (called Gomit
) in the asreml
model.
Note, if there are others factors in the model that have some
potential confounding with Gomit
then asreml
will
indicate this with a simple message 'Terms with zero df listed
in attribute 'zerodf' of the wald table'
at the end of its iterative
maximisation. This confounding will have no effect on the outcome and
can be safely ignored. If fix.lines = FALSE
is set then all
available lines in the merge.by
component of the phenotypic data
will be used to estimate the non-additive genetic variance.
In this instance, users also need to be aware that asreml
will
output a large number of warnings due to an inherent mismatch in the levels
of the lines contained in the phenotype data compared to the lines in
intervalObj
.
The method
argument in wgaim.asreml()
allows the user access
to two algorithms. If method = "fixed"
the algorithm
places selected QTL as an additive set of fixed
effects in the model as the forward selection algorithm proceeds. If method = "random"
places selected QTL in the random part of the model as
an additive set of random effects. This new formulation is outlined in
Verbyla et. al (2012).
The selection
argument determines the type of selection algorithm
for the analysis. If selection = "chromosome"
then outlier
statistics for each chromosome are calculated and the largest
chromosome or linkage group is chosen. The largest marker/interval outlier
statistic in this linkage group is then selected as the putative QTL. If
selection = "interval"
, only marker/interval statistics are calculated
and the largest marker/interval is chosen as the putative QTL.
Note: If a genetic map has a small number of markers on a linkage group
then using selection = "chromosome"
as the selection algorithm
is known to be flawed (see Verbyla et. al, 2012). For this reason it is suggested
that this option only be used when there are a moderate number of
markers on each linkage group.
Users can break out of the algorithm using the breakout
argument. If a numerical value greater than zero is given, then the forward
selection algorithm breaks at the iteration equal to that value and
returns the collected information to this point. This includes
fixed/random QTL effects, diaganostic components such as interval/marker
BLUPs and outlier statistics as well as the trace components of the
algorithm. It should be noted that the algorithm breaks out before a QTL
has been moved to the fixed/random effects and estimated. Therefore a
positive integer, say n
will not return an estimate of the nth
QTL but it will return the outlier statistics or BLUPs for the nth iteration.
It is recommended that trace = "file.txt"
be used to pipe the
sometimes invasive tracing of asreml
licensing and fitting
numerics for each model to a file. Errors, warnings and messages will
still appear on screen during this process. Note some warnings that
appear may be passed through from an asreml call and are outputted upon
exit. These may be ignored as they are handled during the execution of
the function.
Value
An object of class "wgaim"
which also inherits the class
"asreml"
by default. The object returned is actually an asreml
object (see asreml.object
) with the addition of components from
the QTL detection listed below.
QTL |
A list of components from the significant QTL detected
including a character vector of the significant QTL along with a
vector of the QTL effect sizes. There are also a number of diagnostic meausres that
can be found in |
Author(s)
Julian Taylor and Ari Verbyla
References
Verbyla, A. P & Taylor, J. D, Verbyla, K. L (2012). RWGAIM: An efficient high dimensional random whole genome average (QTL) interval mapping approach. Genetics Research. 94, 291-306.
Julian Taylor, Arunas Vebyla (2011). R Package wgaim: QTL Analysis in Bi-Parental Populations Using Linear Mixed Models. Journal of Statistical Software, 40(7), 1-18. URL http://www.jstatsoft.org/v40/i07/.
Verbyla, A. P., Cullis, B. R., Thompson, R (2007) The analysis of QTL by simultaneous use of the full linkage map. Theoretical and Applied Genetics, 116, 95-111.
See Also
Examples
## Not run:
# read in data
data(phenoRxK, package = "wgaim")
data(genoRxK, package = "wgaim")
# subset linkage map and convert to "interval" object
genoRxK <- subset(genoRxK, chr = c("1A", "2D1", "2D2", "3B"))
genoRxK <- cross2int(genoRxK, impute = "Martinez", id = "Genotype")
# base model
rkyld.asf <- asreml(yld ~ Type + lrow, random = ~ Genotype + Range,
residual = ~ ar1(Range):ar1(Row), data = phenoRxK)
# detect and estimate QTL
rkyld.qtl <- wgaim(rkyld.asf, intervalObj = genoRxK, merge.by = "Genotype",
trace = "trace.txt", na.action = na.method(x = "include"))
## End(Not run)