createRandomCrossPlan {SIMplyBee} | R Documentation |
Create a cross plan by randomly sampling drones for each queen from a drone population
Description
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
Usage
createRandomCrossPlan(IDs, drones, nDrones)
Arguments
IDs |
numeric, IDs of either the virgin queens OR the colonies (can't have both in the same cross plan!) |
drones |
|
nDrones |
integer or function, number of drones to be mated with each virgin queen |
Value
named list with names being virgin queen or colony input IDs with each list element holding the IDs of selected drones
Examples
founderGenomes <- quickHaplo(nInd = 15, nChr = 1, segSites = 100)
SP <- SimParamBee$new(founderGenomes)
basePop <- createVirginQueens(founderGenomes)
drones <- createDrones(basePop[1], n = 1000)
droneGroups <- pullDroneGroupsFromDCA(drones, n = 10, nDrones = 10)
# Create an apiary of colonies and cross it
apiary <- createMultiColony(x = basePop[2:5])
apiary <- cross(apiary, drones = droneGroups[1:4])
apiary <- buildUp(apiary, nWorkers = 100, nDrones = 100)
# Create a DCA from the drones from the apiary
DCA <- createDCA(apiary)
DCA # Inspect the DCA
# Create virgin queens, a virgin colony, and a virgin apiary
virginQueen1 <- basePop[6]
virginQueen2 <- basePop[7]
colony1 <- createColony(basePop[8])
apiary1 <- createMultiColony(basePop[9:11])
# 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)
# Cross the virgin queens according to the cross plan
virginQueen1 <- cross(virginQueen1, drones = DCA, crossPlan = crossPlanVirginQueens)
virginQueen2 <- cross(virginQueen2, drones = DCA, crossPlan = crossPlanVirginQueens)
# 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)
# Cross the colonies according to the cross plan
colony1 <- cross(colony1, drones = DCA, crossPlan = crossPlanColonies)
apiary1 <- cross(apiary1, drones = DCA, crossPlan = crossPlanColonies)
nFathers(colony1)
nFathers(apiary1)
# 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)
# Create another virgin apiary
apiary2 <- createMultiColony(basePop[12:14])
# Create a cross plan with colonyIDs for crossing the apiary on the mating station
crossPlanApiary <- createRandomCrossPlan(IDs = getId(apiary2),
drones = matingStationDCA,
nDrones = nFathersPoisson)
# Cross the apiary
apiary2 <- cross(apiary2, drones = matingStationDCA, crossPlan = crossPlanApiary)
nFathers(apiary2)
[Package SIMplyBee version 0.3.0 Index]