Skip to contents

Population lifecycle

Create, reopen, and close the DuckDB-backed population that holds every table.

open_pop()
Open a new breeding population
restore_pop()
Reconnect to an existing tidybreed database
close_pop()
Close tidybreed population database connection
archive_replicate()
Archive a completed replicate and reset the working database

Genome and genetic map

Define loci, chromosomes, per-chromosome inheritance and recombination rules, and the founder haplotype pools that individuals are sampled from.

define_genome()
Define the genome structure of a breeding population
define_chromosome()
Define a chromosome's inheritance or recombination rule
define_founder_haplotypes()
Define founder haplotypes for a tidybreed population

Individuals

Create founders and simulate meiosis to produce offspring from a mating plan.

add_founders()
Add founder individuals to population
add_offspring()
Add offspring via recombination

Traits — genetic layer

Define the underlying genetic quantities: additive variance, QTL effects, and genetic covariances between traits. Nothing here describes an observation.

define_trait()
Define a genetic component trait
define_trait_simple()
Define a trait with QTL and sampled effects in one call
define_additive_effects()
Define additive QTL effects for one or more traits
define_effect_cov_matrix()
Define a variance-covariance matrix for any named effect

Phenotypes — observation layer

Define what is actually recorded on an animal: distribution, mean, residual variance, sex expression, and any fixed or random effects.

define_phenotype()
Define an observed phenotype
define_residual_cov()
Define residual covariance entries for observed phenotypes
define_effect_intercept()
Set the intercept (population mean) for a phenotype
define_effect_fixed_class()
Define a discrete fixed-class effect in a phenotype model
define_effect_fixed_cov()
Define a continuous covariate (regression) effect in a phenotype model
define_effect_random()
Define a random group effect in a phenotype model

Simulation output

Compute and store true breeding values, phenotype records, and estimated breeding values from an external evaluation.

add_tbv()
Compute and store true breeding values without writing phenotypes
add_phenotype()
Generate phenotype records for a subset of individuals
add_ebv()
Add estimated breeding values to a tidybreed population

Genotypes and SNP chips

Define chips, record which animals were genotyped, and pull dosage matrices out for analysis or export.

define_chip()
Define a SNP chip
add_genotypes()
Mark animals as genotyped on a SNP chip
add_dosage()
Materialize genotype dosage values into ind_genotype
extract_genotypes()
Extract genotype data for individuals, by chip and/or QTL loci

Selection index

Register index weights and apply them to EBVs, TBVs, or any table of values.

define_index()
Define a selection index
add_index()
Compute a selection index from a tidybreed table

Tables, columns, and queries

Read any table lazily, add or update columns, build group-level variables, and delete rows. This is how simulation state stays in the database rather than in parallel R objects.

get_table()
Get a table reference from a tidybreed population
mutate_table()
Add or modify columns in any population database table
mutate_derived()
Compute and write a derived column from a cross-table join
mutate_group_seq()
Assign sequential integer group IDs to filtered rows
mutate_group_named()
Assign named group labels to filtered rows by count or proportion
mutate_group_concatenate()
Create a composite group column by concatenating existing columns
remove_rows()
Remove rows from one or more population tables
define_table()
Define a custom table in the population database

Schema documentation

Inspect what every table and column means, and attach your own descriptions that travel with the .duckdb file.

schema()
View table-level descriptions for a tidybreed population
describe_table()
View column-level descriptions for a tidybreed table
define_schema_description()
Define or update a description for a table or column

dplyr methods for tidybreed_table

Standard dplyr verbs work on the lazy table reference returned by get_table(). Filtering happens inside DuckDB; collect() pulls into R.

filter(<tidybreed_table>)
Filter method for tidybreed_table
select(<tidybreed_table>)
Select method for tidybreed_table
arrange(<tidybreed_table>)
Arrange method for tidybreed_table
collect(<tidybreed_table>)
Collect method for tidybreed_table
pull(<tidybreed_table>)
Pull method for tidybreed_table
count(<tidybreed_table>)
Count method for tidybreed_table
slice_head(<tidybreed_table>)
slice_head method for tidybreed_table
slice_tail(<tidybreed_table>)
slice_tail method for tidybreed_table
slice_min(<tidybreed_table>)
slice_min method for tidybreed_table
slice_max(<tidybreed_table>)
slice_max method for tidybreed_table
slice_sample(<tidybreed_table>)
slice_sample method for tidybreed_table

Display methods for the package’s S3 classes.

print(<tidybreed_pop>)
Print method for tidybreed_pop
summary(<tidybreed_pop>)
Summarize a tidybreed population
print(<tidybreed_table>)
Print method for tidybreed_table
print(<tidybreed_schema>)
Print method for tidybreed_schema
print(<tidybreed_summary>)
Print a tidybreed_summary object
print(<tidybreed_table_desc>)
Print method for tidybreed_table_desc