Level 0 function that returns a pooled genotype from true genotypes to mimic genotyping of a pool of colony members.
getPooledGeno(x, type = NULL, sex = NULL)
matrix, true genotypes with individuals in rows and sites in columns
character, "mean" for average genotype or "count" for the counts of reference and alternative alleles
character, vector of "F" and "M" to denote the sex of individuals
in x
a numeric vector with average allele dosage when type = "mean"
and a two-row matrix with the counts of reference (1st row) and alternative (2nd row) alleles
founderGenomes <- quickHaplo(nInd = 3, nChr = 1, segSites = 50)
SP <- SimParamBee$new(founderGenomes)
SP$nThreads = 1L
basePop <- createVirginQueens(founderGenomes)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
drones <- createDrones(x = basePop[1], nInd = 1000)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
droneGroups <- pullDroneGroupsFromDCA(drones, n = 10, nDrones = nFathersPoisson)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
apiary <- createMultiColony(basePop[2:3], n = 2)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
apiary <- cross(x = apiary, drones = droneGroups[c(2, 3)])
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
apiary <- buildUp(x = apiary, nWorkers = 6, nDrones = 3)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
apiary <- addVirginQueens(x = apiary, nInd = 5)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
genoQ <- getQueenSegSiteGeno(apiary[[1]])
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
genoF <- getFathersSegSiteGeno(apiary[[1]])
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
genoW <- getWorkersSegSiteGeno(apiary[[1]])
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
genoD <- getDronesSegSiteGeno(apiary[[1]])
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
genoV <- getVirginQueensSegSiteGeno(apiary[[1]])
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
# Pool of drones
sexD <- getCasteSex(apiary[[1]], caste = "drones")
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
getPooledGeno(x = genoD, type = "count", sex = sexD)[, 1:10]
#> Error in eval(expr, envir, enclos): object 'genoD' not found
(poolD <- getPooledGeno(x = genoD, type = "mean", sex = sexD))[, 1:10]
#> Error in eval(expr, envir, enclos): object 'genoD' not found
# ... compare to queen's genotype
genoQ[, 1:10]
#> Error in eval(expr, envir, enclos): object 'genoQ' not found
plot(
y = poolD, x = genoQ, ylim = c(0, 2), xlim = c(0, 2),
ylab = "Average allele dosage in drones",
xlab = "Allele dosage in the queen"
)
#> Error in eval(expr, envir, enclos): object 'genoQ' not found
# As an exercise you could repeat the above with different numbers of drones!
# Pool of workers
getPooledGeno(x = genoW, type = "count")[, 1:10]
#> Error in eval(expr, envir, enclos): object 'genoW' not found
(poolW <- getPooledGeno(x = genoW, type = "mean"))[, 1:10]
#> Error in eval(expr, envir, enclos): object 'genoW' not found
# ... compare to fathers' and queen's avearage genotype
sexF <- getCasteSex(apiary[[1]], caste = "fathers")
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
sexQ <- rep(x = "F", times = nrow(genoF))
#> Error in eval(expr, envir, enclos): object 'genoF' not found
sexFQ <- c(sexF, sexQ)
#> Error in eval(expr, envir, enclos): object 'sexF' not found
genoFQ <- rbind(genoF, genoQ[rep(x = 1, times = nrow(genoF)), ])
#> Error in eval(expr, envir, enclos): object 'genoF' not found
(poolFQ <- getPooledGeno(x = genoFQ, type = "mean", sex = sexFQ))[, 1:10]
#> Error in eval(expr, envir, enclos): object 'genoFQ' not found
plot(
y = poolW, x = poolFQ, ylim = c(0, 2), xlim = c(0, 2),
ylab = "Average allele dosage in workers",
xlab = "Average allele dosage in the queen and fathers"
)
#> Error in eval(expr, envir, enclos): object 'poolFQ' not found
# As an exercise you could repeat the above with different numbers of workers!