This function computes the admixture proportion given five populations. A population history following ((PI,P1),P2,PO) is assumed, and the target is assumed to be a mixture of proximal sources P1 and P2, i.e. PX = alpha*P2 + (1-alpha)*P1
This function implements a jackknife on the input data.
f4_ratio(f2_blocks, popO, popI, pop1, pop2, popX, mode = 1)
jackknife(df_jack)
A 3d array of blocked f2 statistics
Name of outgroup population
Name of ingroup population
Name of source that clusters with ingroup
Name of other source
Name of target group.
frame. Three columns called blockID, hj, Dj, storing block ID, weight of block, and statistic without that block
Returns a data frame with admixture proportion estimates and jacknifed standard errors.
Returns a data table with columns val and se.
#These lines assign file names to variables file_anc, file_mut, poplabels, file_map.
#see https://myersgroup.github.io/relate/getting_started.html#Output for file formats
file_anc <- system.file("sim/msprime_ad0.8_split250_1_chr1.anc.gz", package = "twigstats")
file_mut <- system.file("sim/msprime_ad0.8_split250_1_chr1.mut.gz", package = "twigstats")
#see https://myersgroup.github.io/relate/input_data.html for file formats
poplabels <- system.file("sim/msprime_ad0.8_split250_1.poplabels", package = "twigstats")
file_map <- system.file("sim/genetic_map_combined_b37_chr1.txt.gz", package = "twigstats") #recombination map (three column format)
#Calculate regular f2s between all pairs of populations
f2_blocks1 <- f2_blocks_from_Relate(file_anc = file_anc, file_mut = file_mut, poplabels = poplabels, file_map = file_map)
f4_ratio(f2_blocks1, popX="PX", popI="P1", pop1="P2", pop2="P3", popO="P4")
#> popO popI pop1 pop2 popX val se
#> 1 P4 P1 P2 P3 PX 0.9974217 0.3076228
#Use a twigstats cutoff of 500 generations
f2_blocks2 <- f2_blocks_from_Relate(file_anc = file_anc, file_mut = file_mut, poplabels = poplabels, file_map = file_map, t = 500)
f4_ratio(f2_blocks2, popX="PX", popI="P1", pop1="P2", pop2="P3", popO="P4")
#> popO popI pop1 pop2 popX val se
#> 1 P4 P1 P2 P3 PX 0.8110266 0.02085804