Outgroup f3 and admixed branches
Outgroup f3
Theoremf3 statistic as shared drift on a tree#✓fully proved
With binary loadings, f3 O A B is the total drift length of the edges shared by the paths
O–A and O–B (on a tree, the path from O to the A–B path).
theorem f3_eq_sum_inter_symmDiff [DecidableEq E] (hM : M.HasBinaryLoadings) (O A B : P) :
f3 μ M.freq O A B =
∑ e ∈ (M.lineage O ∆ M.lineage A) ∩ (M.lineage O ∆ M.lineage B), M.len e
noncomputable def f3 (C A B : P) : ℝ := ∫ ω, (p C ω - p A ω) * (p C ω - p B ω) ∂μ
MathlibExt/Biology/PopulationGenetics/FStatistics.lean:89
TheoremOutgroup f3 statistic#✓fully proved
Outgroup f3 (Raghavan et al. 2014): with binary loadings, if the lineage of O shares no
edge with the lineages of A and B, then f3 O A B is the drift from the outgroup to the root
plus the drift shared by A and B.
theorem f3_outgroup [DecidableEq E] (hM : M.HasBinaryLoadings) {O A B : P}
(hA : Disjoint (M.lineage O) (M.lineage A)) (hB : Disjoint (M.lineage O) (M.lineage B)) :
f3 μ M.freq O A B = ∑ e ∈ M.lineage O, M.len e + ∑ e ∈ M.lineage A ∩ M.lineage B, M.len e
noncomputable def f3 (C A B : P) : ℝ := ∫ ω, (p C ω - p A ω) * (p C ω - p B ω) ∂μ
MathlibExt/Biology/PopulationGenetics/FStatistics.lean:89
Uses 6 · Used by 1
TheoremOutgroup f3 ranks populations by shared drift#✓fully proved
For a fixed outgroup O and population A, the outgroup f3 ranks candidates B by the
drift they share with A.
theorem f3_outgroup_le_iff [DecidableEq E] (hM : M.HasBinaryLoadings) {O A B B' : P}
(hA : Disjoint (M.lineage O) (M.lineage A)) (hB : Disjoint (M.lineage O) (M.lineage B))
(hB' : Disjoint (M.lineage O) (M.lineage B')) :
f3 μ M.freq O A B ≤ f3 μ M.freq O A B' ↔
∑ e ∈ M.lineage A ∩ M.lineage B, M.len e ≤ ∑ e ∈ M.lineage A ∩ M.lineage B', M.len e
noncomputable def f3 (C A B : P) : ℝ := ∫ ω, (p C ω - p A ω) * (p C ω - p B ω) ∂μ
MathlibExt/Biology/PopulationGenetics/FStatistics.lean:89
Admixed branches
DefinitionMixMapper mixed drift#✓fully proved
MixMapper's mixed drift α² ℓ_a + (1 - α)² ℓ_b + ℓ_c: the only combination of the terminal
drift lengths that enters the f2 statistics of an admixed population.
def mixedDrift (α la lb lc : ℝ) : ℝ := α ^ 2 * la + (1 - α) ^ 2 * lb + lc
TheoremAdmixed-branch identity for f2 statistics#✓fully proved
The admixed-branch identity (Lipson et al. 2013): if Mx is an α : 1 - α mixture of the
endpoints of the edges a (below A) and b (below B), followed by drift on c, and A,
B, X do not use a, b, c, then
f2 Mx X = α f2 A X + (1 - α) f2 B X - α (1 - α) f2 A B + mixedDrift α ℓ_a ℓ_b ℓ_c.
theorem f2_admixedBranch [DecidableEq E] {Mx A B X : P} {a b c : E} {α : ℝ} (hab : a ≠ b)
(hac : a ≠ c) (hbc : b ≠ c)
(hw : M.weight Mx = α • (M.weight A + Pi.single a 1) +
(1 - α) • (M.weight B + Pi.single b 1) + Pi.single c 1)
(hA : ∀ e ∈ ({a, b, c} : Finset E), M.weight A e = 0)
(hB : ∀ e ∈ ({a, b, c} : Finset E), M.weight B e = 0)
(hX : ∀ e ∈ ({a, b, c} : Finset E), M.weight X e = 0) :
f2 μ M.freq Mx X = α * f2 μ M.freq A X + (1 - α) * f2 μ M.freq B X -
α * (1 - α) * f2 μ M.freq A B + mixedDrift α (M.len a) (M.len b) (M.len c)
noncomputable def f2 (X Y : P) : ℝ := ∫ ω, (p X ω - p Y ω) ^ 2 ∂μ
MathlibExt/Biology/PopulationGenetics/FStatistics.lean:85
def mixedDrift (α la lb lc : ℝ) : ℝ := α ^ 2 * la + (1 - α) ^ 2 * lb + lc
MathlibExt/Biology/PopulationGenetics/TreeFStatistics.lean:104
Uses 5 · Used by 2
TheoremIdentifiability of the admixture proportion from f2 statistics#✓fully proved
Identifiability of the mixture proportion (our formulation): with the split points A, B
given, two references X₁, X₂ satisfying the hypotheses of f2_admixedBranch and with
different contrasts f2 A Xᵢ - f2 B Xᵢ determine α from f2 statistics.
theorem alpha_eq_of_f2 [DecidableEq E] {Mx A B X₁ X₂ : P} {a b c : E} {α : ℝ} (hab : a ≠ b)
(hac : a ≠ c) (hbc : b ≠ c)
(hw : M.weight Mx = α • (M.weight A + Pi.single a 1) +
(1 - α) • (M.weight B + Pi.single b 1) + Pi.single c 1)
(hA : ∀ e ∈ ({a, b, c} : Finset E), M.weight A e = 0)
(hB : ∀ e ∈ ({a, b, c} : Finset E), M.weight B e = 0)
(hX₁ : ∀ e ∈ ({a, b, c} : Finset E), M.weight X₁ e = 0)
(hX₂ : ∀ e ∈ ({a, b, c} : Finset E), M.weight X₂ e = 0)
(hD : f2 μ M.freq A X₁ - f2 μ M.freq B X₁ ≠ f2 μ M.freq A X₂ - f2 μ M.freq B X₂) :
α = (f2 μ M.freq Mx X₁ - f2 μ M.freq Mx X₂ - (f2 μ M.freq B X₁ - f2 μ M.freq B X₂)) /
(f2 μ M.freq A X₁ - f2 μ M.freq B X₁ - (f2 μ M.freq A X₂ - f2 μ M.freq B X₂))
noncomputable def f2 (X Y : P) : ℝ := ∫ ω, (p X ω - p Y ω) ^ 2 ∂μ
MathlibExt/Biology/PopulationGenetics/FStatistics.lean:85
Uses 5
TheoremMixed drift determined by f2 statistics#✓fully proved
Given α, the mixed drift is determined by the f2 statistics of one reference X.
theorem mixedDrift_eq [DecidableEq E] {Mx A B X : P} {a b c : E} {α : ℝ} (hab : a ≠ b)
(hac : a ≠ c) (hbc : b ≠ c)
(hw : M.weight Mx = α • (M.weight A + Pi.single a 1) +
(1 - α) • (M.weight B + Pi.single b 1) + Pi.single c 1)
(hA : ∀ e ∈ ({a, b, c} : Finset E), M.weight A e = 0)
(hB : ∀ e ∈ ({a, b, c} : Finset E), M.weight B e = 0)
(hX : ∀ e ∈ ({a, b, c} : Finset E), M.weight X e = 0) :
mixedDrift α (M.len a) (M.len b) (M.len c) = f2 μ M.freq Mx X - α * f2 μ M.freq A X -
(1 - α) * f2 μ M.freq B X + α * (1 - α) * f2 μ M.freq A B
def mixedDrift (α la lb lc : ℝ) : ℝ := α ^ 2 * la + (1 - α) ^ 2 * lb + lc
MathlibExt/Biology/PopulationGenetics/TreeFStatistics.lean:104
noncomputable def f2 (X Y : P) : ℝ := ∫ ω, (p X ω - p Y ω) ^ 2 ∂μ
MathlibExt/Biology/PopulationGenetics/FStatistics.lean:85
Uses 5
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.