Colourful Biometrical Analysis for Plant Breeding and Genetics
Available on CRAN: install.packages("BKBreed")
BKBreed is a small, accurate R package that runs the everyday analyses of a
plant-breeding programme in one call each — and returns a publication-ready,
stunningly colourful ggplot2 figure for every result through a single verb:
bk_plot().
It was built to be different from the existing agricultural-statistics
packages (e.g. agricolae, AgroR, metan, aridagri): those are broad and
console-first; BKBreed is genetics-focused, figure-first, and covers the
augmented (unreplicated) designs that balanced-only packages cannot.
| Domain | Function | Signature figure |
|---|---|---|
| Randomised Block Design | bk_rbd() |
ranked genotype means + CD letters |
| Factorial RBD | bk_frbd() |
interaction line plot |
| Augmented Alpha-Lattice / RCBD | bk_augmented() |
adjusted-means lollipop vs check line |
| Genetic variability (GCV, PCV, h², GA) | bk_variability() |
GCV vs PCV bars + heritability |
| Genotypic & phenotypic correlation | bk_correlation() |
diverging correlation heatmap |
| Path-coefficient analysis | bk_path() |
direct/indirect effect matrix |
| Line × Tester combining ability | bk_lxt() |
GCA effect bars + SCA heatmap |
| Griffing diallel (Method 2, Model I) | bk_diallel() |
GCA effect bars + SCA heatmap |
| Mahalanobis D² divergence | bk_diversity() |
D² principal-coordinate clusters |
| G×E stability (Eberhart-Russell + AMMI) | bk_stability() |
AMMI-2 biplot & E-R plot |
Every function also returns a tidy result object with a formatted print()
method (ANOVA tables with SS/MS/F/p, SE, CD, CV%, letter groupings).
# from CRAN (recommended)
install.packages("BKBreed")
# or the development version from GitHub
# # remotes::install_github("bkpraveenars-del/BKBreed")
install.packages("BKBreed", repos = c('https://bkpraveenars-del.r-universe.dev', 'https://cloud.r-project.org'))
Dependencies: ggplot2 (required); ggrepel, patchwork (optional, for nicer
labels). R ≥ 4.0. No compiled code — no Rtools needed.
library(BKBreed)
## 1. RBD — one call gives ANOVA + CD + letters + a colour figure
rbd <- bk_rbd(bk_data("rbd"), trait = "grain_yield",
gen = "genotype", rep = "rep")
rbd # formatted ANOVA + ranked means
bk_plot(rbd) # ranked colour bars with SE and letter groups
## 2. Genetic variability across several traits
traits <- c("grain_yield","plant_height","tillers","panicle_len","test_weight")
bk_plot(bk_variability(bk_data("rbd"), traits, "genotype", "rep"))
## 3. Correlation heatmap (genotypic)
bk_plot(bk_correlation(bk_data("rbd"), traits, "genotype", "rep"))
## 4. Path analysis on yield
bk_plot(bk_path(bk_data("rbd"),
c("plant_height","tillers","panicle_len","test_weight"),
dependent = "grain_yield", gen = "genotype", rep = "rep"))
## 5. D² divergence clusters
bk_plot(bk_diversity(bk_data("rbd"), traits, "genotype", "rep"))
## 6. Augmented alpha-lattice (unreplicated test entries + checks)
bk_plot(bk_augmented(bk_data("augmented"), "grain_yield", "genotype",
block = "block", rep = "rep",
checks = paste0("CHK-", 1:4)))
## 7. Multi-location stability — AMMI-2 biplot
bk_plot(bk_stability(bk_data("mlt"), "grain_yield",
gen = "genotype", env = "environment", rep = "rep"))
Run everything and save all figures as PNG:
source(system.file("examples", "run_all.R", package = "BKBreed"))
bk_data("rbd") pearl-millet multi-trait RBD · bk_data("frbd") N × variety
factorial · bk_data("augmented") augmented alpha-lattice (4 checks + 20 test
entries) · bk_data("mlt") 10 genotypes × 5 environments ·
bk_data("lxt") 5 lines × 3 testers · bk_data("diallel") 6-parent half diallel.
If you use BKBreed in your research, please cite it:
Praveen Kumar B. K. (2026). BKBreed: Colourful Biometrical Analysis for Plant Breeding and Genetics. R package version 0.3.2. https://CRAN.R-project.org/package=BKBreed DOI: 10.5281/zenodo.21716452
In R: citation("BKBreed")
GPL-3. Author: Dr. Praveen Kumar B. K., Department of Genetics and Plant Breeding, Agriculture University, Jodhpur, India.