R/Functions_L0_auxilary.R
createRandomCrossPlan.Rd
Level 0 function that creates a cross plan by randomly sampling a desired number of drones from a DCA and assigning them to either virgin queen or colony ID
createRandomCrossPlan(IDs, drones, nDrones)
numeric, IDs of either the virgin queens OR the colonies (can't have both in the same cross plan!)
Pop-class
, drone population available for mating (DCA)
integer or function, number of drones to be mated with each virgin queen
named list with names being virgin queen or colony input IDs with each list element holding the IDs of selected drones
founderGenomes <- quickHaplo(nInd = 15, nChr = 1, segSites = 100)
SP <- SimParamBee$new(founderGenomes)
basePop <- createVirginQueens(founderGenomes)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
drones <- createDrones(basePop[1], n = 1000)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
droneGroups <- pullDroneGroupsFromDCA(drones, n = 10, nDrones = 10)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
# Create an apiary of colonies and cross it
apiary <- createMultiColony(x = basePop[2:5])
#> Error in createMultiColony(x = basePop[2:5]): object 'basePop' not found
apiary <- cross(apiary, drones = droneGroups[1:4])
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
apiary <- buildUp(apiary, nWorkers = 100, nDrones = 100)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
# Create a DCA from the drones from the apiary
DCA <- createDCA(apiary)
#> Error in is(x, class2 = "Colony"): object 'apiary' not found
DCA # Inspect the DCA
#> Error in eval(expr, envir, enclos): object 'DCA' not found
# Create virgin queens, a virgin colony, and a virgin apiary
virginQueen1 <- basePop[6]
#> Error in eval(expr, envir, enclos): object 'basePop' not found
virginQueen2 <- basePop[7]
#> Error in eval(expr, envir, enclos): object 'basePop' not found
colony1 <- createColony(basePop[8])
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
apiary1 <- createMultiColony(basePop[9:11])
#> Error in createMultiColony(basePop[9:11]): object 'basePop' not found
# Create a combined cross plan for mating the virgin queens (with virgin queen IDs)
crossPlanVirginQueens <- createRandomCrossPlan(IDs = c(virginQueen1@id, virginQueen2@id),
drones = DCA,
nDrones = nFathersPoisson)
#> Error in is(x, class2 = "Pop"): object 'DCA' not found
# Cross the virgin queens according to the cross plan
virginQueen1 <- cross(virginQueen1, drones = DCA, crossPlan = crossPlanVirginQueens)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
virginQueen2 <- cross(virginQueen2, drones = DCA, crossPlan = crossPlanVirginQueens)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
# Create a cross plan for mating the virgin colonies and the virgin apiary (with colony IDs)
crossPlanColonies <- createRandomCrossPlan(IDs = getId(c(colony1, apiary1)),
drones = DCA,
nDrones = nFathersPoisson)
#> Error in is(x, class2 = "Pop"): object 'DCA' not found
# Cross the colonies according to the cross plan
colony1 <- cross(colony1, drones = DCA, crossPlan = crossPlanColonies)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
apiary1 <- cross(apiary1, drones = DCA, crossPlan = crossPlanColonies)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
nFathers(colony1)
#> Error in is(x, class2 = "Pop"): object 'colony1' not found
nFathers(apiary1)
#> Error in is(x, class2 = "Pop"): object 'apiary1' not found
# You can mate virgin queens and colonies in the same way on the mating stations's DCA
# Create a mating station from colony1
matingStationDCA <- createMatingStationDCA(colony1, nDPQs = 20, nDronePerDPQ = 10)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
# Create another virgin apiary
apiary2 <- createMultiColony(basePop[12:14])
#> Error in createMultiColony(basePop[12:14]): object 'basePop' not found
# Create a cross plan with colonyIDs for crossing the apiary on the mating station
crossPlanApiary <- createRandomCrossPlan(IDs = getId(apiary2),
drones = matingStationDCA,
nDrones = nFathersPoisson)
#> Error in is(x, class2 = "Pop"): object 'matingStationDCA' not found
# Cross the apiary
apiary2 <- cross(apiary2, drones = matingStationDCA, crossPlan = crossPlanApiary)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
nFathers(apiary2)
#> Error in is(x, class2 = "Pop"): object 'apiary2' not found