Fits an iterative Whole Genome Average Interval Mapping (wgaim) model for QTL detection
1 2 3 4 5 
baseModel 
a model object of class " 
phenoData 
a data frame containing the phenotypic
elements used to fit 
intervalObj 
a list object containing the genotypic data, usually an " 
merge.by 
a character string or name of the column(s) in 
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 centirmorgans around 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 level of significance for detecting a QTL. The default is 0.05. 
attempts 
An integer representing the number of attempts at convergence for the fixed or random QTL model. The default is 5. 
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 other extra arguments to be passed to each of the

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
"intval
" component of intervalObj
. If gen.type =
"markers"
then markers are collated from the "imputed.data
"
component of intervalObj
(It should be noted that a
"marker
" analysis is less efficient than an "interval
" analysis as
it does not take into account the correlation of the marker effects in
the specificity of the model; see Verbyla et. al (2007).
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 & Taylor, 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 now 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.
This version of wgaim allows high dimensional marker information
to be analysed. A simple transformation of the collated high dimensional
marker set shows that it may be reduced to the number of genetic lines
used in the analysis. This transformation is internal to the
wgaim.asreml
call and users can now expect a considerably large
acceleration in the performance of wgaim.
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 
Julian Taylor, Simon Diffey, Ari Verbyla and Brian Cullis
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, 291306.
Julian Taylor, Arunas Vebyla (2011). R Package wgaim: QTL Analysis in BiParental Populations Using Linear Mixed Models. Journal of Statistical Software, 40(7), 118. 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, 95111.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24  ## 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, missgeno = "Martinez", id = "Genotype")
# base model
rkyld.asf < asreml(yld ~ Type + lrow, random = ~ Genotype + Range,
rcov = ~ ar1(Range):ar1(Row), data = phenoRxK)
# find QTL
rkyld.qtl < wgaim(rkyld.asf, phenoData = phenoRxK, intervalObj = genoRxK,
merge.by = "Genotype", gen.type = "interval", method = "fixed",
selection = "interval", trace = "trace.txt", na.method.X = "include")
## End(Not run)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.