wild pedigree explorerR is an R package designed to simplify the analysis of wild pedigree data. The package was primarily developed to work with pedigree data generated by COLONY pedigree reconstruction software. However, it can also accommodate pedigree data from other sources. By combining the reconstructed pedigree with genetic sample metadata, wpeR creates visual and tabular representations of the pedigree, allowing the user to interpret the pedigree in spatial and temporal terms. The main goal of the package is to provide an efficient solution for the analysis of complex wild pedigree data and to help the user to gain valuable insights into genetic relationships within wild animal populations.
Key Features
- Pedigree import and formatting
- Individual observation timeframe identification
- Family organization
- Temporal pedigree visualization
- Geographic pedigree visualization and GIS output
- Integration with other R packages
Input Data
The wpeR package requires two main input datasets for analysis: Pedigree and Genetic samples metadata.
Basic workflow
Function call order |
Function | Description |
---|---|---|
1a | get_colony() | Organizes COLONY output |
1b | get_ped() | Organizes pedigree data |
2 | anim_timespan() | Get dates of individuals first and last sample |
3 | org_fams() | Organizes animals into families and expands pedigree data |
4 | plot_table() | Prepares pedigree data for plotting and spatial representation |
5.1 | ped_satplot() | Temporal plot of pedigree |
5.2 | ped_spatial() | Get files for spatial representation of pedigree |
####DATA PREPARATION####
# Define the path to the pedigree data file.
path <- paste0(system.file("extdata", package = "wpeR"), "/wpeR_samplePed")
# Retrieve the pedigree data from the get_colony function.
ped_colony <- get_colony(path, sampledata, rm_obsolete_parents = TRUE, out = "FamAgg")
# Get animal timespan data using the anim_timespan() function.
animal_ts <- anim_timespan(wolf_samples$AnimalRef,
wolf_samples$Date,
wolf_samples$SType,
dead = c("Tissue"))
# Add animal timespan to the sampledata
sampledata <- merge(wolf_samples, animal_ts, by.x = "AnimalRef", by.y = "ID", all.x = TRUE)
# Organize families and expand pedigree data using the org_fams function.
## families data frame
fams <- org_fams(ped_colony, sampledata, output = "fams")
## extended pedigree data frame
ped <- org_fams(ped_colony,sampledata, output = "ped")
# The example show just one family
## Prepare data for plotting.
pt <- plot_table(plot_fams = 1,
org_tables$fams,
org_tables$ped,
sampledata,
deadSample = c("Tissue"))
####VISUALIZATION####
## Get a temporal pedigree plot.
ped_satplot(plottable = pt)

EXAMPLE Visualization using kinship2
package
# optional pedigre plot pedigree plot from kinship2
### extract parent codes
parents1 = strsplit(fams[fams$FamID == 1,]$parents, "_")[[1]]
### filter the family from pedigre
Fam1 = ped[(ped$FamID == 1 | ped$id %in% parents1),]
### plot using kinship2
plot(kinship2::pedigree(Fam1$id, Fam1$father, Fam1$mother, Fam1$sex))

Object Name | Description | |
---|---|---|
mother… | Rpoints | POINT object representing reference samples of each animal. Reference sample for parents is their first sample, reference sample for the offspring is their last sample within the user defined time frame. |
father… | ||
offspring… | ||
mother… | MovePoints | POINT object representing all samples of a particular animal. |
father… | ||
offspring… | ||
maternity… | Lines | LINESTRING object connecting reference samples of mothers or fathers with reference samples of their offspring. |
paternity… | ||
mother… | MoveLines | LINESTRING object connecting all samples of an individual in chronological order, showcasing the movement or changes in location over time for the specific animal. |
father… | ||
offspring… | ||
mother… | MovePolygon | POLYGON object representing a convex hull that encloses all the samples of an individual. It provides a graphical representation of the spatial extent or range covered by the animal based on its sample locations. |
father… |
EXAMPLE Using spatial files together with ggplot2
, basemaps
and ggsflabel
for spatial visualization.
![]() |
---|
Spatial representation using mother/father/offspringRpoints and maternety/paternitylines |
![]() |
---|
Spatial representation using mother/fatherRpoints/MovePoints/MoveLines |