Skip to contents

Server logic for summary statistics module displaying genetic analysis results including kinship statistics, histograms, box plots, and relationship designation analysis.

Usage

modSummaryStatsServer(
  id,
  geneticValues,
  pedigree,
  kinshipMatrix = NULL,
  founderStats = NULL,
  kinshipOverrides = NULL,
  twinRelations = NULL
)

Arguments

id

character vector of length 1. Module namespace identifier.

geneticValues

reactive returning genetic value analysis results. Must be a data frame with columns indivMeanKin and gu (the id column is not read). Optional zScores column (what reportGV() emits; the legacy name zScore is also accepted) enables z-score plots.

pedigree

reactive returning pedigree data frame with columns id, sire, dam, and sex. Optionally gen.

kinshipMatrix

optional reactive returning kinship matrix. When supplied it is used unchanged, so it should already carry any twin correction and kinship overrides (the app passes the shared matrix, which does). If NULL, or if the reactive errors or returns NULL, the module calculates kinship from the pedigree.

founderStats

optional reactive returning a list of founder statistics (fe, fg, total, nMaleFounders, nFemaleFounders). When supplied, a founder summary table is rendered on the Summary Statistics tab (monolith parity). If NULL, it is omitted.

kinshipOverrides

optional reactive returning a validated outside-information kinship-override data frame (id1, id2, kinship); see applyKinshipOverrides. When the module recomputes kinship from the pedigree (the fallback; the app normally supplies a matrix that already carries them), the overrides are applied to that matrix, so the relationship table and the kinship CSV export reflect the supplied values regardless of tab order. The override moves the kinship value only; the relation label stays pedigree-derived (it is computed from pedigree structure, not from the kinship value). Overridden pairs are flagged with a logical overridden column in the relationship table. NULL (the default) is a no-op.

twinRelations

optional reactive returning a validated twin/zygosity sidecar data.frame (id1, id2, code); see checkTwinRelations. When the module recomputes kinship from the pedigree (the fallback; the app normally supplies a matrix that already reflects it), it is passed straight through to kinship so the relationship table and the kinship CSV export reflect a declared MZ-twin pair's corrected identity regardless of tab order (BL-N Slice 3). NULL (the default) is a no-op.

Value

A list with reactive components:

  • summaryData - Summary statistics (nAnimals, meanMK, meanGU)

  • relationships - Pairwise relationship designations from convertRelationships(). When kinshipOverrides are supplied, a logical overridden column flags the pairs whose kinship value came from an override.

  • relationClasses - Relationship class frequency table from makeRelationClassesTable()

  • firstOrderCounts - First-order relative counts per animal from countFirstOrder()

  • mkSummary - Six-number summary of mean kinship

  • guSummary - Six-number summary of genome uniqueness

  • mkShape, guShape - Shape statistics (skewness and kurtosis) of mean kinship and genome uniqueness

  • mkHistogram, zscoreHistogram, guHistogram - The histogram plots (ggplot objects)

  • meanKinshipBoxPlot, zscoreBoxPlot, guBoxPlot - The box plots (ggplot objects)

Details

This module provides:

  • Summary statistics (counts, mean kinship, genome uniqueness), a six-number summary with skewness and kurtosis, a founder table and an Effective Population Size block

  • Histograms and box plots for genetic value distributions, each exportable as PNG (six plots)

  • Relationship classification using convertRelationships()

  • Relationship class frequency tables using makeRelationClassesTable()

  • First-order relative counts using countFirstOrder()

  • CSV export for the kinship matrix, founders, relationships, the first-order counts and the relationship class table