Method new()
Starts the process of building a new simulation
by creating a new SimParam object and assigning a founder
population to the class. It is recommended that you save the
object with the name "SP", because subsequent functions will
check your global environment for an object of this name if
their simParam arguments are NULL. This allows you to call
these functions without explicitly supplying a simParam
argument with every call.
Usage
SimParam$new(founderPop)
Arguments
founderPop
an object of MapPop-class
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
Method setTrackPed()
Sets pedigree tracking for the simulation.
By default pedigree tracking is turned off. When turned on,
the pedigree of all individuals created will be tracked,
except those created by hybridCross
. Turning
off pedigree tracking will turn off recombination tracking
if it is turned on.
Usage
SimParam$setTrackPed(isTrackPed, force = FALSE)
Arguments
isTrackPed
should pedigree tracking be on.
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$setTrackPed(TRUE)
Method setTrackRec()
Sets recombination tracking for the simulation.
By default recombination tracking is turned off. When turned
on recombination tracking will also turn on pedigree tracking.
Recombination tracking keeps records of all individuals created,
except those created by hybridCross
, because their
pedigree is not tracked.
Usage
SimParam$setTrackRec(isTrackRec, force = FALSE)
Arguments
isTrackRec
should recombination tracking be on.
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$setTrackRec(TRUE)
Method resetPed()
Resets the internal lastId, the pedigree
and recombination tracking (if in use) to the
supplied lastId. Be careful using this function because
it may introduce a bug if you use individuals from
the deleted portion of the pedigree.
Usage
SimParam$resetPed(lastId = 0L)
Arguments
lastId
last ID to include in pedigree
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
#Create population
pop = newPop(founderPop, simParam=SP)
pop@id # 1:10
#Create another population after reseting pedigree
SP$resetPed()
pop2 = newPop(founderPop, simParam=SP)
pop2@id # 1:10
Method restrSegSites()
Sets restrictions on which segregating sites
can serve as a SNP and/or QTL.
Usage
SimParam$restrSegSites(
minQtlPerChr = NULL,
minSnpPerChr = NULL,
excludeQtl = NULL,
excludeSnp = NULL,
overlap = FALSE,
minSnpFreq = NULL
)
Arguments
minQtlPerChr
the minimum number of segregating sites for
QTLs. Can be a single value or a vector values for each chromosome.
minSnpPerChr
the minimum number of segregating sites for SNPs.
Can be a single value or a vector values for each chromosome.
excludeQtl
an optional vector of segregating site names to
exclude from consideration as a viable QTL.
excludeSnp
an optional vector of segregating site names to
exclude from consideration as a viable SNP.
overlap
should SNP and QTL sites be allowed to overlap.
minSnpFreq
minimum allowable frequency for SNP loci.
No minimum SNP frequency is used if value is NULL.
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$restrSegSites(minQtlPerChr=5, minSnpPerChr=5)
Method setSexes()
Changes how sexes are determined in the simulation.
The default sexes is "no", indicating all individuals are hermaphrodites.
To add sexes to the simulation, run this function with "yes_sys" or
"yes_rand". The value "yes_sys" will systematically assign
sexes to newly created individuals as first male and then female.
Populations with an odd number of individuals will have one more male than
female. The value "yes_rand" will randomly assign a sex to each
individual.
Usage
SimParam$setSexes(sexes, force = FALSE)
Arguments
sexes
acceptable value are "no", "yes_sys", or
"yes_rand"
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$setSexes("yes_sys")
Method setFounderHap()
Allows for the manual setting of founder haplotypes. This functionality
is not fully documented, because it is still experimental.
Usage
SimParam$setFounderHap(hapMap)
Arguments
hapMap
a list of founder haplotypes
Method addSnpChip()
Randomly assigns eligible SNPs to a SNP chip
Usage
SimParam$addSnpChip(nSnpPerChr, minSnpFreq = NULL, refPop = NULL, name = NULL)
Arguments
nSnpPerChr
number of SNPs per chromosome.
Can be a single value or nChr values.
minSnpFreq
minimum allowable frequency for SNP loci.
If NULL, no minimum frequency is used.
refPop
reference population for calculating SNP
frequency. If NULL, the founder population is used.
name
optional name for chip
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$addSnpChip(10)
Method addSnpChipByName()
Assigns SNPs to a SNP chip by supplying marker names. This function does
check against excluded SNPs and will not add the SNPs to the list of
excluded QTL for the purpose of avoiding overlap between SNPs and QTL.
Excluding these SNPs from being used as QTL can be accomplished using
the excludeQtl argument in SimParam's restrSegSites function.
Usage
SimParam$addSnpChipByName(markers, name = NULL)
Arguments
markers
a vector of names for the markers
name
optional name for chip
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
SP$addSnpChipByName(c("1_1","1_3"))
Method addStructuredSnpChip()
Randomly selects the number of snps in structure and then
assigns them to chips based on structure
Usage
SimParam$addStructuredSnpChip(nSnpPerChr, structure, force = FALSE)
Arguments
nSnpPerChr
number of SNPs per chromosome.
Can be a single value or nChr values.
structure
a matrix. Rows are snp chips, columns are chips.
If value is true then that snp is on that chip.
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
Method addTraitA()
Randomly assigns eligible QTLs for one or more additive traits.
If simulating more than one trait, all traits will be pleiotropic
with correlated additive effects.
Usage
SimParam$addTraitA(
nQtlPerChr,
mean = 0,
var = 1,
corA = NULL,
gamma = FALSE,
shape = 1,
force = FALSE,
name = NULL
)
Arguments
nQtlPerChr
number of QTLs per chromosome. Can be a single value or nChr values.
mean
a vector of desired mean genetic values for one or more traits
var
a vector of desired genetic variances for one or more traits
corA
a matrix of correlations between additive effects
gamma
should a gamma distribution be used instead of normal
shape
the shape parameter for the gamma distribution
(the rate/scale parameter of the gamma distribution is accounted
for via the desired level of genetic variance, the var argument)
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
name
optional name for trait(s)
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$addTraitA(10)
Method addTraitAD()
Randomly assigns eligible QTLs for one or more traits with dominance.
If simulating more than one trait, all traits will be pleiotropic
with correlated effects.
Usage
SimParam$addTraitAD(
nQtlPerChr,
mean = 0,
var = 1,
meanDD = 0,
varDD = 0,
corA = NULL,
corDD = NULL,
useVarA = TRUE,
gamma = FALSE,
shape = 1,
force = FALSE,
name = NULL
)
Arguments
nQtlPerChr
number of QTLs per chromosome. Can be a single value or nChr values.
mean
a vector of desired mean genetic values for one or more traits
var
a vector of desired genetic variances for one or more traits
meanDD
mean dominance degree
varDD
variance of dominance degree
corA
a matrix of correlations between additive effects
corDD
a matrix of correlations between dominance degrees
useVarA
tune according to additive genetic variance if true. If
FALSE, tuning is performed according to total genetic variance.
gamma
should a gamma distribution be used instead of normal
shape
the shape parameter for the gamma distribution
(the rate/scale parameter of the gamma distribution is accounted
for via the desired level of genetic variance, the var argument)
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
name
optional name for trait(s)
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$addTraitAD(10, meanDD=0.5)
Method altAddTraitAD()
An alternative method for adding a trait with additive and dominance effects
to an AlphaSimR simulation. The function attempts to create a trait matching
user defined values for number of QTL, inbreeding depression, additive genetic
variance and dominance genetic variance.
Usage
SimParam$altAddTraitAD(
nQtlPerChr,
mean = 0,
varA = 1,
varD = 0,
inbrDepr = 0,
limMeanDD = c(0, 1.5),
limVarDD = c(0, 0.5),
silent = FALSE,
force = FALSE,
name = NULL
)
Arguments
nQtlPerChr
number of QTLs per chromosome.
Can be a single value or nChr values.
mean
desired mean of the trait
varA
desired additive variance
varD
desired dominance variance
inbrDepr
desired inbreeding depression, see details
limMeanDD
limits for meanDD, see details
limVarDD
limits for varDD, see details
silent
should summary details be printed to the console
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
name
optional name for trait
Details
This function will always add a trait to 'SimParam', unless an error occurs
with picking QTLs. The resulting trait will always have the desired mean and
additive genetic variance. However, it may not have the desired values for
inbreeding depression and dominance variance. Thus, it is strongly recommended
to check the output printed to the console to determine how close the trait's
parameters came to these desired values.
The mean and additive genetic variance will always be achieved exactly. The
function attempts to achieve the desired dominance variance and inbreeding
depression while staying within the user supplied constraints for the
acceptable range of dominance degree mean and variance. If the desired values
are not being achieved, the acceptable range need to be increased and/or the
number of QTL may need to be increased. There are not limits to setting the
range for dominance degree mean and variance, but care should be taken to
with regards to the biological feasibility of the limits that are supplied.
The default limits were somewhat arbitrarily set, so I make not claim to
how reasonable these limits are for routine use.
Inbreeding depression in this function is defined as the difference in mean
genetic value between a population with the same allele frequency as the
reference population (population used to initialize SimParam) in
Hardy-Weinberg equilibrium compared to a population with the same allele
frequency that is fully inbred. This is equivalent to the amount the mean of
a population increases when going from an inbreeding coefficient of 1 (fully
inbred) to a population with an inbreeding coefficient of 0 (Hardy-Weinberg
equilibrium). Note that the sign of the value should (usually) be positive.
This corresponds to a detrimental effect of inbreeding when higher values of
the trait are considered biologically beneficial.
Summary information on this trait is printed to the console when silent=FALSE.
The summary information reports the inbreeding depression and dominance
variance for the population as well as the dominance degree mean and variance
applied to the trait.
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)
#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$altAddTraitAD(nQtlPerChr=10, mean=0, varA=1, varD=0.05, inbrDepr=0.2)
Method addTraitAG()
Randomly assigns eligible QTLs for one or more additive GxE traits.
If simulating more than one trait, all traits will be pleiotropic
with correlated effects.
Usage
SimParam$addTraitAG(
nQtlPerChr,
mean = 0,
var = 1,
varGxE = 1e-06,
varEnv = 0,
corA = NULL,
corGxE = NULL,
gamma = FALSE,
shape = 1,
force = FALSE,
name = NULL
)
Arguments
nQtlPerChr
number of QTLs per chromosome. Can be a single value or nChr values.
mean
a vector of desired mean genetic values for one or more traits
var
a vector of desired genetic variances for one or more traits
varGxE
a vector of total genotype-by-environment variances for the traits
varEnv
a vector of environmental variances for one or more traits
corA
a matrix of correlations between additive effects
corGxE
a matrix of correlations between GxE effects
gamma
should a gamma distribution be used instead of normal
shape
the shape parameter for the gamma distribution
(the rate/scale parameter of the gamma distribution is accounted
for via the desired level of genetic variance, the var argument)
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
name
optional name for trait(s)
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$addTraitAG(10, varGxE=2)
Method addTraitADG()
Randomly assigns eligible QTLs for a trait with dominance and GxE.
Usage
SimParam$addTraitADG(
nQtlPerChr,
mean = 0,
var = 1,
varEnv = 0,
varGxE = 1e-06,
meanDD = 0,
varDD = 0,
corA = NULL,
corDD = NULL,
corGxE = NULL,
useVarA = TRUE,
gamma = FALSE,
shape = 1,
force = FALSE,
name = NULL
)
Arguments
nQtlPerChr
number of QTLs per chromosome. Can be a single
value or nChr values.
mean
a vector of desired mean genetic values for one or more traits
var
a vector of desired genetic variances for one or more traits
varEnv
a vector of environmental variances for one or more traits
varGxE
a vector of total genotype-by-environment variances for the traits
meanDD
mean dominance degree
varDD
variance of dominance degree
corA
a matrix of correlations between additive effects
corDD
a matrix of correlations between dominance degrees
corGxE
a matrix of correlations between GxE effects
useVarA
tune according to additive genetic variance if true
gamma
should a gamma distribution be used instead of normal
shape
the shape parameter for the gamma distribution
(the rate/scale parameter of the gamma distribution is accounted
for via the desired level of genetic variance, the var argument)
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
name
optional name for trait(s)
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$addTraitADG(10, meanDD=0.5, varGxE=2)
Method addTraitAE()
Randomly assigns eligible QTLs for one or more additive and epistasis
traits. If simulating more than one trait, all traits will be pleiotropic
with correlated additive effects.
Usage
SimParam$addTraitAE(
nQtlPerChr,
mean = 0,
var = 1,
relAA = 0,
corA = NULL,
corAA = NULL,
useVarA = TRUE,
gamma = FALSE,
shape = 1,
force = FALSE,
name = NULL
)
Arguments
nQtlPerChr
number of QTLs per chromosome. Can be a single value or nChr values.
mean
a vector of desired mean genetic values for one or more traits
var
a vector of desired genetic variances for one or more traits
relAA
the relative value of additive-by-additive variance compared
to additive variance in a diploid organism with allele frequency 0.5
corA
a matrix of correlations between additive effects
corAA
a matrix of correlations between additive-by-additive effects
useVarA
tune according to additive genetic variance if true. If
FALSE, tuning is performed according to total genetic variance.
gamma
should a gamma distribution be used instead of normal
shape
the shape parameter for the gamma distribution
(the rate/scale parameter of the gamma distribution is accounted
for via the desired level of genetic variance, the var argument)
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
name
optional name for trait(s)
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$addTraitAE(10, relAA=0.1)
Method addTraitADE()
Randomly assigns eligible QTLs for one or more traits with dominance and
epistasis. If simulating more than one trait, all traits will be pleiotropic
with correlated effects.
Usage
SimParam$addTraitADE(
nQtlPerChr,
mean = 0,
var = 1,
meanDD = 0,
varDD = 0,
relAA = 0,
corA = NULL,
corDD = NULL,
corAA = NULL,
useVarA = TRUE,
gamma = FALSE,
shape = 1,
force = FALSE,
name = NULL
)
Arguments
nQtlPerChr
number of QTLs per chromosome. Can be a single value or nChr values.
mean
a vector of desired mean genetic values for one or more traits
var
a vector of desired genetic variances for one or more traits
meanDD
mean dominance degree
varDD
variance of dominance degree
relAA
the relative value of additive-by-additive variance compared
to additive variance in a diploid organism with allele frequency 0.5
corA
a matrix of correlations between additive effects
corDD
a matrix of correlations between dominance degrees
corAA
a matrix of correlations between additive-by-additive effects
useVarA
tune according to additive genetic variance if true. If
FALSE, tuning is performed according to total genetic variance.
gamma
should a gamma distribution be used instead of normal
shape
the shape parameter for the gamma distribution
(the rate/scale parameter of the gamma distribution is accounted
for via the desired level of genetic variance, the var argument)
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
name
optional name for trait(s)
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$addTraitADE(10)
Method addTraitAEG()
Randomly assigns eligible QTLs for one or more additive and epistasis
GxE traits. If simulating more than one trait, all traits will be pleiotropic
with correlated effects.
Usage
SimParam$addTraitAEG(
nQtlPerChr,
mean = 0,
var = 1,
relAA = 0,
varGxE = 1e-06,
varEnv = 0,
corA = NULL,
corAA = NULL,
corGxE = NULL,
useVarA = TRUE,
gamma = FALSE,
shape = 1,
force = FALSE,
name = NULL
)
Arguments
nQtlPerChr
number of QTLs per chromosome. Can be a single value or nChr values.
mean
a vector of desired mean genetic values for one or more traits
var
a vector of desired genetic variances for one or more traits
relAA
the relative value of additive-by-additive variance compared
to additive variance in a diploid organism with allele frequency 0.5
varGxE
a vector of total genotype-by-environment variances for the traits
varEnv
a vector of environmental variances for one or more traits
corA
a matrix of correlations between additive effects
corAA
a matrix of correlations between additive-by-additive effects
corGxE
a matrix of correlations between GxE effects
useVarA
tune according to additive genetic variance if true. If
FALSE, tuning is performed according to total genetic variance.
gamma
should a gamma distribution be used instead of normal
shape
the shape parameter for the gamma distribution
(the rate/scale parameter of the gamma distribution is accounted
for via the desired level of genetic variance, the var argument)
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
name
optional name for trait(s)
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$addTraitAEG(10, varGxE=2)
Method addTraitADEG()
Randomly assigns eligible QTLs for a trait with dominance,
epistasis and GxE.
Usage
SimParam$addTraitADEG(
nQtlPerChr,
mean = 0,
var = 1,
varEnv = 0,
varGxE = 1e-06,
meanDD = 0,
varDD = 0,
relAA = 0,
corA = NULL,
corDD = NULL,
corAA = NULL,
corGxE = NULL,
useVarA = TRUE,
gamma = FALSE,
shape = 1,
force = FALSE,
name = NULL
)
Arguments
nQtlPerChr
number of QTLs per chromosome. Can be a single
value or nChr values.
mean
a vector of desired mean genetic values for one or more traits
var
a vector of desired genetic variances for one or more traits
varEnv
a vector of environmental variances for one or more traits
varGxE
a vector of total genotype-by-environment variances for the traits
meanDD
mean dominance degree
varDD
variance of dominance degree
relAA
the relative value of additive-by-additive variance compared
to additive variance in a diploid organism with allele frequency 0.5
corA
a matrix of correlations between additive effects
corDD
a matrix of correlations between dominance degrees
corAA
a matrix of correlations between additive-by-additive effects
corGxE
a matrix of correlations between GxE effects
useVarA
tune according to additive genetic variance if true
gamma
should a gamma distribution be used instead of normal
shape
the shape parameter for the gamma distribution
(the rate/scale parameter of the gamma distribution is accounted
for via the desired level of genetic variance, the var argument)
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing.
name
optional name for trait(s)
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$addTraitADEG(10, meanDD=0.5, varGxE=2)
Method manAddTrait()
Manually add a new trait to the simulation. Trait must
be formatted as a LociMap-class
. If the
trait is not already formatted, consider using importTrait.
Usage
SimParam$manAddTrait(lociMap, varE = NA_real_, force = FALSE)
Arguments
lociMap
a new object descended from
LociMap-class
varE
default error variance for phenotype, optional
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing
Method importTrait()
Manually add a new trait(s) to the simulation. Unlike the
manAddTrait function, this function does not require
formatting the trait as a LociMap-class
.
The formatting is performed automatically for the user,
with more user friendly data.frames or matrices taken as
inputs. This function only works for A and AD trait types.
Usage
SimParam$importTrait(
markerNames,
addEff,
domEff = NULL,
intercept = NULL,
name = NULL,
varE = NULL,
force = FALSE
)
Arguments
markerNames
a vector of names for the QTL
addEff
a matrix of additive effects (nLoci x nTraits).
Alternatively, a vector of length nLoci can be supplied for
a single trait.
domEff
optional dominance effects for each locus
intercept
optional intercepts for each trait
name
optional name(s) for the trait(s)
varE
default error variance for phenotype, optional
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing
Method switchTrait()
Switch a trait in the simulation.
Usage
SimParam$switchTrait(traitPos, lociMap, varE = NA_real_, force = FALSE)
Arguments
traitPos
an integer indicate which trait to switch
lociMap
a new object descended from
LociMap-class
varE
default error variance for phenotype, optional
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing
Method removeTrait()
Remove a trait from the simulation
Usage
SimParam$removeTrait(traits, force = FALSE)
Arguments
traits
an integer vector indicating which traits to remove
force
should the check for a running simulation be
ignored. Only set to TRUE if you know what you are doing
Method setVarE()
Defines a default values for error
variances used in setPheno
. These defaults
will be used to automatically generate phenotypes when new
populations are created. See the details section of setPheno
for more information about each arguments and how they
should be used.
Usage
SimParam$setVarE(h2 = NULL, H2 = NULL, varE = NULL, corE = NULL)
Arguments
h2
a vector of desired narrow-sense heritabilities
H2
a vector of desired broad-sense heritabilities
varE
a vector or matrix of error variances
corE
an optional matrix of error correlations
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$addTraitA(10)
SP$setVarE(h2=0.5)
Method setCorE()
Defines a correlation structure for default
error variances. You must call setVarE
first to define
the default error variances.
Usage
SimParam$setCorE(corE)
Arguments
corE
a correlation matrix for the error variances
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$addTraitA(10, mean=c(0,0), var=c(1,1), corA=diag(2))
SP$setVarE(varE=c(1,1))
E = 0.5*diag(2)+0.5 #Positively correlated error
SP$setCorE(E)
Method rescaleTraits()
Linearly scales all traits to achieve desired
values of means and variances in the founder population.
Usage
SimParam$rescaleTraits(
mean = 0,
var = 1,
varEnv = 0,
varGxE = 1e-06,
useVarA = TRUE
)
Arguments
mean
a vector of new trait means
var
a vector of new trait variances
varEnv
a vector of new environmental variances
varGxE
a vector of new GxE variances
useVarA
tune according to additive genetic variance if true
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
SP$addTraitA(10)
#Create population
pop = newPop(founderPop, simParam=SP)
meanG(pop)
#Change mean to 1
SP$rescaleTraits(mean=1)
\dontshow{SP$nThreads = 1L}
#Run resetPop for change to take effect
pop = resetPop(pop, simParam=SP)
meanG(pop)
Method setRecombRatio()
Set the relative recombination rates between males
and females. This allows for sex-specific recombination rates,
under the assumption of equivalent recombination landscapes.
Usage
SimParam$setRecombRatio(femaleRatio)
Arguments
femaleRatio
relative ratio of recombination in females compared to
males. A value of 2 indicate twice as much recombination in females. The
value must be greater than 0. (default is 1)
Examples
#Create founder haplotypes
founderPop = quickHaplo(nInd=10, nChr=1, segSites=10)#Set simulation parameters
SP = SimParam$new(founderPop)
\dontshow{SP$nThreads = 1L}
SP$setRecombRatio(2) #Twice as much recombination in females
Method switchGenMap()
Replaces existing genetic map.
Usage
SimParam$switchGenMap(genMap, centromere = NULL)
Arguments
genMap
a list of length nChr containing
numeric vectors for the position of each segregating
site on a chromosome.
centromere
a numeric vector of centromere
positions. If NULL, the centromere are assumed to
be metacentric.
Method switchFemaleMap()
Replaces existing female genetic map.
Usage
SimParam$switchFemaleMap(genMap, centromere = NULL)
Arguments
genMap
a list of length nChr containing
numeric vectors for the position of each segregating
site on a chromosome.
centromere
a numeric vector of centromere
positions. If NULL, the centromere are assumed to
be metacentric.
Method switchMaleMap()
Replaces existing male genetic map.
Usage
SimParam$switchMaleMap(genMap, centromere = NULL)
Arguments
genMap
a list of length nChr containing
numeric vectors for the position of each segregating
site on a chromosome.
centromere
a numeric vector of centromere
positions. If NULL, the centromere are assumed to
be metacentric.
Method addToRec()
For internal use only.
Usage
SimParam$addToRec(lastId, id, mother, father, isDH, hist, ploidy)
Arguments
lastId
ID of last individual
id
the name of each individual
mother
vector of mother iids
father
vector of father iids
isDH
indicator for DH lines
hist
new recombination history
ploidy
ploidy level
Method ibdHaplo()
For internal use only.
Usage
SimParam$ibdHaplo(iid)
Arguments
iid
internal ID
Method updateLastId()
For internal use only.
Usage
SimParam$updateLastId(lastId)
Arguments
lastId
last ID assigned
Method addToPed()
For internal use only.
Usage
SimParam$addToPed(lastId, id, mother, father, isDH)
Arguments
lastId
ID of last individual
id
the name of each individual
mother
vector of mother iids
father
vector of father iids
isDH
indicator for DH lines
Method clone()
The objects of this class are cloneable with this method.
Usage
SimParam$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.