July 9th, 2020
optimizing program size
run multiple cohorts
recycling parents earlier
use selection index for multi-trait selection
evaluation strategy and optimal integration of GS/GP efforts (product development vs population improvement)
tandem selection
independent culling
index selection
For \(k\) traits, a linear index takes the form:
\[ I = w_1 \times t_1 + w_2 \times t_2 + \ldots + w_k \times t_k \]
where:
\(w_i\) is the weight for trait \(i\)
\(t_i\) is the phenotypic value for trait \(i\).
\[
I = \mathbf{w}^{T}\mathbf{t}
\]
base index: \(\mathbf{w}=\mathbf{a}\), where \(\mathbf{a}\) is the \(k\)-dimensional vector of economic weights
retrospective index: \(\mathbf{w}=\mathbf{P}^{-1}\mathbf{s}\), where \(\mathbf{P}\) is the phenotypic variance-covariance matrix and \(\mathbf{s}\) the observed selection differential
Smith-Hazel index: \(\mathbf{w}=\mathbf{P}^{-1}\mathbf{G}\,\mathbf{a}\), where \(\mathbf{G}\) is the genotypic variance-covariance matrix
Weights for three scenarios depending on different sets of traits used for retrospective index:
sw2 <- read.csv("./data/weights_in_sunits.csv") sw <- cbind(sw[, 2:4], sw2[, 3:5]) colnames(sw) <- c("w S1", "w S2", "w S3", "w S1 (su)", "w S2 (su)", "w S3 (su)") rownames(sw) <- c("AUDPC", "MTYA", "TTYA", "MTYNA", "TTYNA", "DM", "Tuber Uniformity", "Tuber Appareance", "Tuber Size") sw %>% kbl() %>% kable_paper("hover", full_width = F)
w S1 | w S2 | w S3 | w S1 (su) | w S2 (su) | w S3 (su) | |
---|---|---|---|---|---|---|
AUDPC | -9.314789e-05 | 0.0004905265 | -7.520534e-05 | -0.0123337 | 0.0649507 | -0.0099580 |
MTYA | 6.938472e-02 | NA | -1.050402e-01 | 0.5702024 | NA | -0.8632183 |
TTYA | -1.152635e-02 | NA | -1.528247e-02 | -0.0984757 | NA | -0.1305662 |
MTYNA | NA | -0.0419692511 | 1.239973e-01 | NA | -0.2830194 | 0.8361748 |
TTYNA | NA | 0.1673425005 | 1.314967e-01 | NA | 1.2005402 | 0.9433768 |
DM | NA | NA | -9.372296e-02 | NA | NA | -0.1413265 |
Tuber Uniformity | 3.440797e-01 | 0.3026619202 | 3.037424e-01 | 0.3509459 | 0.3087016 | 0.3098036 |
Tuber Appareance | -5.101702e-02 | -0.2195452059 | -1.978805e-01 | -0.0523269 | -0.2251820 | -0.2029610 |
Tuber Size | -5.356592e-02 | -0.0838258824 | -6.096642e-02 | -0.0557047 | -0.0871728 | -0.0634007 |
su: In standardized units
Common selected genotypes (out of 500):
temp <- data.frame(Scenario = c("S1: Breeder priority", "S2: Breeder priority non-adjusted", "S3: All traits"), csg.num = csg.num) colnames(temp)[2] <- "Common genotypes" temp %>% kbl() %>% kable_paper("hover", full_width = F)
Scenario | Common genotypes |
---|---|
S1: Breeder priority | 172 |
S2: Breeder priority non-adjusted | 224 |
S3: All traits | 262 |
Observed means for total population (2748) and for selected fraction (500 best) under different scenarios
temp <- sdm[, c(1, 2, 4, 6, 8)] colnames(temp) <- c("Means total", "Means BS", "Means S1", "Means S2", "Means S3") temp %>% kbl() %>% kable_paper("hover", full_width = F)
Means total | Means BS | Means S1 | Means S2 | Means S3 | |
---|---|---|---|---|---|
AUDPC | 332.737730 | 311.47021 | 291.90202 | 294.15703 | 297.89060 |
MTYA | 14.903906 | 19.82705 | 27.17375 | 26.13120 | 23.40628 |
TTYA | 17.459740 | 22.49562 | 29.87341 | 29.14692 | 26.16408 |
MTYNA | 10.693047 | 16.71962 | 19.98623 | 21.41265 | 20.70021 |
TTYNA | 12.440706 | 18.96168 | 22.00298 | 23.97933 | 23.17899 |
DM | 18.114004 | 17.97356 | 18.33907 | 18.29349 | 17.97659 |
Tuber uniformity | 5.435953 | 5.95200 | 6.71600 | 6.26400 | 6.22000 |
Tuber appareance | 5.449054 | 5.96400 | 6.72000 | 6.27200 | 6.22800 |
Tuber size | 5.418486 | 5.75600 | 6.23200 | 5.95200 | 5.94800 |
temp <- sdm[, c(1, 3, 5, 7, 9)] colnames(temp) <- c("Means total", "Sel. Dif. BS", "Sel. Dif. S1", "Sel. Dif. S2", "Sel. Dif. S3") temp %>% kbl() %>% kable_paper("hover", full_width = F)
Means total | Sel. Dif. BS | Sel. Dif. S1 | Sel. Dif. S2 | Sel. Dif. S3 | |
---|---|---|---|---|---|
AUDPC | 332.737730 | 6.3916770 | 12.272642 | 11.594927 | 10.4728506 |
MTYA | 14.903906 | 33.0325587 | 82.326339 | 75.331222 | 57.0479350 |
TTYA | 17.459740 | 28.8428403 | 71.098833 | 66.937884 | 49.8537763 |
MTYNA | 10.693047 | 56.3597571 | 86.908637 | 100.248354 | 93.5856978 |
TTYNA | 12.440706 | 52.4163971 | 76.862821 | 92.748935 | 86.3156784 |
DM | 18.114004 | -0.7753421 | 1.242476 | 0.990848 | -0.7586279 |
Tuber uniformity | 5.435953 | 9.4932119 | 23.547784 | 15.232776 | 14.4233498 |
Tuber appareance | 5.449054 | 9.4501937 | 23.324162 | 15.102551 | 14.2950715 |
Tuber size | 5.418486 | 6.2289322 | 15.013674 | 9.846179 | 9.7723573 |
temp <- d[, c("index.bp", "Selected")] temp$Group <- "Population" colnames(temp)[1] <- "Index" temp1 <- temp[temp$Selected == "S" & !is.na(temp$Selected), ] temp1$Group <- "Selected" temp <- rbind(temp, temp1) ggplot(temp, aes(x = Group, y = Index)) + geom_dotplot(binaxis = "y", binwidth = .03, stackdir = "center")
df <- data.frame(Trait = rep(rownames(sdm), 2), Selection = c(rep("Breeder selection", 9), rep("Breeder priority index", 9)), value = c(sdm$dif.bs, sdm$dif.bp) ) ggplot(df, aes(fill = Selection, y = value, x = Trait)) + geom_bar(position = "dodge", stat = "identity") + ylab("Selection differential %")
Determine strategy on how and where to apply index selection
Perform simulations to choose optimal index
\(\rightarrow\) fine tune index weights (input breeders needed)
Implement other quick wins in this pipeline?
Repeat analysis with other pipelines