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 hardyweinbergcalculator
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
Built Distribution
Close
Hashes for hardyweinbergcalculator-0.3.0.post20230614.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 917fcec86d504e80316f3be402b8c1c4129d9e7a864cafb2f38d7c45f3d11876 |
|
MD5 | 07824245ddc0b8332e6735a6829fc767 |
|
BLAKE2b-256 | e74f48e79f1538331b427af1eb286b00e6f57a5e8f6b153f7b789577e7d35a17 |
Close
Hashes for hardyweinbergcalculator-0.3.0.post20230614-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcdaabbf9ca3c8be27bd3310fe6fe328ba5477a6ad214192c8ac57bc436e4129 |
|
MD5 | 0cd7063e6f24faf711504b4d3fcfb891 |
|
BLAKE2b-256 | 0e1ad80f5fe37b64b2d76bc36f1fe1052cc5d3db24427888dc9cb5d3ef625e9e |