crossInfo | R Documentation |
crossInfo object store specific crossing information
parentPopulation
[population class] Parent population that will generatea new population of the next generation
nSelectionWays
[numeric] Number of selection ways
selectionMethod
[character] Selection method
traitNoSel
[numeric / list] (list of) number of trait No of your interest for selection
userSI
[matrix] Selection index defined by user. If you set ‘userSI' and 'selectionMethod = ’userSI'', this argument will be used for selection. The number of rows equals to the number of individuals. If you have multiple traits, it will be a matrix of multiple columns.
lociEffects
[matrix] Effect of the genetic markers (including intercept). If you have multiple traits, it will be a matrix of multiple columns.
blockSplitMethod
[character] How to determine the markers belonging to each block when computing OHV. You can define the number of markers in each block ('nMrkInBlock') or the minimum length of each segment ('minimumSegmentLength').
nMrkInBlock
[numeric] Number of markers in each block. This will be used for the computation of OHV.
minimumSegmentLength
[numeric] Minimum length of each segment [cM]. This will be used for the computation of OHV.
nSelInitOPV
[numeric] Number of selected candiates for first screening before selecting parent candidates by OPV
nIterOPV
[numeric] Number of iterations for computation of OPV
nProgeniesEMBV
[numeric] Number of progenies of double haploids produced when computing EMBV
nIterEMBV
[numeric] Number of iterations to estimate EMBV
nCoresEMBV
[numeric] Number of cores used for EMBV estimation
clusteringForSel
[logical] Apply clustering results of marker genotype to selection or not
nCluster
[numeric] Number of clusters
nTopCluster
[numeric] Number of top clusters used for selection
nTopEach
[numeric] Number of selected individuals in each cluster
nSel
[numeric] Number of selection candidates
multiTraitsEvalMethod
[character] When evaluating multiple traits, you can choose how to evaluate these traits simultaneously. One method is to take a weighted sum of these traits, and the other is to compute a product of these traits (adjusted to be positive values in advance.)
hSel
[numeric] Hyperparameter which determines which trait is weighted when selecting parent candidates for multiple traits.
matingMethod
[character] Mating method
allocateMethod
[character] Allocation method
weightedAllocationMethod
[character] Which selection index will be used for weighted resource allocation
nProgenies
[numeric] Number of progenies for each pair
traitNoRA
[numeric] trait No of your interest for resource allocation
h
[numeric] Hyperprameter which determines how parent pair with high BV is emphasized when producing progenies
includeGVP
[logical] Whether or not to consider genetic variance of progenies of each pair when determining the number of progenies per each pair
nNextPop
[numeric] Number of progenies for the next generation
nPairs
[numeric] Number of parent pairs for the next generation
nameMethod
[character] Method for naming individuals
indNames
[character] Character string vector specifying the individuals names of the new population
seedSimRM
[numeric] Random seed for mate pairs
seedSimMC
[numeric] Random seed for make crosses
selCands
[character] Names of selection candidates
crosses
[data.frame] data.frame with crossing instructions: parents names
ind1
ind2
, number of descendant n
and names of
descendant names
genDist
[dist] 'dist' object of genetic distance computed from marker genotype by Euclidean distance
groups
[list] List of named vectors of group IDs of each individual categorized by hierarchical clustering
BV
[matrix] matrix of the breeding values
WBV
[matrix] matrix of the weighted breeding values
OHV
[matrix] matrix of the optimal haploid values
EMBV
[matrix] matrix of the expected maximum haploid breeding values
haploEffMaxArray
[array] haploid value of each segment (haplotype block) for each individual
computeBV
[matrix] matrix of the breeding values
computeWBV
[matrix] matrix of the weighted breeding values
computeOHV
[matrix] matrix of the optimal haploid values
computeEMBV
[matrix] matrix of the expected maximum haploid breeding values
randomMate
[data.frame] data.frame
of the crossing table by random mating
roundRobin
[data.frame] data.frame
of the crossing table by round-robin
diallel
[data.frame] data.frame
of the crossing table by diallel
diallelWithSelfing
[data.frame] data.frame
of the crossing table by diallel with selfing
selfing
[data.frame] data.frame
of the crossing table by selfing
maxGenDist
[data.frame] data.frame
of the crossing table by mating pairs whose genetic distance is maximum
makeDH
[data.frame] data.frame
of the crossing table by makeDH
makeCrosses
[list] return a list of new individuals
makeDHs
[list] return a list of new double haploids
new()
Create a new population object.
crossInfo$new( parentPopulation, nSelectionWays = NA, selectionMethod = "nonSelection", traitNoSel = NULL, userSI = NULL, lociEffects = NULL, blockSplitMethod = NULL, nMrkInBlock = NULL, minimumSegmentLength = NULL, nSelInitOPV = NULL, nIterOPV = NULL, nProgeniesEMBV = NULL, nIterEMBV = NULL, nCoresEMBV = NULL, clusteringForSel = FALSE, nCluster = NULL, nTopCluster = NULL, nTopEach = NULL, nSel = NULL, multiTraitsEvalMethod = NULL, hSel = NULL, matingMethod = "randomMate", allocateMethod = "equalAllocation", weightedAllocationMethod = NULL, nProgenies = NULL, traitNoRA = NULL, h = NULL, includeGVP = FALSE, nNextPop = NULL, nPairs = NULL, nameMethod = "pairBase", indNames = NULL, seedSimRM = NA, seedSimMC = NA, selCands = NULL, crosses = NULL, verbose = TRUE )
parentPopulation
[population class] Parent population that will generate a new population of the next generation
nSelectionWays
[numeric] Number of selection ways
selectionMethod
[character] Selection method
traitNoSel
[numeric / list] (list of) number of trait No of your interest for selection
userSI
[matrix] Selection index defined by user. If you set ‘userSI' and 'selectionMethod = ’userSI'', this argument will be used for selection. The number of rows equals to the number of individuals. If you have multiple traits, it will be a matrix of multiple columns.
lociEffects
[matrix] Effect of the genetic markers (including intercept). If you have multiple traits, it will be a matrix of multiple columns.
blockSplitMethod
[character] How to determine the markers belonging to each block when computing OHV. You can define the number of markers in each block ('nMrkInBlock') or the minimum length of each segment ('minimumSegmentLength').
nMrkInBlock
[numeric] Number of markers in each block. This will be used for the computation of OHV.
minimumSegmentLength
[numeric] Minimum length of each segment [cM]. This will be used for the computation of OHV.
nSelInitOPV
[numeric] Number of selected candiates for first screening before selecting parent candidates by OPV
nIterOPV
[numeric] Number of iterations for computation of OPV
nProgeniesEMBV
[numeric] Number of progenies of double haploids produced when computing EMBV
nIterEMBV
[numeric] Number of iterations to estimate EMBV
nCoresEMBV
[numeric] Number of cores used for EMBV estimation
clusteringForSel
[logical] Apply clustering results of marker genotype to selection or not
nCluster
[numeric] Number of clusters
nTopCluster
[numeric] Number of top clusters used for selection
nTopEach
[numeric] Number of selected individuals in each cluster
nSel
[numeric] Number of selection candidates
multiTraitsEvalMethod
[character] When evaluating multiple traits, you can choose how to evaluate these traits simultaneously. One method is to take a weighted sum of these traits, and the other is to compute a product of these traits (adjusted to be positive values in advance.)
hSel
[numeric] Hyperparameter which determines which trait is weighted when selecting parent candidates for multiple traits.
matingMethod
[character] Mating method
allocateMethod
[character] Allocation method
weightedAllocationMethod
[character] Which selection index will be used for weighted resource allocation
nProgenies
[numeric] Number of progenies for each pair
traitNoRA
[numeric] Trait No of your interest for resource allocation
h
[numeric] Hyperparameter which determines how parent pair with high BV is emphasized when producing progenies
includeGVP
[logical] Whether or not to consider genetic variance of progenies of each pair when determining the number of progenies per each pair
nNextPop
[numeric] Number of progenies for the next generation
nPairs
[numeric] Number of parent pairs for the next generation
nameMethod
[character] Method for naming individuals
indNames
[character] Character string vector specifying the individuals names of the new population
seedSimRM
[numeric] Random seed for mate pairs
seedSimMC
[numeric] Random seed for make crosses
selCands
[character] Names of selection candidates
crosses
[data.frame] data.frame with crossing instructions: parents names
ind1
ind2
, number of descendant n
and names of
descendant names
verbose
[boolean] display information
A new 'population' object.
### create simulation information mySimInfo <- simInfo$new(simName = "Simulation Example", simGeno = TRUE, simPheno = TRUE, nSimGeno = 1, nSimPheno = 3, nCoreMax = 4, nCorePerGeno = 1, nCorePerPheno = 3, saveDataFileName = NULL) ### create specie information mySpec <- specie$new(nChr = 3, lChr = c(100, 150, 200), specName = "Example 1", ploidy = 2, mutRate = 10^-8, recombRate = 10^-6, chrNames = c("C1", "C2", "C3"), nLoci = 100, recombRateOneVal = FALSE, effPopSize = 100, simInfo = mySimInfo, verbose = TRUE) ### create lociInfo object myLoci <- lociInfo$new(genoMap = NULL, specie = mySpec) ### create simulated population simulatedPop <- createPop(geno = NULL, haplo = NULL, lociInfo = myLoci, founderIsInitPop = TRUE, popName = "First Population", verbose = FALSE) ### create cross oinformation object myCrossInfo <- crossInfo$new(parentPopulation = simulatedPop, selectionMethod = "nonSelection", matingMethod = "randomMate", nNextPop = 100) print(myCrossInfo) myCrossInfo$designResourceAllocation() newIndsList <- myCrossInfo$makeCrosses
computeGenDist()
Compute genetic distance from marker genotype
crossInfo$computeGenDist()
hClustering()
Hierarchical clustering for marker genotype
crossInfo$hClustering(nCluster = NULL)
nCluster
[numeric] Number of clusters
selectParentCands()
Select parent candidates If you set 'addCands = TRUE', you can add selection candidates by setting each parameter.
crossInfo$selectParentCands( nSelectionWaysPlus = NA, selectionMethod = NULL, traitNoSel = NULL, nSelInitOPV = NULL, clusteringForSel = NULL, nCluster = NULL, nTopCluster = NULL, nTopEach = NULL, nSel = NULL, multiTraitsEvalMethod = NULL, hSel = NULL, parentCands = NULL, addCands = FALSE )
nSelectionWaysPlus
[numeric] Number of selection ways when you want to add candidates
selectionMethod
[character] Selection method when you want to add candidates
traitNoSel
[numeric / list] (list of) number of trait No of your interest for selection when you want to add candidates
nSelInitOPV
[numeric] Number of selected candiates for first screening before selecting parent candidates by OPV
clusteringForSel
[logical] Apply clustering results of marker genotype to selection or not when you want to add candidates
nCluster
[numeric] Number of clusters when you want to add candidates
nTopCluster
[numeric] Number of top clusters used for selection when you want to add candidates
nTopEach
[numeric] Number of selected individuals in each cluster when you want to add candidates
nSel
[numeric] Number of selection candidates when you want to add candidates
multiTraitsEvalMethod
[character] When evaluating multiple traits, you can choose how to evaluate these traits simultaneously. One method is to take a weighted sum of these traits, and the other is to compute a product of these traits (adjusted to be positive values in advance.)
hSel
[numeric] Hyperparameter which determines which trait is weighted when selecting parent candidates for multiple traits.
parentCands
[character] Names of selection candidates to be added
addCands
[logical] If you set 'addCands = TRUE', you can add selection candidates by setting each parameter. In other words, the parameters above does not make sense.
allocateProgenies()
Allocate the number of progenies to each parent pair
crossInfo$allocateProgenies(crosses0)
crosses0
[data.frame] data.frame with crossing instructions: parents names
ind1
ind2
designResourceAllocation()
Design resource allocation (make cross table)
crossInfo$designResourceAllocation()
print()
Display informations about the object
crossInfo$print()
clone()
The objects of this class are cloneable with this method.
crossInfo$clone(deep = FALSE)
deep
Whether to make a deep clone.
Jannink, Jean-Luc. “Dynamics of Long-Term Genomic Selection.” Genetics Selection Evolution 42, no. 1 (December 2010). https://doi.org/10.1186/1297-9686-42-35.
Daetwyler, H.D., Hayden, M.J., Spangenberg, G.C. and Hayes, B.J. (2015) Selection on optimal haploid value increases genetic gain and preserves more genetic diversity relative to genomic selection. Genetics. 200(4): 1341-1348.
Müller, D., Schopp, P. and Melchinger, A.E. (2018) Selection on expected maximum haploid breeding values can increase genetic gain in recurrent genomic selection. G3 (Bethesda). 8(4): 1173-1181.
## ------------------------------------------------
## Method `crossInfo$new`
## ------------------------------------------------
### create simulation information
mySimInfo <- simInfo$new(simName = "Simulation Example",
simGeno = TRUE,
simPheno = TRUE,
nSimGeno = 1,
nSimPheno = 3,
nCoreMax = 4,
nCorePerGeno = 1,
nCorePerPheno = 3,
saveDataFileName = NULL)
### create specie information
mySpec <- specie$new(nChr = 3,
lChr = c(100, 150, 200),
specName = "Example 1",
ploidy = 2,
mutRate = 10^-8,
recombRate = 10^-6,
chrNames = c("C1", "C2", "C3"),
nLoci = 100,
recombRateOneVal = FALSE,
effPopSize = 100,
simInfo = mySimInfo,
verbose = TRUE)
### create lociInfo object
myLoci <- lociInfo$new(genoMap = NULL, specie = mySpec)
### create simulated population
simulatedPop <- createPop(geno = NULL,
haplo = NULL,
lociInfo = myLoci,
founderIsInitPop = TRUE,
popName = "First Population",
verbose = FALSE)
### create cross oinformation object
myCrossInfo <- crossInfo$new(parentPopulation = simulatedPop,
selectionMethod = "nonSelection",
matingMethod = "randomMate",
nNextPop = 100)
print(myCrossInfo)
myCrossInfo$designResourceAllocation()
newIndsList <- myCrossInfo$makeCrosses
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.