Description Usage Arguments Details Value Author(s) See Also Examples
A generic function to determine the true genetic performance (genotypic value) of individuals according to their genome, with effects beeing genome specific.
1 2 3 4 | hypredTpGenomeSpecific(object, ...)
## S4 method for signature 'hypredGenome'
hypredTpGenomeSpecific(object, genotypes,
add.eff.G1 = NULL, add.eff.G2 = NULL, dom.eff.G1 = NULL, dom.eff.G2 = NULL)
|
object |
an object of a class that holds information on genome
parameters necessary to determine the true genetic performance of individuals, typically an
|
genotypes |
Integer matrix giving the genotypes of the individuals (as a series of 1s and 0s). Two adjacent rows stand for one individual (the two chromosome sets). Consistently, odd rows belong to genome 1, even rows to genome 2 |
add.eff.G1 |
numeric vector with the additive effects of the QTL alleles from genome 1. |
add.eff.G2 |
numeric vector with the additive effects of the QTL alleles from genome 2. |
dom.eff.G1 |
numeric vector with the dominance effects of the QTL, when the loci is heterozygous and the 1 allele comes from genome 1. |
dom.eff.G2 |
numeric vector with the dominance effects of the QTL, when the loci is heterozygous and the 1 allele comes from genome 2. |
... |
Methods may require further arguments. |
The additive contribution of a genome to the genotypic value is determined by summing the additive effects of this genome of all loci where the 1 allele comes from that genome.
The contribution of a genome to the dominance part of the genotypic value is determined by summing the dominance effects of all dominance QTL that are heterozygous and where the 1 allele comes from that genome.
Example: Assume that there is only one QTL, with both additive and dominance effect. The additive effect is 1 for genome 1 and 0.5 for genome 2, the dominance effect is 0.5 for genome 1 and -0.5 for genome 2. An individual with genotype 0-1 at this QTL would have a performance of 0 (additive part genome 1: 0, additive part genome 2: 0.5, dominance part genome 1: 0, dominance part genome 2: -0.5 ), an individual with 1-0 would have a performance of 1.5 (additive part genome 1: 1, additive part genome 2: 0, dominance part genome 1: 0.5, dominance part genome 2: 0).
The defaults of all four arguments that give the effects are
NULL
. When an argument is NULL
, the effects are taken
from the object given to object
. Hence, calling
hypredTpGenomeSpecific
with all effect arguments NULL
,
produces identical results as hypredTruePerformance
.
An indirect way of obtaining the additive genotypicic values when
dominance QTL were assigned is to call the function with
add.eff.G1 = NULL
, add.eff.G2 = NULL
, dom.eff.G1
= rep(0, number.dominance.qtl)
, dom.eff.G2 = rep(0,
number.dominance.qtl)
The number of effects must agree with the numbers of QTL assigned to
object
. If no QTLs are assigned, the function returns an error.
A one column matrix with as many elements as there were individuals, giving their true genetic performances in the order in which they appeard in the the matrix.
Frank Technow
The function hypredRecombine
which is used to
create progeny genomes, the function hypredNewQTL
which
allows to assign new QTLs to the "hypredGenome"
object and the function hypredTruePerformance
which
determines the standart, non-genome-specific values.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | ## one chromosome of length 1 M and 5 SNP
genomeDef <- hypredGenome(1, 1.0, 5)
genomeDef <- hypredNewQTL(genomeDef,
new.id.add = 1,
new.eff.add = 1,
new.id.dom = 1,
new.eff.dom = 0.5)
summary(genomeDef)
## assign one QTL with and additive effect of 1 to the first loci,
## with the also having a dominance effect of 0.5 . Firts QTL
## is perfect marker as well.
genomeDef <- hypredNewQTL(genomeDef,
new.id.add = 1,
new.id.dom = 1,
new.id.per.mar = 1,
new.eff.add = 1,
new.eff.dom = 0.5)
summary(genomeDef)
## QTL genotype individual 1 = 1-1
## QTL genotype individual 2 = 0-1
individuals <- matrix(c(1,0,1,0,1,
1,1,0,1,0,
0,0,1,0,1,
1,1,0,1,0), nrow = 4, byrow = TRUE)
gvalues <- hypredTpGenomeSpecific(genomeDef,
genotypes = individuals,
add.eff.G1 = 1, ## additive effect from genome 1
add.eff.G2 = 0.5, ## additive effect from genome 2
dom.eff.G1 = 0.5, ## dominance effect from genome 1
dom.eff.G2 = -0.5) ## dominance effect from genome 2
## value of ind. 1 must be 1.5, of ind. 2 must be 0
print(gvalues)
## test
gvalues <- as.vector(gvalues)
stopifnot(all.equal(gvalues, c(1.5, 0.0)))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.