makeCrosses | R Documentation |
Proceed to several crosses
makeCrosses(crosses, pop, seed = NULL)
crosses |
data.frame with crossing instructions: parents names
|
pop |
list of individuals containing the parents |
seed |
Random seed for make crosses |
list of new individuals
### 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 = c(3, 4, 5),
recombRateOneVal = FALSE,
effPopSize = 3,
simInfo = mySimInfo,
verbose = TRUE)
### create lociInfo object
myLoci <- lociInfo$new(genoMap = NULL, specie = mySpec)
### simulate haplotype
rawHaplo1 <- matrix(sample(c(0, 1), (3 + 4 + 5) * 2, replace = TRUE),
nrow = 2)
colnames(rawHaplo1) <- paste0("Locus_", 1:(3 + 4 + 5))
myHaplo1 <- myBreedSimulatR::haplotype$new(lociInfo = myLoci,
haplo = rawHaplo1)
rawHaplo2 <- matrix(sample(c(0, 1), (3 + 4 + 5) * 2, replace = TRUE),
nrow = 2)
colnames(rawHaplo2) <- paste0("Locus_", 1:(3 + 4 + 5))
myHaplo2 <- myBreedSimulatR::haplotype$new(lociInfo = myLoci,
haplo = rawHaplo2)
### create individuals:
myInd1 <- individual$new(name = "Ind 1",
specie = mySpec,
parent1 = "OkaaSan1",
parent2 = "OtouSan1",
haplo = myHaplo1,
verbose = TRUE)
myInd2 <- individual$new(name = "Ind 2",
specie = mySpec,
parent1 = "OkaaSan2",
parent2 = "OtouSan2",
haplo = myHaplo2,
verbose = TRUE)
myInd3 <- individual$new(name = "Ind 3",
specie = mySpec,
parent1 = "OkaaSan1",
parent2 = "OtouSan1",
haplo = myHaplo1,
verbose = TRUE)
### crate population
myPop <- population$new(name = "My Population 1",
generation = 1,
inds = list(myInd1, myInd2, myInd3),
verbose = FALSE)
### make crosses
crossToDo <- data.frame(ind1 = c("Ind 1", "Ind 1", "Ind 2"),
ind2 = c("Ind 2", "Ind 3", "Ind 3"),
n = c(1, 1, 2),
names = c("Off 1-2", "Off 1-3", "Off 2-3"))
makeCrosses(crossToDo, myPop)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.