'shiny' Application for Population Structure and Ancestry Assessments

Provides a 'shiny' web application developed by the Breeding Insight team to support pedigree validation and ancestry assessment of plant and animal populations. The app integrates Mendelian error analysis, parentage assignment and genetic composition/ancestry methods to help researchers evaluate genomic relationships through an accessible, web-based interface without requiring command-line tools. Pedigree validation, Mendelian error analysis and parentage assignment build on the 'BIGpopA' package (< https://CRAN.R-project.org/package=BIGpopA>) and support diploid and polyploid data. Genotypes can be uploaded as dosage tables, VCF files, or 'PLINK' .ped files. Ancestry estimation uses the sparse non-negative matrix factorization method of Frichot et al. (2014) as implemented in the 'LEA' package by Frichot and Francois (2015) . Line and breed composition are estimated using the breed composition regression method of Funkhouser et al. (2017) , extended to polyploid species by Sandercock et al. (2025) .


Development Status R-CMD-check CRAN status CRAN downloads CRAN monthly downloads R Shiny License GitHub issues GitHub pull requests GitHub Release

Familia_logo

Pedigree Validation and Ancestry Assessment App

Familia is a Shiny web application developed by Breeding Insight to support pedigree validation and ancestry assessment of plant and animal populations. The app integrates Mendelian error analysis, parentage assignment, supervised ancestry estimation, and unsupervised ancestry inference to help breeding programs evaluate genomic relationships through an accessible web-based interface to BIGpopA.

Genotypes can be uploaded as dosage tables, VCF files or PLINK .ped files, and every tab has an Example files link that downloads a small simulated data set.

Overview

Accurate pedigree records and ancestry information are foundational to modern breeding programs. Familia provides an interactive and reproducible framework for:

  • Detecting and correcting structural pedigree errors before downstream analysis
  • Validating pedigree trios using Mendelian error analysis
  • Assigning parentage to progeny from candidate parent pools
  • Estimating line and breed composition through supervised ancestry methods
  • Inferring population structure through unsupervised ancestry estimation

The application is designed to be species-agnostic and adaptable to a wide range of plant and animal breeding programs.


Key Features

Pedigree Cleaning

  • Detection of exact duplicate records, conflicting trios, and inconsistent sex roles
  • Automatic addition of missing parents with unknown parent codes
  • Detection of cycles and circular dependencies in pedigree relationships
  • Configurable correction options with interactive review of flagged records
  • Exportable corrected pedigree and per-issue result tables

Pedigree Validation

  • Mendelian error analysis across trios using marker genotype data
  • Configurable error thresholds for trio and single-parent evaluations
  • Automatic classification of trios into Pass, Fail, Low Markers, No Genotype Data, Founders, and Missing Parents categories
  • Optional founders file (.txt, .csv or .tsv) to preserve known founder trios
  • Configurable ploidy: even ploidy uses the full Mendelian test, odd ploidy (e.g. triploid) a homozygosity-based check
  • Per-marker mismatch summary (Marker Summary) to spot problematic markers
  • Marker Trio Table with the status of every marker in every trio
  • Exportable corrected pedigree and per-status result tables

Parentage Assignment

  • Support for best pair, best male parent, best female parent, and best match assignment methods
  • Configurable error threshold and minimum marker filters
  • Tie detection (with an ambiguity count per progeny) and self-match exclusion options
  • Top N candidates per progeny
  • Fill in pedigree: fills missing parents of a 3-column pedigree (grayed out unless the progeny file is a pedigree); an optional founders file skips the founders
  • Configurable ploidy for diploid and polyploid data
  • Results classified as Pass, High Error, or Low Markers
  • Exportable full results and per-status tables

Line/Breed Composition Estimation (PolyBreedTools)

  • Supervised ancestry estimation based on reference population genotypes
  • Support for polyploid species via configurable ploidy parameter
  • Interactive ancestry bar plot with customizable color palettes
  • Assignment threshold (default 50%) labels samples below it as Undetermined
  • Model fit (R2) of each sample in the results
  • Automatic filtering of low-quality samples and markers
  • Exportable results as Excel files

Unsupervised Ancestry Estimation (SNMF)

  • Unsupervised ancestry inference via LEA::snmf()
  • Supports VCF, VCF.gz (diploid and polyploid, up to ploidy 8), and LEA .geno input formats
  • Configurable K range, repetitions, alpha, iterations, and tolerance
  • Cross-entropy-based automatic or manual K selection
  • Interactive Q-matrix ancestry plot with sort and label controls
  • Exportable Q-matrix CSV and cross-entropy summary

Installation and Running the App

Familia uses a golem application structure and is installed like a standard R package.

Install from CRAN

install.packages("Familia")

Install the development version from GitHub

if (!requireNamespace("remotes", quietly = TRUE)) {
  install.packages("remotes")
}
remotes::install_github("Breeding-Insight/Familia")

Run Familia

Familia::run_app()

Dependencies

Key R packages used by Familia include:

  • shiny
  • BIGpopA
  • bs4Dash
  • DT
  • vcfR
  • data.table
  • openxlsx
  • zip
  • LEA (Bioconductor, required for SNMF-based ancestry inference)

Citation

If you use Familia in research, please cite it as: Chinchilla-Vargas, J., Sandercock, A. M., & Breeding Insight Team (2026). Familia: 'shiny' Application for Population Structure and Ancestry Assessments. R package version 2.2.0. https://CRAN.R-project.org/package=Familia

You can obtain this citation (including a BibTeX entry) at any time by running citation("Familia") in R.

Also cite:

License

Familia is released under the Apache License, Version 2.0. See https://www.apache.org/licenses/LICENSE-2.0 for details.

Acknowledgments

Familia is developed as part of the Breeding Insight initiative (https://www.breedinginsight.org) to provide open-source, data-driven tools for modern breeding programs.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("Familia")

2.2.0 by Josue Chinchilla-Vargas, 15 hours ago


https://github.com/Breeding-Insight/Familia


Report a bug at https://github.com/Breeding-Insight/Familia/issues


Browse source code at https://github.com/cran/Familia


Authors: Josue Chinchilla-Vargas [aut, cre] , Alexander M. Sandercock [aut] , Breeding Insight Team [aut]


Documentation:   PDF Manual  


Apache License (>= 2) license


Imports BIGpopA, bs4Dash, config, curl, data.table, dplyr, DT, ggplot2, golem, httr, openxlsx, RColorBrewer, scales, shiny, shinydisconnect, shinyjs, shinyWidgets, tibble, tidyr, vcfR, withr, zip

Suggests knitr, LEA, rmarkdown, spelling, svglite, testthat


See at CRAN