Skip to contents

Assembles the live breeding-group, genetic-value, and kinship reactive inputs into the per-group heat-map statistics (via getGeneticDiversityStats) and renders the red/yellow/green heat map (via makeGeneticDiversityHeatmap). When breeding groups have not been formed or the genetic value analysis has not been run, the module shows guidance instead of an empty plot.

Usage

modGeneticDiversityServer(
  id,
  groups,
  pedigree,
  geneticValues,
  kinshipMatrix,
  currentDate = Sys.Date()
)

Arguments

id

character vector of length 1. Module namespace identifier.

groups

reactive returning a list of character vectors of animal IDs, one per breeding group (the groups returned by modBreedingGroupsServer). That list includes the trailing "Unused" element when candidates remain unplaced, and the heat map scores it as another group.

pedigree

reactive returning the quality-controlled pedigree data frame.

geneticValues

reactive returning the genetic value report data frame (with id and value columns).

kinshipMatrix

reactive returning a square kinship matrix (row and column names are animal IDs) covering every member of every group; getGeneticDiversityStats stops when a group member is missing from it. In the app this is the genetic-value tab's population-filtered matrix, not the full-pedigree matrix.

currentDate

Date used to derive age and the production birth window. Defaults to Sys.Date().

Value

A list with two reactive elements: stats, the per-group metric data frame (or NULL when data are not ready), and heatmap, the ggplot heat map (or NULL). Errors raised inside getGeneticDiversityStats (a group member missing from the kinship matrix, or a group member with a missing birth date) are not caught, so the reactives error instead of returning NULL.