Class PopulationGenetics
java.lang.Object
org.episteme.natural.biology.genetics.PopulationGenetics
Models population genetics and evolutionary equilibrium.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordstatic final record -
Method Summary
Modifier and TypeMethodDescriptionHardy-Weinberg Equilibrium: p² + 2pq + q² = 1.static RealdriftVariance(PopulationGenetics.AlleleFrequencies alleles, int populationSize) Checks for genetic drift probability using Wright-Fisher model.Estimates allele frequencies from observed genotypes using maximum likelihood.static RealinbreedingCoefficient(double expectedHet, double observedHet) Calculates Inbreeding Coefficient (F).static RealselectionCoefficient(double fitness) Calculates the Selection Coefficient 's'.simulateSelection(PopulationGenetics.AlleleFrequencies initial, double wAA, double wAa, double waa, int generations) Projects allele frequency change due to selection.
-
Method Details
-
calculateHardyWeinberg
public static PopulationGenetics.GenotypeFrequencies calculateHardyWeinberg(PopulationGenetics.AlleleFrequencies alleles) Hardy-Weinberg Equilibrium: p² + 2pq + q² = 1. Calculates genotype frequencies from allele frequencies. -
estimateAlleles
public static PopulationGenetics.AlleleFrequencies estimateAlleles(PopulationGenetics.GenotypeFrequencies observed) Estimates allele frequencies from observed genotypes using maximum likelihood. -
selectionCoefficient
Calculates the Selection Coefficient 's'. Fitness W = 1 - s. -
simulateSelection
public static List<PopulationGenetics.AlleleFrequencies> simulateSelection(PopulationGenetics.AlleleFrequencies initial, double wAA, double wAa, double waa, int generations) Projects allele frequency change due to selection. Δp = (p * q * [p(w11-w12) + q(w12-w22)]) / W_mean -
inbreedingCoefficient
Calculates Inbreeding Coefficient (F). F = (He - Ho) / He -
driftVariance
Checks for genetic drift probability using Wright-Fisher model. Variance in allele frequency Δp = p*q / 2N
-