image thumbnail


version (40.8 KB) by Giuseppe Cardillo
Test if a locus is under Hardy Weinberg Proportion


Updated 28 Apr 2018

From GitHub

View License on GitHub

The conditional probability, under the Hardy-Weinberg equilibrium, to obtain the sample X is compute as described by:
Howard Levene - "On a matching problem arising in genetics".
Annals of Mathematical Statistics. 1949; 20:91-94.
If the locus is biallelic, the function performs an Exact test, computing the p-value of all possible tables and the summing all p-value<=p(observed table) and plots a De Finetti's Diagram.
If the locus is m-allelic (m>2), the function uses a Monte Carlo conventional method to evaluate the p-value.

Syntax: pvalue=hwetest(x,verbose,delta,alpha)

Input: X - Genotype matrix. If the locus is biallelic, X is a vector x=[AA AB BB]; else if the locus is m-allelic X is a lower triangular matrix of size=[m m]. If X is not a lower triangular matrix it will be triangularized. VERBOSE (optional)- a logical variable to display more results and comments: 0=does not display (default) 1=display DELTA and ALPHA (optional)- If Monte Carlo method is used (if locus is more than bi-allelic), it is necessary to evaluate how many times the process must be reiterated to ensure that p-value is within DELTA units of the true one with (1-ALPHA)*100% confidence. (Default DELTA=ALPHA=0.01). Output: the probability that the population is in HWP the De Finetti's Diagram if the locus is biallelic if VERBOSE: Polymorphism Information Content (PIC) Matching probability Power of discrimination Power of exclusion Typical Paternity Index

Example: Run hwedemo

Created by Giuseppe Cardillo

To cite this file, this would be an appropriate format: Cardillo G. (2007) HWtest: a routine to test if a locus is in Hardy Weinberg equilibrium (exact test).

Cite As

Giuseppe Cardillo (2022). HWEtest (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: Fisherextest

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.