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,
kinshipFor = 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
indivMeanKinandgu(theidcolumn is not read). OptionalzScorescolumn (whatreportGV()emits; the legacy namezScoreis also accepted) enables z-score plots.- pedigree
reactive returning pedigree data frame with columns
id,sire,dam, andsex. Optionallygen.- kinshipMatrix
optional reactive returning kinship matrix. When supplied it is used unchanged, so it should already carry any twin correction and kinship overrides. If NULL, or if the reactive errors or returns NULL, the module asks
kinshipFor, then 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); seeapplyKinshipOverrides. When the module recomputes kinship from the pedigree (the fallback; in the appkinshipForalready applies 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; therelationlabel stays pedigree-derived (it is computed from pedigree structure, not from the kinship value). Overridden pairs are flagged with a logicaloverriddencolumn 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); seecheckTwinRelations. When the module recomputes kinship from the pedigree (the fallback; in the appkinshipForalready reflects it), it is passed straight through tokinshipso 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.- kinshipFor
optional function of a character vector of animal IDs that returns those animals' kinship matrix; with no IDs it returns every animal's. The kinship CSV download and the relationships download ask it for every animal at each click, and the relationship classes download asks once and keeps only its class counts, so no kinship matrix or relationship table is kept between clicks.
appServerpasses one that applies the twins and overrides. A providedkinshipMatrixis used first; with neither, the module calculates kinship from the pedigree.NULL(the default) is not used.
Value
A list with reactive components:
summaryData- Summary statistics (nAnimals, meanMK, meanGU)relationships- Pairwise relationship designations fromconvertRelationships(). WhenkinshipOverridesare supplied, a logicaloverriddencolumn flags the pairs whose kinship value came from an override.relationClasses- Relationship class frequency table frommakeRelationClassesTable()firstOrderCounts- First-order relative counts per animal fromcountFirstOrder()mkSummary- Six-number summary of mean kinshipguSummary- Six-number summary of genome uniquenessmkShape,guShape- Shape statistics (skewness and kurtosis) of mean kinship and genome uniquenessmkHistogram,zscoreHistogram,guHistogram- The histogram plots (ggplotobjects)meanKinshipBoxPlot,zscoreBoxPlot,guBoxPlot- The box plots (ggplotobjects)
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
See also
modSummaryStatsUI for the user interface
convertRelationships for relationship classification
makeRelationClassesTable for relationship class
summary
countFirstOrder for first-order relative counting
kinship for kinship matrix calculation
Other Shiny modules:
modBreedingGroupsServer(),
modBreedingGroupsUI(),
modCrossCenterIdentityServer(),
modCrossCenterIdentityUI(),
modDeidentifiedExportServer(),
modDeidentifiedExportUI(),
modGeneticDiversityServer(),
modGeneticDiversityUI(),
modGeneticValueServer(),
modGeneticValueUI(),
modGvAndBgDescServer(),
modGvAndBgDescUI(),
modInputServer(),
modInputUI(),
modMarkerGeneticsServer(),
modMarkerGeneticsUI(),
modMatePairServer(),
modMatePairUI(),
modORIPReportingServer(),
modORIPReportingUI(),
modPedigreeServer(),
modPedigreeUI(),
modPotentialParentsServer(),
modPotentialParentsUI(),
modPyramidServer(),
modPyramidUI(),
modSnapshotTrendsServer(),
modSnapshotTrendsUI(),
modSummaryStatsUI()
