Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
include = TRUE
)
## ----crossing_decision_tree, echo=FALSE, out.width='90%', fig.cap = "Crossing decision tree"----
knitr::include_graphics("decisionTreeCrossing.png")
## -----------------------------------------------------------------------------
library(package = "SIMplyBee")
library(package = "ggplot2")
## -----------------------------------------------------------------------------
# Simulate 40 founder genomes
founderGenomes <- quickHaplo(nInd = 60, nChr = 1, segSites = 100)
# Set global population paramaters
SP <- SimParamBee$new(founderGenomes)
# Create a base population of 40 virgin queens
basePop <- createVirginQueens(founderGenomes)
# Prepare populations with a single virgin queen
virginQueen1 <- basePop[1]
# Prepare populations with multiple virgin queens
virginQueens1 <- basePop[2:4]
# Prepare virgin MultiColony objects
beekeeper1 <- createMultiColony(basePop[6:11])
beekeeper2 <- createMultiColony(basePop[12:16])
beekeeper3 <- createMultiColony(basePop[17:21])
beekeeper4 <- createMultiColony(basePop[22:31])
beekeeper5 <- createMultiColony(basePop[32:40])
beekeeper6 <- createMultiColony(basePop[41:50])
beekeeper7 <- createMultiColony(basePop[51:60])
## -----------------------------------------------------------------------------
# Create a DCA from the remaining virgin queens
DCA <- createDrones(basePop[42:50], nInd = 1000)
## -----------------------------------------------------------------------------
# Samples some drone for mating from the DCA
drones <- selectInd(DCA, nInd = 10, use = "rand")
# Mate the virgin queen with the drones
queen1 <- cross(x = virginQueen1, drones = drones, checkCross = "warning")
# Check the number of fathers for the queen
nFathers(queen1)
## -----------------------------------------------------------------------------
# Pre-select drone (father) populations from a DCA
droneGroups <- pullDroneGroupsFromDCA(DCA, n = 20, nDrones = nFathersTruncPoisson)
## -----------------------------------------------------------------------------
sapply(droneGroups, FUN = nInd)
## -----------------------------------------------------------------------------
# Pop-class with multiple queens
queens1 <- cross(x = virginQueens1, drones = droneGroups[1:3], checkCross = "warning")
nFathers(queens1)
## -----------------------------------------------------------------------------
# MultiColony-class
beekeeper1 <- cross(x = beekeeper1, drones = droneGroups[4:9], checkCross = "warning")
nFathers(beekeeper1)
## -----------------------------------------------------------------------------
crossPlan1 <- createCrossPlan(x = beekeeper2,
drones = DCA,
nDrones = nFathersPoisson)
# Inspect the cross plan
crossPlan1
sapply(crossPlan1, length)
## -----------------------------------------------------------------------------
# Cross the colonies of the beekeeper 2
beekeeper2 <- cross(x = beekeeper2, drones = DCA, crossPlan = crossPlan1, checkCross = "warning")
nFathers(beekeeper2)
## -----------------------------------------------------------------------------
# Read locations from a file
locations = read.csv("Colony_locations.csv")
# Set location to apiaries
beekeeper1_locations <- locations[locations$ColonyID %in% getId(beekeeper1),]
beekeeper1 <- setLocation(beekeeper1,
location = Map(c, beekeeper1_locations$X, beekeeper1_locations$Y))
beekeeper2_locations <- locations[locations$ColonyID %in% getId(beekeeper2),]
beekeeper2 <- setLocation(beekeeper2,
location = Map(c, beekeeper2_locations$X, beekeeper2_locations$Y))
beekeeper3_locations <- locations[locations$ColonyID %in% getId(beekeeper3),]
beekeeper3 <- setLocation(beekeeper3,
location = Map(c, beekeeper3_locations$X, beekeeper3_locations$Y))
## -----------------------------------------------------------------------------
locationsDF <- data.frame(Location = getLocation(c(beekeeper1, beekeeper2, beekeeper3), collapse = TRUE),
Beekeeper = c(rep("Beekeeper1", nColonies(beekeeper1)),
rep("Beekeeper2", nColonies(beekeeper2)),
rep("Beekeeper3", nColonies(beekeeper3))))
ggplot(data = locationsDF, aes(x = Location.1, y = Location.2, colour = Beekeeper)) +
geom_point()
## -----------------------------------------------------------------------------
crossPlan2 <- createCrossPlan(x = beekeeper3,
droneColonies = c(beekeeper1, beekeeper2),
spatial = TRUE,
radius = 3,
nDrones = 13)
# Inspect the cross plan
crossPlan2
sapply(crossPlan2, length)
## -----------------------------------------------------------------------------
beekeeper3 <- cross(x = beekeeper3,
crossPlan = crossPlan2,
droneColonies = c(beekeeper1, beekeeper2),
nDrones = 13,
checkCross = "warning")
# Inspect the number of fathers
nFathers(beekeeper3)
## -----------------------------------------------------------------------------
beekeeper4_locations <- locations[locations$ColonyID %in% getId(beekeeper4),]
beekeeper4 <- setLocation(beekeeper4,
location = Map(c, beekeeper4_locations$X, beekeeper4_locations$Y))
beekeeper5_locations <- locations[locations$ColonyID %in% getId(beekeeper5),]
beekeeper5 <- setLocation(beekeeper5,
location = Map(c, beekeeper5_locations$X, beekeeper5_locations$Y))
## -----------------------------------------------------------------------------
beekeeper4 <- cross(x = beekeeper4,
droneColonies = c(beekeeper1, beekeeper2, beekeeper3),
crossPlan = "create",
spatial = FALSE,
nDrones = 12,
checkCross = "warning")
nFathers(beekeeper4)
beekeeper5 <- cross(x = beekeeper5,
droneColonies = c(beekeeper1, beekeeper2, beekeeper3),
crossPlan = "create",
spatial = TRUE,
radius = 3,
nDrones = 12,
checkCross = "warning")
nFathers(beekeeper5)
## -----------------------------------------------------------------------------
# Create a DCA at a mating station from colony1
(matingStationDCA <- createMatingStationDCA(beekeeper1[[3]], nDPQs = 20, nDronePerDPQ = 1000))
## -----------------------------------------------------------------------------
# Mate only an beekeeper
beekeeper6 <- cross(beekeeper6,
drones = matingStationDCA,
spatial = FALSE,
crossPlan = "create",
nDrones = 15,
checkCross = "warning")
nFathers(beekeeper6)
## -----------------------------------------------------------------------------
# Create a single drone for single drone insemination
singleDrone = createDrones(beekeeper1[[1]], nInd = 1)
# Create a cross plan for crossing some of the colonies in an open DCA,
# some with single drone, and some on a mating station
crossPlanBeekeeper7 <- c(
createCrossPlan(x = beekeeper7[1],
drones = singleDrone,
nDrones = 1),
createCrossPlan(x = beekeeper7[2:6],
drones = DCA,
nDrones = nFathersTruncPoisson),
createCrossPlan(x = beekeeper7[7:10],
drones = matingStationDCA,
nDrones = nFathersTruncPoisson)
)
beekeeper7 <- cross(x = beekeeper7,
crossPlan = crossPlanBeekeeper7,
drones = c(singleDrone, DCA, matingStationDCA),
checkCross = "warning")
nFathers(beekeeper7)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.