Hardy-Weinberg Equilibrium Calculator. Calculates the expected genotype frequencies based on the allele frequencies of a population in Hardy-Weinberg equilibrium.
Project description
Hardy Weinberg Equilibrium
Hardy-Weinberg Equilibrium Calculator. Calculates the expected genotype frequencies based on the allele frequencies of a population in Hardy-Weinberg equilibrium.
Installation
pip install src
Usage
usage: hwc [-h] [--version] [--verbose] [--debug] [--samples SAMPLES] [--p P] [--q Q] [--tpop TPOP] [--ppop PPOP] [--qpop QPOP] [--pq2pop PQ2POP] [--genes GENES [GENES ...]] [--json JSON [JSON ...]]
Hardy-Weinberg Equilibrium Calculator. Calculates the expected genotype frequencies based on the allele frequencies of a population in Hardy-Weinberg equilibrium. See: https://en.wikipedia.org/wiki/Hardy%E2%80%93Weinberg_principle
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--verbose Enable verbose logging. (default: False)
--debug Enable debug logging. (default: False)
--samples SAMPLES Number of samples to generate, if using random data generator. (default: None)
--p P Frequency of dominant allele. (default: None)
--q Q Frequency of recessive allele. (default: None)
--tpop TPOP Total population. (default: None)
--ppop PPOP Original population of dominant allele. (default: None)
--qpop QPOP Original population of recessive allele. (default: None)
--pq2pop PQ2POP Original population of heterozygous allele. (default: None)
Example: python3 -m hwc --ppop 10 --qpop 10 --pq2pop 200 --verbose
Generate random data
python3 -m hwc --samples 1000 --verbose
Calculate from known data
python3 -m hwc --ppop 10 --qpop 10 --pq2pop 200 --verbose
In your code
Test for Hard-Weinberg Equilibrium from generated data
from hwc import generate_population, HardyWeinberg
# Generate random data
population = generate_population(n=1000)
res = HardyWeinberg(genes=population)
print(res)
Test for Hardy-Weinberg Equilibrium from known data
from hwc import HardyWeinberg
# Known data
res = HardyWeinberg(
homozygous_dominant_population=20,
homozygous_recessive_population=44,
heterozygous_population=95
)
print(res)
Results Data Object
The results returned from the Hardyweinberg test will ultimately look like this, in json format:
{
"2*pq": 0.375,
"@genes": [],
"chi_square_test": 1.1111111111111112,
"expected_heterozygous_population": 3.75,
"expected_homozygous_dominant_population": 5.625,
"expected_homozygous_recessive_population": 0.625,
"heterozygous_population": 5,
"homozygous_dominant_population": 5,
"homozygous_recessive_population": 0,
"p": 0.75,
"p + q": 1.0,
"p**2": 0.5625,
"p**2 + 2*pq + q**2": 1.0,
"q": 0.25,
"q**2": 0.0625,
"total_population": 10
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hardyweinbergcalculator-0.3.3.zip
(20.7 kB
view hashes)
Built Distribution
Close
Hashes for hardyweinbergcalculator-0.3.3.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d182c36f2820df0f8f56471870653ef4d9e97854986d9db6aca360c3a196708 |
|
MD5 | fd31c1d6f62c807a310cc2e3e7255e6a |
|
BLAKE2b-256 | 5099e2b7b627e070ce5511fffb4c1535930c8b08d58b26915957aa60b54d7613 |
Close
Hashes for hardyweinbergcalculator-0.3.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2de5c91d141658967ece18caf953130c195b17f0bbafbd61cb00286ff1cdddaa |
|
MD5 | ccc71ff7a4b32e159696d6e39ee2ee61 |
|
BLAKE2b-256 | c0226371322b6da6880ce9f9f7421ca74ff53624acd62c1c0744fd843d0c7483 |