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.
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). http://www.mathworks.com/matlabcentral/fileexchange/14425
Giuseppe Cardillo (2020). HWEtest (https://github.com/dnafinder/hwe), GitHub. Retrieved .
This package has a nice demo, implements useful functionality, however it cannot be used inside other programs without further modifications to hwetest.
I would suggest adding a verbose flag to turn off all the printing, and making hwetest return some values.
Inspired by: Fisherextest
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!