July 9th, 2020

Introduction

Possible improvement strategies


  • 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)

Multi-trait selection


  • tandem selection

  • independent culling

  • index selection

Linear indices


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\).

Types of linear indices


\[ 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

Tables

Traits and weights for retrospective index


Weights for three scenarios depending on different sets of traits used for retrospective index:

  • S1: Breeder priority traits
  • S2: Breeder priority traits with non-adjusted values
  • S3: All traits

Traits and weights 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

Agreement between Breeder’s selection (bs) and retrospective indices


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

Means


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

Selection differential in percentage


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

Graphs

Dotplot for index values (S1) for total population and 500 breeder selected fraction

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")

Selection differential % for different selection methods - quantitative traits

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 %")

Discussion


Next steps…

  • 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