check_cofactors {polyqtlR} | R Documentation |
Build a multi-QTL model using step-wise procedure of checking genetic co-factors.
Description
The function check_cofactors
initially fits all significant QTL positions as co-factors, both individually and in combination. Significance thresholds
are re-estimated each time, yielding threshold-corrected LOD scores. If this leads to a change in the estimated position of QTL, or detection of subsequent peaks, a second
round of co-factor inclusion is performed for all new QTL or novel QTL combinations. Finally, the multi-QTL model that maximises the individual significance of each
QTL is returned as a data.frame. This can be directly passed to the function PVE
to estimate the percentage variance explained by the full
multi-QTL model and all possible sub-models.
Note: this function estimates the most likely QTL positions by maximising the threshold-corrected LOD at QTL peaks.
Non-additive interactions between QTL may be missed as a result. It is recommended to run a manual co-factor analysis as well,
as described in the package vignette.
Usage
check_cofactors(
IBD_list,
Phenotype.df,
genotype.ID,
trait.ID,
LOD_data = NULL,
min_res = 20,
test_full_model = FALSE,
verbose = TRUE,
...
)
Arguments
IBD_list |
List of IBD_probabilities as estimated using one of the various methods available (e.g. |
Phenotype.df |
A data.frame containing phenotypic values |
genotype.ID |
The colname of |
trait.ID |
The colname of |
LOD_data |
Output of |
min_res |
The minimum genetic distance (resolution) assumed possible to consider 2 linked QTL (on the same linkage group) as independent. By default a value of 20 cM is used. This is not to suggest that 20 cM is a realistic resolution in a practical mapping study, but it provides the function with a criterion to consider 2 significant QTL within this distance as one and the same. For this purpose, 20 cM seems a reasonable value to use. In practice, closely linked QTL will generally "explain" all the variation at nearby positions, making it unlikely to be able to disentangle their effects. QTL positions will vary slightly when co-factors are introduced, but again this variation is presumed not to exceed 20 cM either side. |
test_full_model |
By default |
verbose |
Logical, by default |
... |
Option to pass extra arguments to |
Value
Data frame with the following columns:
- LG
Linkage group identifier
- cM
CentiMorgan position
- deltaLOD
The difference between the LOD score at the peak and the significance threshold (always positive, otherwise the QTL would not be significant)
- CofactorID
An identifier giving the co-factor model used in detecting the QTL (if no co-factors were included then
NA
). The co-factor model is described by concatenating all co-factor positions with a '+', so for example 1_10+4_20 would mean a co-factor model with 2 positions included as co-factors, namely 10 cM on linkage group 1 and 20 cM on linkage group 4.
Examples
data("IBD_4x","BLUEs.pheno","qtl_LODs.4x")
check_cofactors(IBD_list=IBD_4x,Phenotype.df=BLUEs.pheno,
genotype.ID="Geno",trait.ID="BLUE",LOD_data=qtl_LODs.4x)