wgaim method for class "asreml"

Share:

Description

Fits an iterative Whole Genome Average Interval Mapping (wgaim) model for QTL detection

Usage

1
2
3
4
5
## S3 method for class 'asreml'
wgaim(baseModel, phenoData, intervalObj, merge.by = NULL,
         gen.type = "interval", method = "fixed", selection = "interval",
         exclusion.window = 20, breakout = -1, TypeI = 0.05, attempts = 5,
         trace = TRUE, verboseLev = 0, ...)

Arguments

baseModel

a model object of class "asreml" usually representing a base model with which to build the qtl model.

phenoData

a data frame containing the phenotypic elements used to fit baseModel. This data is checked against the base models data

intervalObj

a list object containing the genotypic data, usually an "interval" object obtained from using cross2int. This object may contain many more markers than observations (see Details).

merge.by

a character string or name of the column(s) in phenoData and intervalObj to merge the phenotypic and genotypic data sets.

gen.type

a character string determining the type of genetic data to be used in the analysis. Possibilities are "interval" and "markers". The default is "interval". (see Details).

method

a character string determining the type of algorithm to be used in the analysis. Possibilities are "random" and "fixed". The default is "random". (see Details).

selection

a character string determining the type of selection method that is used to select QTL in the analysis. Possibilities are "interval" and "chromosome". The default is "interval". (see Details).

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 trace = TRUE then all asreml output is piped to the screen during the analysis. If trace = "file.txt", then output from all asreml models is piped to "file.txt". Both trace machanisms will display a message if a QTL is detected.

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 asreml calls. These may also include asreml.control arguments.

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 "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.

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 diag that are used in conjunction with tr.wgaim and out.stat.

Author(s)

Julian Taylor, Simon Diffey, Ari Verbyla and Brian Cullis

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

print.wgaim, summary.wgaim

Examples

 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)