Skip to contents

The function computes the population branch statistics (PBS) for a sliding window for each combination of populations at each locus. The PBS is a measure of the genetic differentiation between one focal population and two reference populations, and is used to identify outlier loci that may be under selection.

Usage

windows_nwise_pop_pbs(
  .x,
  type = c("matrix", "tidy"),
  fst_method = c("Hudson", "Nei87", "WC84"),
  return_fst = FALSE,
  window_size,
  step_size,
  size_unit = c("snp", "bp"),
  min_loci = 1,
  complete = FALSE
)

Arguments

.x

a grouped gen_tibble object

type

type of object to return. One of "matrix" or "tidy". Default is "matrix". "matrix" returns a dataframe where each row is a window, followed by columns of pbs values for each population comparison. "tidy" returns a tidy tibble of the same data in 'long' format, where each row is one window for one population comparison.

fst_method

the method to use for calculating Fst, one of 'Hudson', 'Nei87', and 'WC84'. See pairwise_pop_fst() for details.

return_fst

a logical value indicating whether to return the Fst values

window_size

The size of the window to use for the estimates.

step_size

The step size to use for the windows.

size_unit

Either "snp" or "bp". If "snp", the window size and step size are in number of SNPs. If "bp", the window size and step size are in base pairs.

min_loci

The minimum number of loci required to calculate a window statistic. If the number of loci in a window is less than this, the window statistic will be NA.

complete

Should the function be evaluated on complete windows only? If FALSE, the default, then partial computations will be allowed at the end of the chromosome.

Value

either a data frame with the following columns:

  • chromosome: the chromosome for the window

  • start: the starting locus of the window

  • end: the ending locus of the window

  • pbs_a.b.c: the PBS value for population a given b & c (there will be multiple such columns covering all 3 way combinations of populations in the grouped gen_tibble object)

  • fst_a.b: the Fst value for population a and b, if return_fst is TRUE or a tidy tibble with the following columns:

  • chromosome: the chromosome for the window

  • start: the starting locus of the window

  • end: the ending locus of the window

  • stat_name: the name of populations used in the pbs calculation (e.g. "pbs_pop1.pop2.pop3"). If return_fst is TRUE, stat_name will also include "fst" calculations in the same column (e.g. "fst_pop1.pop2").

  • value: the pbs value for the populations