<title>Background</title> <p>Laboratory techniques used to determine haplotypes [##REF##11443299##1##] are often too expensive for large-scale studies. The lack of phase information provided by the popular typing methods could be overcome using likelihood-based calculations [##UREF##0##2##], which estimate haplotype frequencies in a population, and reconstruct the haplotype pair in each individual. This approach is more cost-effective and powerful than linkage analysis [##REF##12610532##3##], and gives more information than single marker-based methods [##REF##12384975##4##].</p> <p>Haplotype estimation procedures typically use maximum likelihood approach. The most popular algorithm implemented for example in Arlequin [##UREF##1##5##] is The Expectation – Maximization algorithm (EM) [##REF##7476138##6##] but other methods were also proposed: Bayesian method using a pseudo-Gibbs sampler [##REF##11254454##7##], partition-ligation [##REF##11741196##8##], Monte Carlo [##REF##15545394##9##] and Hidden Markov Model [##REF##17630649##10##].</p> <p>A frequent shortage of available software packages [##UREF##1##5##,##REF##11254454##7##] is the lack of possibility to analyze loci where null variants occur with an appreciable frequency. In a diploid organism, a null allele is a variant which is not detected in genotyping, because of a deletion of an entire locus or because of a mutation interfering with analysis. This makes it impossible to distinguish between some heterozygous and homozygous genotypes [##REF##16824023##11##]. For example, if there is only one alternative allele <italic>A</italic><sub>1 </sub>besides the null allele <italic>A</italic><sub>0</sub>, then there are three possible haplotype pairs: <italic>A</italic><sub>1</sub>/<italic>A</italic><sub>1</sub>, <italic>A</italic><sub>1</sub>/<italic>A</italic><sub>0 </sub>and <italic>A</italic><sub>0</sub>/<italic>A</italic><sub>0</sub>, but only two kinds of experimental observations: <italic>A</italic><sub>0 </sub>and <italic>A</italic><sub>1</sub>. An example of a genetic system, which is at present intensely studied [##REF##16824023##11##] and which contains null alleles, is the locus encoding killer immunoglobulin-like receptors (<italic>KIR</italic>) of natural killer (NK) cells.</p> <p>To our knowledge, the only available computer program designed to handle null alleles is Haplo-IHP [##REF##17644820##12##], which, however, has a shortcoming of being applicable only to biallelic loci. The purpose of our work was to design a versatile application for estimation of haplotypes from unphased population data useful for multiallelic polymorphism with and/or without null alleles.</p>
<title>Results and Discussion</title> <p>The described algorithm was implemented using C++ and the Boost libraries [##UREF##2##13##] and called NullHap. The main advantage of our application is the ability to handle problems, when one or more multiallelic loci containing null variant occur.</p> <p>NullHap was tested on simulated and real data sets and its performance was compared with those of previously described programs: Arlequin [##UREF##1##5##], PHASE [##REF##11254454##7##] and Haplo-IHP [##REF##17644820##12##].</p> <title>Test on generated data sets</title> <p>Firstly, the simulated data sets were obtained as the most probable samples generated for polymorphisms with varying locus characteristics, and accuracy of estimated frequencies for different computer programs was analyzed. An example of assumed and estimated frequencies used in one such simulation is shown in Table ##TAB##0##1##. In Table ##TAB##1##2##, results of six simulations are summarized by giving a mean absolute percentage error, calculated as shown in equation (11), where <italic>x </italic>is the assumed frequency, and <italic>x</italic>* is the calculated one.</p> <p></p> <p>Since it may not be known beforehand, whether a locus has a null allele, we also checked performance of NullHap which was run assuming the presence of a null allele in each locus. Such an approach allows to screen the likelihood of the presence of a null allele in a given locus by evaluating the frequencies of haplotypes containing this allele. An appreciable frequency of any such haplotype in the output indicates the need to include a null allele in this particular locus. Otherwise, the conclusion is, that given locus most likely does not contain a null variant. Alternatively, genotypes of each locus could be analyzed for deviation from HWE by any of the available programs. When typing mistakes are excluded, deviation from HWE strongly indicates the presence of a null allele.</p> <p>Secondly, the effect of sample size on the performance of the method was investigated. This was done by generating <italic>k </italic>random samples of 25, 50, 100, 200, 500 and 1000 individuals from an infinite population in HWE. The haplotype frequencies were estimated and median of <italic>k </italic>mean absolute errors (calculated as , where <italic>N </italic>is the number of individuals in the sample) was calculated. The results obtained for haplotype distributions such as those given in examples 5 and 6 in Table ##TAB##1##2## are illustrated in Figure ##FIG##0##1##. As can be seen, with a sample size of 200 individuals, an error of approximately 2% can be expected in haplotype frequency estimation, whereas a lower sample size may lead to substantially higher errors.</p> <p>Thirdly, tests of the effect of different levels of HWE violation on the accuracy of the algorithm were performed. The degree of HWE violation was modeled by increasing values of inbreeding coefficient <italic>f </italic>as defined by Weir [##REF##9691059##14##,##UREF##3##15##], equation (12).</p> <p></p> <p>As can be seen from Figure ##FIG##1##2##, there was a linear correlation of inbreeding coefficient <italic>f </italic>with the accuracy of estimation of haplotype frequencies.</p> <p>Finally, to evaluate the effect of haplotype frequency on the error of the estimation, 10 samples of 1000 individuals were generated from a population in HWE, for a simple two loci polymorphism: <italic>A </italic>with variants <italic>A</italic><sub>0</sub>, <italic>A</italic><sub>1</sub>, <italic>A</italic><sub>2 </sub>and <italic>B </italic>with variants <italic>B</italic><sub>0</sub>, <italic>B</italic><sub>1</sub>. The frequencies of haplotypes <italic>A</italic><sub>0</sub><italic>B</italic><sub>1</sub>, <italic>A</italic><sub>1</sub><italic>B</italic><sub>0</sub>, <italic>A</italic><sub>1</sub><italic>B</italic><sub>1</sub>, <italic>A</italic><sub>2</sub><italic>B</italic><sub>0</sub>, <italic>A</italic><sub>2</sub><italic>B</italic><sub>1 </sub>were fixed and equal to 0.19, 0.18, 0.16, 0.1, 0.04 and 0.02 respectively, whereas the frequency of haplotype <italic>A</italic><sub>0</sub><italic>B</italic><sub>0 </sub>varied from 0.05 to 0.9. Results expressed as median of mean absolute percentage error (equation (11)) are shown in Figure ##FIG##2##3##. As can be seen, the lowest error occured with haplotype frequency close to 0.5.</p> <title>Performance tests</title> <p>We also performed analysis of computational time in different scenarios. Results presented for appropriate applications are shown in Table ##TAB##2##3##. All computations were achieved on Celeron M 1.6 GHz, 1 GB RAM, under Debian Linux or Windows XP.</p> <p>Because the number of haplotypes grows exponentially with the number of considered loci, there is a practical restriction to approximately 50,000 haplotypes, e.g. 15 biallelic loci. We noted with moderate number of loci the restriction is due to computational time, whereas for the very large number of loci (e.g. 100 loci) the memory becomes a limiting factor.</p> <title>Tests on real data sets</title> <p>To perform a test on real data, we first used <italic>HLA-DRB1 </italic>and <italic>HLA-DQB1 </italic>allele distributions among 99 Poles as supplied by [##UREF##1##5##]. Both loci are multiallelic (36 and 14 variants, respectively) without null variants. The difference between estimated frequencies among programs Arlequin, PHASE and NullHap (i.e. programs handling such loci) was less than 2%.</p> <p>To test the application in the presence of biallelic loci with null variants, the <italic>KIR </italic>genotypes for 200 Irish subjects [##REF##17644820##12##] were analyzed with NullHap and Haplo-IHP (the only available program suitable for such loci). The difference of estimated frequencies between programs was about 3%.</p> <title>Reanalysis of published data indicates that the KIR2DS4/1D locus may be a marker of KIR2DS1 haplotypes with different effects on psoriasis susceptibility</title> <p>In order to apply NullHap to real data from an association study we reanalyzed the results of Luszczek et al. on distribution of <italic>KIR </italic>genotypes in Polish psoriasis patients and controls [##REF##15310528##16##]. In the original report these authors described an association between <italic>KIR2DS1 </italic>and psoriasis, which was also observed in two subsequent studies from Japan and the US [##REF##15140215##17##,##REF##16185272##18##], but not in a study a of Chinese population [##REF##16741505##19##]. Further analysis of genotype data of Luszczek et al. [##REF##15310528##16##] indicated a role for <italic>KIR </italic>gene variants other than <italic>KIR2DS1 </italic>in conferring susceptibility to psoriasis, suggesting, that distinct <italic>KIR </italic>haplotypes could be responsible for observed associations [##REF##16829306##20##].</p> <p>The distributions of <italic>KIR </italic>haplotypes among patients and controls obtained with NullHap are given in Table ##TAB##3##4##. Because the structure of the <italic>KIR </italic>region is very complex, it is not fully known which genes are truly allelic, i.e. occupy precisely the same chromosomal locus. At first, in our analysis, the <italic>K2DL2/KIR2DL3</italic>, <italic>KIRDS4/KIR1D</italic>, and <italic>KIR2DS3/KIR2DS5 </italic>genes were treated as alleles. Since in the case of <italic>KIR2DS3 </italic>and <italic>KIR2DS5 </italic>this may be controversial due to some haplotypes which harbor both genes in cis [##REF##17100885##21##], we also repeated the analysis after exclusion of these variants. In all loci a null allele was allowed [##REF##17100885##21##].</p> <p>As can be seen from Table ##TAB##3##4##, two haplotypes (#1, #2) were strongly overrepresented among the patients. The fact that these haplotypes encoded <italic>KIR2DS1 </italic>is consistent with the association between this gene and psoriasis [##REF##15310528##16##, ####REF##15140215##17##, ##REF##16185272##18####16185272##18##] whereas the lower OR associated with haplotype #2 vs. #1 (27 vs. 52.5) supports the protective effect of <italic>KIR2DS3 </italic>suggested previously [##REF##16829306##20##]. In contrast to haplotypes #1 and #2 other haplotypes encoding <italic>KIR2DS1 </italic>(#4, #6) were not overrepresented among the patients. Both haplotypes encoded <italic>KIR2DS5 </italic>which could be interpreted as the postulated protective effect of this variant [##REF##16829306##20##]. However, whereas the presence of <italic>KIR2DS5 </italic>or <italic>KIR2D3 </italic>offers one explanation of the heterogeneity of the effects of <italic>KIR2DS1 </italic>haplotypes, the inspection of Table ##TAB##3##4## shows that the risk – conferring and neutral <italic>KIR2DS1 </italic>haplotypes are also distinguished by the <italic>KIR2DS4/1D </italic>locus, which is a novel observation. As can be seen, the haplotypes #1, #2 share the <italic>1D </italic>variant, whereas the haplotypes #4, #6 both have the <italic>KIR2DS4 </italic>null allele. These effects of <italic>KIR2DS4/1D </italic>locus were also apparent in analysis performed after the exclusion of <italic>KIR2DS3 </italic>and <italic>KIR2DS5 </italic>genes (haplotypes #8 and #9 vs. haplotypes #12 and #17, Table ##TAB##3##4##).</p> <p>The fact that <italic>KIR2DS4/1D </italic>and <italic>KIR2DS1 </italic>loci are physically adjacent [##REF##17100885##21##] suggests that the strong predictive effect of their haplotypic combinations may be caused by linkage disequilibrium with an unknown variant in the region, which is primarily associated with psoriasis. The indirect association is particularly plausible for <italic>KIR2DS4/1D </italic>because <italic>KIR 1D </italic>and <italic>KIRDS4 </italic>null (which mark <italic>KIR2DS1 </italic>haplotypes with distinct effects on disease susceptibility) are both non functional and thus should be equivalent physiologically [##REF##17100885##21##]. In case of the <italic>KIR2DS1 </italic>it would be tempting to speculate that the susceptibility conferring effect is limited to a rare allele (absent in controls) being in strong linkage disequilibrium with <italic>1D</italic>. Interestingly, such a theory could explain a lack of association between <italic>KIRDS1 </italic>and psoriasis recently reported in a Chinese population [##REF##16741505##19##].</p>
<title>Results and Discussion</title> <p>The described algorithm was implemented using C++ and the Boost libraries [##UREF##2##13##] and called NullHap. The main advantage of our application is the ability to handle problems, when one or more multiallelic loci containing null variant occur.</p> <p>NullHap was tested on simulated and real data sets and its performance was compared with those of previously described programs: Arlequin [##UREF##1##5##], PHASE [##REF##11254454##7##] and Haplo-IHP [##REF##17644820##12##].</p> <title>Test on generated data sets</title> <p>Firstly, the simulated data sets were obtained as the most probable samples generated for polymorphisms with varying locus characteristics, and accuracy of estimated frequencies for different computer programs was analyzed. An example of assumed and estimated frequencies used in one such simulation is shown in Table ##TAB##0##1##. In Table ##TAB##1##2##, results of six simulations are summarized by giving a mean absolute percentage error, calculated as shown in equation (11), where <italic>x </italic>is the assumed frequency, and <italic>x</italic>* is the calculated one.</p> <p></p> <p>Since it may not be known beforehand, whether a locus has a null allele, we also checked performance of NullHap which was run assuming the presence of a null allele in each locus. Such an approach allows to screen the likelihood of the presence of a null allele in a given locus by evaluating the frequencies of haplotypes containing this allele. An appreciable frequency of any such haplotype in the output indicates the need to include a null allele in this particular locus. Otherwise, the conclusion is, that given locus most likely does not contain a null variant. Alternatively, genotypes of each locus could be analyzed for deviation from HWE by any of the available programs. When typing mistakes are excluded, deviation from HWE strongly indicates the presence of a null allele.</p> <p>Secondly, the effect of sample size on the performance of the method was investigated. This was done by generating <italic>k </italic>random samples of 25, 50, 100, 200, 500 and 1000 individuals from an infinite population in HWE. The haplotype frequencies were estimated and median of <italic>k </italic>mean absolute errors (calculated as , where <italic>N </italic>is the number of individuals in the sample) was calculated. The results obtained for haplotype distributions such as those given in examples 5 and 6 in Table ##TAB##1##2## are illustrated in Figure ##FIG##0##1##. As can be seen, with a sample size of 200 individuals, an error of approximately 2% can be expected in haplotype frequency estimation, whereas a lower sample size may lead to substantially higher errors.</p> <p>Thirdly, tests of the effect of different levels of HWE violation on the accuracy of the algorithm were performed. The degree of HWE violation was modeled by increasing values of inbreeding coefficient <italic>f </italic>as defined by Weir [##REF##9691059##14##,##UREF##3##15##], equation (12).</p> <p></p> <p>As can be seen from Figure ##FIG##1##2##, there was a linear correlation of inbreeding coefficient <italic>f </italic>with the accuracy of estimation of haplotype frequencies.</p> <p>Finally, to evaluate the effect of haplotype frequency on the error of the estimation, 10 samples of 1000 individuals were generated from a population in HWE, for a simple two loci polymorphism: <italic>A </italic>with variants <italic>A</italic><sub>0</sub>, <italic>A</italic><sub>1</sub>, <italic>A</italic><sub>2 </sub>and <italic>B </italic>with variants <italic>B</italic><sub>0</sub>, <italic>B</italic><sub>1</sub>. The frequencies of haplotypes <italic>A</italic><sub>0</sub><italic>B</italic><sub>1</sub>, <italic>A</italic><sub>1</sub><italic>B</italic><sub>0</sub>, <italic>A</italic><sub>1</sub><italic>B</italic><sub>1</sub>, <italic>A</italic><sub>2</sub><italic>B</italic><sub>0</sub>, <italic>A</italic><sub>2</sub><italic>B</italic><sub>1 </sub>were fixed and equal to 0.19, 0.18, 0.16, 0.1, 0.04 and 0.02 respectively, whereas the frequency of haplotype <italic>A</italic><sub>0</sub><italic>B</italic><sub>0 </sub>varied from 0.05 to 0.9. Results expressed as median of mean absolute percentage error (equation (11)) are shown in Figure ##FIG##2##3##. As can be seen, the lowest error occured with haplotype frequency close to 0.5.</p> <title>Performance tests</title> <p>We also performed analysis of computational time in different scenarios. Results presented for appropriate applications are shown in Table ##TAB##2##3##. All computations were achieved on Celeron M 1.6 GHz, 1 GB RAM, under Debian Linux or Windows XP.</p> <p>Because the number of haplotypes grows exponentially with the number of considered loci, there is a practical restriction to approximately 50,000 haplotypes, e.g. 15 biallelic loci. We noted with moderate number of loci the restriction is due to computational time, whereas for the very large number of loci (e.g. 100 loci) the memory becomes a limiting factor.</p> <title>Tests on real data sets</title> <p>To perform a test on real data, we first used <italic>HLA-DRB1 </italic>and <italic>HLA-DQB1 </italic>allele distributions among 99 Poles as supplied by [##UREF##1##5##]. Both loci are multiallelic (36 and 14 variants, respectively) without null variants. The difference between estimated frequencies among programs Arlequin, PHASE and NullHap (i.e. programs handling such loci) was less than 2%.</p> <p>To test the application in the presence of biallelic loci with null variants, the <italic>KIR </italic>genotypes for 200 Irish subjects [##REF##17644820##12##] were analyzed with NullHap and Haplo-IHP (the only available program suitable for such loci). The difference of estimated frequencies between programs was about 3%.</p> <title>Reanalysis of published data indicates that the KIR2DS4/1D locus may be a marker of KIR2DS1 haplotypes with different effects on psoriasis susceptibility</title> <p>In order to apply NullHap to real data from an association study we reanalyzed the results of Luszczek et al. on distribution of <italic>KIR </italic>genotypes in Polish psoriasis patients and controls [##REF##15310528##16##]. In the original report these authors described an association between <italic>KIR2DS1 </italic>and psoriasis, which was also observed in two subsequent studies from Japan and the US [##REF##15140215##17##,##REF##16185272##18##], but not in a study a of Chinese population [##REF##16741505##19##]. Further analysis of genotype data of Luszczek et al. [##REF##15310528##16##] indicated a role for <italic>KIR </italic>gene variants other than <italic>KIR2DS1 </italic>in conferring susceptibility to psoriasis, suggesting, that distinct <italic>KIR </italic>haplotypes could be responsible for observed associations [##REF##16829306##20##].</p> <p>The distributions of <italic>KIR </italic>haplotypes among patients and controls obtained with NullHap are given in Table ##TAB##3##4##. Because the structure of the <italic>KIR </italic>region is very complex, it is not fully known which genes are truly allelic, i.e. occupy precisely the same chromosomal locus. At first, in our analysis, the <italic>K2DL2/KIR2DL3</italic>, <italic>KIRDS4/KIR1D</italic>, and <italic>KIR2DS3/KIR2DS5 </italic>genes were treated as alleles. Since in the case of <italic>KIR2DS3 </italic>and <italic>KIR2DS5 </italic>this may be controversial due to some haplotypes which harbor both genes in cis [##REF##17100885##21##], we also repeated the analysis after exclusion of these variants. In all loci a null allele was allowed [##REF##17100885##21##].</p> <p>As can be seen from Table ##TAB##3##4##, two haplotypes (#1, #2) were strongly overrepresented among the patients. The fact that these haplotypes encoded <italic>KIR2DS1 </italic>is consistent with the association between this gene and psoriasis [##REF##15310528##16##, ####REF##15140215##17##, ##REF##16185272##18####16185272##18##] whereas the lower OR associated with haplotype #2 vs. #1 (27 vs. 52.5) supports the protective effect of <italic>KIR2DS3 </italic>suggested previously [##REF##16829306##20##]. In contrast to haplotypes #1 and #2 other haplotypes encoding <italic>KIR2DS1 </italic>(#4, #6) were not overrepresented among the patients. Both haplotypes encoded <italic>KIR2DS5 </italic>which could be interpreted as the postulated protective effect of this variant [##REF##16829306##20##]. However, whereas the presence of <italic>KIR2DS5 </italic>or <italic>KIR2D3 </italic>offers one explanation of the heterogeneity of the effects of <italic>KIR2DS1 </italic>haplotypes, the inspection of Table ##TAB##3##4## shows that the risk – conferring and neutral <italic>KIR2DS1 </italic>haplotypes are also distinguished by the <italic>KIR2DS4/1D </italic>locus, which is a novel observation. As can be seen, the haplotypes #1, #2 share the <italic>1D </italic>variant, whereas the haplotypes #4, #6 both have the <italic>KIR2DS4 </italic>null allele. These effects of <italic>KIR2DS4/1D </italic>locus were also apparent in analysis performed after the exclusion of <italic>KIR2DS3 </italic>and <italic>KIR2DS5 </italic>genes (haplotypes #8 and #9 vs. haplotypes #12 and #17, Table ##TAB##3##4##).</p> <p>The fact that <italic>KIR2DS4/1D </italic>and <italic>KIR2DS1 </italic>loci are physically adjacent [##REF##17100885##21##] suggests that the strong predictive effect of their haplotypic combinations may be caused by linkage disequilibrium with an unknown variant in the region, which is primarily associated with psoriasis. The indirect association is particularly plausible for <italic>KIR2DS4/1D </italic>because <italic>KIR 1D </italic>and <italic>KIRDS4 </italic>null (which mark <italic>KIR2DS1 </italic>haplotypes with distinct effects on disease susceptibility) are both non functional and thus should be equivalent physiologically [##REF##17100885##21##]. In case of the <italic>KIR2DS1 </italic>it would be tempting to speculate that the susceptibility conferring effect is limited to a rare allele (absent in controls) being in strong linkage disequilibrium with <italic>1D</italic>. Interestingly, such a theory could explain a lack of association between <italic>KIRDS1 </italic>and psoriasis recently reported in a Chinese population [##REF##16741505##19##].</p>
<title>Conclusion</title> <p>The developed application can effectively estimate haplotype frequencies with a performance that is similar or better than those of other available computer programs. It should be emphasized, that the main advantage of the created application is the ability to estimate haplotypes for every type of polymorphism, in particular polymorphisms with multiallelic loci with null variants.</p> <p>The presented application is under development, and some improvements are planned, such as an additional step removing unimportant haplotypes or the partition-ligation algorithm [##REF##11741196##8##] to speed-up computations for a large number of loci. Other planned improvements are a graphical user interface as well as an import/export module for popular data formats. The new versions will be available at project homepage.</p>
<p>This is an Open Access article distributed under the terms of the Creative Commons Attribution License (<ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/2.0"/>), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</p> <title>Background</title> <p>Laboratory techniques used to determine haplotypes are often too expensive for large-scale studies and lack of phase information is commonly overcome using likelihood-based calculations. Whereas a number of programs are available for that purpose, none of them can handle loci with both multiple and null alleles.</p> <title>Results</title> <p>Here we present a description of a modified Expectation – Maximization algorithm as well as its implementation (NullHap) which allow to effectively overcome these limitations. As an example of application we used Nullhap to reanalyze published data on distribution of <italic>KIR </italic>genotypes in Polish psoriasis patients and controls showing that the <italic>KIR2DS4/1D </italic>locus may be a marker of <italic>KIR2DS1 </italic>haplotypes with different effects on disease susceptibility.</p> <title>Conclusion</title> <p>The developed application can estimate haplotype frequencies for every type of polymorphism and can effectively be used in genetic research as illustrated by a novel finding regarding the genetic susceptibility to psoriasis.</p>
<title>Implementation</title> <p>The null variants decrease the number of different genotypes <italic>G </italic>which can be observed, equation (1), when the <italic>k </italic>polymorphic loci are analyzed and each locus has <italic>l</italic><sub><italic>i </italic></sub>different variants (optionally including a null variant) for <italic>i</italic>-th locus, <italic>δ</italic><sub><italic>i </italic></sub>= 1 if <italic>i</italic>-th locus has null allele, otherwise <italic>δ</italic><sub><italic>i </italic></sub>= 0. The number of haplotypes is .</p> <p></p> <p>The average number of haplotype resolutions which give genotype <italic>j </italic>(when phase information is lost) grows exponentially with the number of observed loci, thus full space search algorithm cannot be used to find the best haplotype frequencies. The equation (2) provides the number of haplotype resolutions <italic>r</italic><sub><italic>j </italic></sub>which give genotype <italic>j</italic>, where <italic>s</italic><sub><italic>j </italic></sub>is the number of observed heterozygous and <italic>t</italic><sub><italic>j </italic></sub>is the number of observed (not null) alleles for loci with null allele(s).</p> <p></p> <title>Maximum likelihood approach to estimate haplotypes</title> <p>In the maximum likelihood approach haplotype frequencies <italic>h</italic><sub><italic>i </italic></sub>are estimated to maximize the probability of the given sample of genotyping data. The sample of genotyping data from <italic>n </italic>individuals is simplified to a vector <italic>S </italic>= (<italic>n</italic><sub>1</sub>, <italic>n</italic><sub>2</sub>,..., <italic>n</italic><sub><italic>G</italic></sub>), where <italic>G </italic>is the number of different genotyping data (with a lack of phase information, equation (1)), and <italic>n</italic><sub><italic>j </italic></sub>is the number of individuals having <italic>j</italic>-th genotype, .</p> <p>The conditional probability of sample <italic>S</italic>, given each genotype probability <italic>g</italic><sub><italic>i</italic></sub>, and assuming unrelatedness of individuals in the sample is provided in equation (3), where <italic>α </italic>does not depend on <italic>g</italic><sub><italic>j</italic></sub>.</p> <p></p> <p>The frequency of genotype <italic>g</italic><sub><italic>j </italic></sub>is the sum of frequencies of respective haplotype pairs <italic>z</italic><sub><italic>mn</italic></sub>, and with Hardy-Weinberg equilibrium (HWE) assumption, it is calculated from haplotype frequencies as shown in equation (4), where <italic>z</italic><sub><italic>mn </italic></sub>is the frequency of haplotype pair <italic>m </italic>and <italic>n</italic>, <italic>r</italic><sub><italic>j </italic></sub>is the number of haplotype pairs for the <italic>j</italic>-th genotype (equation 2), and <italic>h</italic><sub><italic>m</italic></sub>, <italic>h</italic><sub><italic>n </italic></sub>are the frequencies of haplotypes <italic>m </italic>and <italic>n </italic>respectively.</p> <p></p> <p>The estimation of haplotype frequencies to maximize the probability of the observed sample can be described as optimization, the equation (5) summarizes the considered approach.</p> <p></p> <title>Extended EM algorithm</title> <p>The EM alternates between performing an expectation step <italic>E</italic><sup>(<italic>t</italic>)</sup>, which computes an expectation value of unknown parameters, here the frequencies of haplotype pairs, and a maximization step <italic>M</italic><sup>(<italic>t</italic>)</sup>, which computes the value of parameters by maximizing the probability of observed data. The parameters found on the <italic>M</italic><sup>(<italic>t</italic>) </sup>step are then used to begin another <italic>E</italic><sup>(<italic>t</italic>+1) </sup>step, and the process is repeated until the parameters are changed.</p> <p>The description of algorithm details for the observed genotype data of <italic>k </italic>linked loci, <italic>l</italic><sub><italic>i </italic></sub>variants for <italic>i</italic>-th locus, and the sample <italic>S </italic>= (<italic>n</italic><sub>1</sub>, <italic>n</italic><sub>2</sub>,..., <italic>n</italic><sub><italic>G</italic></sub>) is given below.</p> <title>Initiation</title> <p>The EM algorithm could be trapped into a local maximum, therefore multiple random starts are employed (any number determined by the user) in order to help the algorithm reach the global maximum. If <italic>n </italic>&gt; 1 starting points are specified, for <italic>i-th </italic>point, the program calculates the mean error between the first and <italic>i-th </italic>estimate, and if this exceeds a predefined value (default = 0.05) a message is displayed about possible multiple local maxima. Since this feature increases computational time, it is optional.</p> <p>If no random starts are used, the initial haplotype pair frequencies are set as described in equation (6) (the <italic>E</italic><sup>0 </sup>step). For each haplotype resolution, the initial frequency depends only on the number of haplotype pairs for the given genotype. A similar initiation is described in [##REF##7476138##6##].</p> <p></p> <title>Maximization step</title> <p>In this step, the typical EM algorithm was adopted, the only modification consisting of the fact that the genotype frequency calculation was performed as a sum of corresponding haplotype pair frequencies, equation (4), taking into account that the heterozygotes with null allele are genotyped identically as homozygotes without null allele.</p> <p>Next, the haplotype pair frequencies are corrected, to maximize the probability of a given sample. Details are given in equation (7), where  is the input haplotype pair frequency,  is the calculated genotype frequency (inclusive of appropriate heterozygous genotypes with null variants),  is the output haplotype pair frequency, corrected to maximize the observed sample, <italic>n</italic><sub><italic>j </italic></sub>is the number of observed genotypes <italic>g</italic><sub><italic>j </italic></sub>in sample and <italic>n </italic>is the number individuals in the sample.</p> <p></p> <title>Expectation step</title> <p>Haplotype frequencies <italic>h</italic><sub><italic>m</italic></sub>s are calculated from the given haplotype pair frequencies <italic>z</italic><sub><italic>mn</italic></sub>s, as a half of the sum of frequencies of all pairs of haplotypes in which given haplotype occurs. The next expected haplotype pair frequencies are calculated using haplotype frequencies as described in equation (8).</p> <p></p> <title>Stop conditions</title> <p>The algorithm stops, when the stability of estimations between the following steps is obtained, i.e. the absolute difference between the calculated frequencies is less then <italic>ε </italic>(equation 9). The default threshold value for <italic>epsilon </italic>is 10<sup>-5</sup>, and can be changed by a program option.</p> <p></p> <p>The final step is calculation of the haplotype frequencies (another E step), and of the conditional probability of the haplotype pair, given genotype estimation (equation 10).</p> <p></p> <title>Availability and requirements</title> <p><bold>Project name</bold>: NullHap</p> <p><bold>Project homepage</bold>: <ext-link ext-link-type="uri" xlink:href="http://nullhap.sourceforge.net"/></p> <p><bold>Operating systems(s)</bold>: OS Portable</p> <p><bold>Precompiled binaries</bold>: Windows NT/2000/XP, Debian Linux</p> <p><bold>Programming language</bold>: C++</p> <p><bold>License</bold>: GNU LGPL</p> <title>Authors' contributions</title> <p>RN adopted algorithm, implemented application, performed calculations and drafted manuscript. RP proposed the idea to develop the software, outlined its main features, participated in validation process and provided biological interpretation of results of reanalysis of KIR haplotypes. All authors read and approved the final manuscript.</p>
<title>Acknowledgements</title> <p>This work was supported by the statutory research of Institute of Electronic Systems of Warsaw University of Technology and Medical University of Warsaw Grant 1WY/N/2008. We would like to thank the editor and anonymous referees for their insightful comments.</p>
<fig position="float" id="F1"><label>Figure 1</label><caption><p><bold>Effect of sample size on accuracy of estimation</bold>. Effect of sample size on accuracy of estimation of haplotype frequencies. Ten samples of 25, 50, 100, 200, 500, 1000 individuals were generated from population in HWE. The error in function of sample size is shown. The haplotype distribution is given in example 5 (red) and example 6 (blue) in Table 2, respectively.</p></caption></fig> <fig position="float" id="F2"><label>Figure 2</label><caption><p><bold>Effect of HWE violation on accuracy of estimation</bold>. Effect of HWE violation on the accuracy of the algorithm. The figure shows the error in function of inbreeding coefficient <italic>f </italic>for two polymorphisms characterized in Table 2 (example 5 – red line, example 6 – blue line).</p></caption></fig> <fig position="float" id="F3"><label>Figure 3</label><caption><p><bold>Effect of haplotype frequency on the error of the estimation</bold>. Effect of haplotype frequency on the error of the estimation. Ten samples of 1000 individuals were generated for population in HWE, for a 2 locus polymorphism: A with variants <italic>A</italic><sub>0</sub>, <italic>A</italic><sub>1</sub>, <italic>A</italic><sub>2 </sub>and B with variants <italic>B</italic><sub>0</sub>, <italic>B</italic><sub>1</sub>. The graph shows the error of haplotype frequency estimation in function of assumed frequency of this haplotype.</p></caption></fig>
<table-wrap position="float" id="T1"><label>Table 1</label><caption><p>Assumed and estimated haplotype frequencies</p></caption><table frame="hsides" rules="groups"><thead><tr><td align="left">haplotype</td><td align="center" colspan="5">frequency <italic>h</italic><sub><italic>i</italic></sub></td></tr><tr><td/><td align="left">assumed</td><td align="left">Arlequin</td><td align="left">PHASE</td><td align="left">Haplo-IHP</td><td align="left">NullHap</td></tr></thead><tbody><tr><td align="left"><italic>A</italic><sub>0</sub><italic>B</italic><sub>1</sub><italic>C</italic><sub>0</sub></td><td align="left">0.2</td><td align="left">0.068</td><td align="left">0.068</td><td align="left">0.294</td><td align="left">0.20</td></tr><tr><td align="left"><italic>A</italic><sub>0</sub><italic>B</italic><sub>1</sub><italic>C</italic><sub>1</sub></td><td align="left">0.2</td><td align="left">0.172</td><td align="left">0.172</td><td align="left">0.294</td><td align="left">0.20</td></tr><tr><td align="left"><italic>A</italic><sub>0</sub><italic>B</italic><sub>2</sub><italic>C</italic><sub>0</sub></td><td align="left">0.1</td><td align="left">0.034</td><td align="left">0.034</td><td align="left">0.147</td><td align="left">0.10</td></tr><tr><td align="left"><italic>A</italic><sub>0</sub><italic>B</italic><sub>2</sub><italic>C</italic><sub>1</sub></td><td align="left">0.02</td><td align="left">0.038</td><td align="left">0.038</td><td align="left">0.029</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>0</sub><italic>B</italic><sub>3</sub><italic>C</italic><sub>0</sub></td><td align="left">0.02</td><td align="left">0.007</td><td align="left">0.007</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>0</sub><italic>B</italic><sub>3</sub><italic>C</italic><sub>1</sub></td><td align="left">0.02</td><td align="left">0.017</td><td align="left">0.017</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>0</sub><italic>B</italic><sub>4</sub><italic>C</italic><sub>0</sub></td><td align="left">0.02</td><td align="left">0.007</td><td align="left">0.007</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>0</sub><italic>B</italic><sub>4</sub><italic>C</italic><sub>1</sub></td><td align="left">0.02</td><td align="left">0.017</td><td align="left">0.017</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>1</sub><italic>B</italic><sub>1</sub><italic>C</italic><sub>0</sub></td><td align="left">0.1</td><td align="left">0.089</td><td align="left">0.089</td><td align="left">0.147</td><td align="left">0.10</td></tr><tr><td align="left"><italic>A</italic><sub>1</sub><italic>B</italic><sub>1</sub><italic>C</italic><sub>1</sub></td><td align="left">0.02</td><td align="left">0.125</td><td align="left">0.125</td><td align="left">0.029</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>1</sub><italic>B</italic><sub>2</sub><italic>C</italic><sub>0</sub></td><td align="left">0.02</td><td align="left">0.028</td><td align="left">0.028</td><td align="left">0.029</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>1</sub><italic>B</italic><sub>2</sub><italic>C</italic><sub>1</sub></td><td align="left">0.02</td><td align="left">0.042</td><td align="left">0.042</td><td align="left">0.029</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>1</sub><italic>B</italic><sub>3</sub><italic>C</italic><sub>0</sub></td><td align="left">0.02</td><td align="left">0.015</td><td align="left">0.015</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>1</sub><italic>B</italic><sub>3</sub><italic>C</italic><sub>1</sub></td><td align="left">0.02</td><td align="left">0.035</td><td align="left">0.035</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>1</sub><italic>B</italic><sub>4</sub><italic>C</italic><sub>0</sub></td><td align="left">0.02</td><td align="left">0.015</td><td align="left">0.015</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>1</sub><italic>B</italic><sub>4</sub><italic>C</italic><sub>1</sub></td><td align="left">0.02</td><td align="left">0.035</td><td align="left">0.035</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>2</sub><italic>B</italic><sub>1</sub><italic>C</italic><sub>0</sub></td><td align="left">0.02</td><td align="left">0.028</td><td align="left">0.029</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>2</sub><italic>B</italic><sub>1</sub><italic>C</italic><sub>1</sub></td><td align="left">0.02</td><td align="left">0.078</td><td align="left">0.078</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>2</sub><italic>B</italic><sub>2</sub><italic>C</italic><sub>0</sub></td><td align="left">0.02</td><td align="left">0.019</td><td align="left">0.019</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>2</sub><italic>B</italic><sub>2</sub><italic>C</italic><sub>1</sub></td><td align="left">0.02</td><td align="left">0.039</td><td align="left">0.039</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>2</sub><italic>B</italic><sub>3</sub><italic>C</italic><sub>0</sub></td><td align="left">0.02</td><td align="left">0.013</td><td align="left">0.013</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>2</sub><italic>B</italic><sub>3</sub><italic>C</italic><sub>1</sub></td><td align="left">0.02</td><td align="left">0.033</td><td align="left">0.033</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>2</sub><italic>B</italic><sub>4</sub><italic>C</italic><sub>0</sub></td><td align="left">0.02</td><td align="left">0.013</td><td align="left">0.013</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td align="left"><italic>A</italic><sub>2</sub><italic>B</italic><sub>4</sub><italic>C</italic><sub>1</sub></td><td align="left">0.02</td><td align="left">0.033</td><td align="left">0.033</td><td align="left">0.0</td><td align="left">0.02</td></tr><tr><td colspan="6"><hr/></td></tr><tr><td align="left">error</td><td align="left">-</td><td align="left">79%</td><td align="left">79%</td><td align="left">82%</td><td align="left">0%</td></tr></tbody></table></table-wrap> <table-wrap position="float" id="T2"><label>Table 2</label><caption><p>Haplotype estimation frequency error</p></caption><table frame="hsides" rules="groups"><thead><tr><td align="center">No</td><td align="left">example description</td><td align="center" colspan="4">error</td></tr><tr><td/><td/><td align="right">Arlequin</td><td align="right">PHASE</td><td align="right">Haplo-IHP</td><td align="right">NullHap</td></tr></thead><tbody><tr><td align="center">1</td><td align="left">biallelic loci: A(<italic>A</italic><sub>1</sub>, <italic>A</italic><sub>2</sub>), B(<italic>B</italic><sub>1</sub>, <italic>B</italic><sub>2</sub>), C(<italic>C</italic><sub>1</sub>, <italic>C</italic><sub>2</sub>) no null variants</td><td align="right">0%</td><td align="right">0%</td><td align="right">0%</td><td align="right">0%</td></tr><tr><td align="center">2</td><td align="left">biallelic loci: A(<italic>A</italic><sub>0</sub>, <italic>A</italic><sub>1</sub>), B(<italic>B</italic><sub>0</sub>,<italic>B</italic><sub>1</sub>), C(<italic>C</italic><sub>0</sub>, <italic>C</italic><sub>1</sub>), null variants: <italic>A</italic><sub>0</sub>, <italic>B</italic><sub>0 </sub>and <italic>C</italic><sub>0</sub></td><td align="right">61%</td><td align="right">50%</td><td align="right">1%</td><td align="right">0%</td></tr><tr><td align="center">3</td><td align="left">multiallelic loci: A(<italic>A</italic><sub>1</sub>, <italic>A</italic><sub>2</sub>, <italic>A</italic><sub>3</sub>), B(<italic>B</italic><sub>1</sub>, <italic>B</italic><sub>2</sub>, <italic>B</italic><sub>3</sub>), no null variants</td><td align="right">0%</td><td align="right">1%</td><td align="right">78%</td><td align="right">0%</td></tr><tr><td align="center">4</td><td align="left">multiallelic loci: A(<italic>A</italic><sub>0</sub>, <italic>A</italic><sub>1</sub>, <italic>A</italic><sub>2</sub>), B(<italic>B</italic><sub>0</sub>,<italic>B</italic><sub>1</sub>, <italic>B</italic><sub>2</sub>), null variants: <italic>A</italic><sub>0 </sub>and <italic>B</italic><sub>0</sub></td><td align="right">62%</td><td align="right">62%</td><td align="right">100%</td><td align="right">0%</td></tr><tr><td align="center">5</td><td align="left">multiallelic and biallelic loci with null variants: A(<italic>A</italic><sub>0</sub>,<italic>A</italic><sub>1</sub>,<italic>A</italic><sub>2</sub>), B(<italic>B</italic><sub>0</sub>,<italic>B</italic><sub>1</sub>), C(<italic>C</italic><sub>0</sub>,<italic>C</italic><sub>1</sub>)</td><td align="right">62%</td><td align="right">48%</td><td align="right">64%</td><td align="right">0%</td></tr><tr><td align="center">6</td><td align="left">details in Table 2, A(<italic>A</italic><sub>0</sub>,<italic>A</italic><sub>1</sub>,<italic>A</italic><sub>2</sub>), B(<italic>B</italic><sub>1</sub>,<italic>B</italic><sub>2</sub>,<italic>B</italic><sub>3</sub>,<italic>B</italic><sub>4</sub>), C(<italic>C</italic><sub>0</sub>,<italic>C</italic><sub>1</sub>)</td><td align="right">79%</td><td align="right">79%</td><td align="right">82%</td><td align="right">0%</td></tr></tbody></table></table-wrap> <table-wrap position="float" id="T3"><label>Table 3</label><caption><p>Computational time comparison</p></caption><table frame="hsides" rules="groups"><thead><tr><td align="right">loci</td><td align="right">number of haplotypes</td><td align="right">observ.</td><td align="center">null alleles</td><td align="center" colspan="4">time for application</td></tr><tr><td/><td/><td/><td/><td align="center">Arlequin</td><td align="center">Phase</td><td align="center">HaploIHP</td><td align="center">NullHap</td></tr></thead><tbody><tr><td align="right">2</td><td align="right">6</td><td align="right">100</td><td align="center">no</td><td align="center">0.13 s</td><td align="center">46 s</td><td align="center">0.5 s</td><td align="center">0.07 s</td></tr><tr><td align="right">2</td><td align="right">9</td><td align="right">100</td><td align="center">no</td><td align="center">0.06 s</td><td align="center">47 s</td><td align="center">0.15 s</td><td align="center">0.04 s</td></tr><tr><td align="right">3</td><td align="right">8</td><td align="right">100</td><td align="center">no</td><td align="center">0.04 s</td><td align="center">69 s</td><td align="center">0.58 s</td><td align="center">0.02 s</td></tr><tr><td align="right">2</td><td align="right">504</td><td align="right">99</td><td align="center">no</td><td align="center">0.22 s</td><td align="center">53 s</td><td align="center">-</td><td align="center">37 s</td></tr><tr><td align="right">2</td><td align="right">540</td><td align="right">99</td><td align="center">no</td><td align="center">0.34 s</td><td align="center">58 s</td><td align="center">-</td><td align="center">39 s</td></tr><tr><td align="right">5</td><td align="right">32</td><td align="right">200</td><td align="center">yes</td><td align="center">-</td><td align="center">-</td><td align="center">14 s</td><td align="center">0.78 s</td></tr><tr><td align="right">7</td><td align="right">128</td><td align="right">200</td><td align="center">yes</td><td align="center">-</td><td align="center">-</td><td align="center">145 s</td><td align="center">13 s</td></tr><tr><td align="right">8</td><td align="right">256</td><td align="right">200</td><td align="center">yes</td><td align="center">-</td><td align="center">-</td><td align="center">450 s</td><td align="center">61 s</td></tr><tr><td align="right">9</td><td align="right">512</td><td align="right">200</td><td align="center">yes</td><td align="center">-</td><td align="center">-</td><td align="center">1300 s(8 s)</td><td align="center">209 s</td></tr><tr><td align="right">10</td><td align="right">1024</td><td align="right">200</td><td align="center">yes</td><td align="center">-</td><td align="center">-</td><td align="center">3 h (8 s)</td><td align="center">2300 s</td></tr><tr><td align="right">11</td><td align="right">2048</td><td align="right">200</td><td align="center">yes</td><td align="center">-</td><td align="center">-</td><td align="center">24 h (10 s)</td><td align="center">3 h</td></tr><tr><td align="right">15</td><td align="right">32768</td><td align="right">100</td><td align="center">yes</td><td align="center">-</td><td align="center">-</td><td align="center">-</td><td align="center">48 h</td></tr></tbody></table></table-wrap> <table-wrap position="float" id="T4"><label>Table 4</label><caption><p>The distribution of KIR haplotypes</p></caption><table frame="hsides" rules="groups"><thead><tr><td align="right">Haplo-type #</td><td align="center" colspan="6"><italic>KIR 2</italic></td><td align="center">Psoriatis N = 116 (%)</td><td align="center">Controls N = 123 (%)</td><td align="center">OR</td><td align="center">P value*</td></tr><tr><td/><td align="center">DS2</td><td align="center">DL2/3</td><td align="center">DS3/5</td><td align="center">DL1</td><td align="center">DS1</td><td align="center">DS4/1D</td><td/><td/><td/><td/></tr></thead><tbody><tr><td align="right">1</td><td align="center">null</td><td align="center">3</td><td align="center">null</td><td align="center">1</td><td align="center">1</td><td align="center">1D</td><td align="center">20 (17)</td><td align="center">0</td><td align="center">52.5</td><td align="center">0.00018</td></tr><tr><td align="right">2</td><td align="center">1</td><td align="center">2</td><td align="center">3</td><td align="center">null</td><td align="center">1</td><td align="center">1D</td><td align="center">11 (9.6)</td><td align="center">0</td><td align="center">27</td><td align="center">0.0058</td></tr><tr><td align="right">3</td><td align="center">null</td><td align="center">3</td><td align="center">3</td><td align="center">null</td><td align="center">null</td><td align="center">1D</td><td align="center">6 (5.3)</td><td align="center">2 (1.5)</td><td align="center">2.9</td><td align="center">NS</td></tr><tr><td align="right">4</td><td align="center">null</td><td align="center">3</td><td align="center">5</td><td align="center">1</td><td align="center">1</td><td align="center">null</td><td align="center">6 (5.2)</td><td align="center">7 (5.6)</td><td align="center">0.9</td><td align="center">NS</td></tr><tr><td align="right">5</td><td align="center">null</td><td align="center">3</td><td align="center">3</td><td align="center">1</td><td align="center">null</td><td align="center">1D</td><td align="center">15 (13)</td><td align="center">30 (24)</td><td align="center">0.5</td><td align="center">NS</td></tr><tr><td align="right">6</td><td align="center">1</td><td align="center">2</td><td align="center">5</td><td align="center">null</td><td align="center">1</td><td align="center">null</td><td align="center">3 (2.5)</td><td align="center">7 (6.4)</td><td align="center">0.5</td><td align="center">NS</td></tr><tr><td align="right">7</td><td align="center">null</td><td align="center">3</td><td align="center">null</td><td align="center">1</td><td align="center">null</td><td align="center">1D</td><td align="center">0</td><td align="center">16 (13)</td><td align="center">0.03</td><td align="center">0.00018</td></tr><tr><td align="right">8</td><td align="center">1</td><td align="center">2</td><td align="center">-</td><td align="center">null</td><td align="center">1</td><td align="center">1D</td><td align="center">17 (15)</td><td align="center">0</td><td align="center">43.4</td><td align="center">0.00018</td></tr><tr><td align="right">9</td><td align="center">null</td><td align="center">3</td><td align="center">-</td><td align="center">1</td><td align="center">1</td><td align="center">1D</td><td align="center">16 (14)</td><td align="center">0</td><td align="center">40.6</td><td align="center">0.00018</td></tr><tr><td align="right">10</td><td align="center">null</td><td align="center">3</td><td align="center">-</td><td align="center">1</td><td align="center">1</td><td align="center">DS4</td><td align="center">6 (5.3)</td><td align="center">0</td><td align="center">14.5</td><td align="center">NS</td></tr><tr><td align="right">11</td><td align="center">1</td><td align="center">2</td><td align="center">-</td><td align="center">1</td><td align="center">null</td><td align="center">1D</td><td align="center">7 (6)</td><td align="center">3 (2.3)</td><td align="center">2.4</td><td align="center">NS</td></tr><tr><td align="right">12</td><td align="center">null</td><td align="center">3</td><td align="center">-</td><td align="center">1</td><td align="center">1</td><td align="center">null</td><td align="center">19 (16)</td><td align="center">14 (11)</td><td align="center">1.6</td><td align="center">NS</td></tr><tr><td align="right">13</td><td align="center">null</td><td align="center">3</td><td align="center">-</td><td align="center">null</td><td align="center">null</td><td align="center">1D</td><td align="center">6 (5)</td><td align="center">7 (5.7)</td><td align="center">0.9</td><td align="center">NS</td></tr><tr><td align="right">14</td><td align="center">null</td><td align="center">3</td><td align="center">-</td><td align="center">1</td><td align="center">null</td><td align="center">1D</td><td align="center">19 (16)</td><td align="center">44 (36)</td><td align="center">0.4</td><td align="center">NS</td></tr><tr><td align="right">15</td><td align="center">1</td><td align="center">2</td><td align="center">-</td><td align="center">null</td><td align="center">null</td><td align="center">DS4</td><td align="center">3 (2.4)</td><td align="center">8 (6.6)</td><td align="center">0.4</td><td align="center">NS</td></tr><tr><td align="right">16</td><td align="center">1</td><td align="center">2</td><td align="center">-</td><td align="center">null</td><td align="center">null</td><td align="center">1D</td><td align="center">0</td><td align="center">7 (5.6)</td><td align="center">0.07</td><td align="center">NS</td></tr><tr><td align="right">17</td><td align="center">1</td><td align="center">2</td><td align="center">-</td><td align="center">1</td><td align="center">1</td><td align="center">null</td><td align="center">0</td><td align="center">7 (5.6)</td><td align="center">0.07</td><td align="center">NS</td></tr><tr><td align="right">18</td><td align="center">null</td><td align="center">3</td><td align="center">-</td><td align="center">1</td><td align="center">null</td><td align="center">DS4</td><td align="center">0</td><td align="center">7 (5.6)</td><td align="center">0.07</td><td align="center">NS</td></tr></tbody></table></table-wrap>
<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M1" name="1471-2105-9-330-i1" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:msubsup><mml:mo>∏</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>k</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mstyle></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula id="bmcM1"><label>(1)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M2" name="1471-2105-9-330-i2" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>G</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>∏</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>k</mml:mi></mml:munderover><mml:mrow><mml:mfrac><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>−</mml:mo><mml:msub><mml:mi>δ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>l</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:msub><mml:mi>δ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mi>δ</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:mfrac></mml:mrow></mml:mstyle></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula id="bmcM2"><label>(2)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M3" name="1471-2105-9-330-i3" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mn>3</mml:mn><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mtext>for </mml:mtext><mml:msub><mml:mi>s</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>&gt;</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:mfrac><mml:mrow><mml:msup><mml:mn>3</mml:mn><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mn>2</mml:mn></mml:mfrac></mml:mrow></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mtext>for </mml:mtext><mml:msub><mml:mi>s</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M4" name="1471-2105-9-330-i4" overflow="scroll"><mml:semantics><mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mi>G</mml:mi></mml:msubsup><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:mstyle></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula id="bmcM3"><label>(3)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M5" name="1471-2105-9-330-i5" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>S</mml:mi><mml:mo>|</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mn>...</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mi>n</mml:mi><mml:mo>!</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>!</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>!</mml:mo><mml:mn>...</mml:mn><mml:msub><mml:mi>n</mml:mi><mml:mi>G</mml:mi></mml:msub><mml:mo>!</mml:mo></mml:mrow></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>∏</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>G</mml:mi></mml:munderover><mml:mrow><mml:msubsup><mml:mi>g</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:mstyle><mml:mo>=</mml:mo><mml:mi>α</mml:mi><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>∏</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>G</mml:mi></mml:munderover><mml:mrow><mml:msubsup><mml:mi>g</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:mstyle></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula id="bmcM4"><label>(4)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M6" name="1471-2105-9-330-i6" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>where</mml:mtext></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>m</mml:mi><mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mtext>for </mml:mtext><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:mn>2</mml:mn><mml:msub><mml:mi>h</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:msub><mml:mi>h</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mtext>for </mml:mtext><mml:mi>m</mml:mi><mml:mo>≠</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula id="bmcM5"><label>(5)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M7" name="1471-2105-9-330-i7" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:munder><mml:mrow><mml:mi>arg</mml:mi><mml:mo>⁡</mml:mo><mml:mi>max</mml:mi><mml:mo>⁡</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mn>...</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi>H</mml:mi></mml:msub></mml:mrow></mml:munder></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mi>P</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>S</mml:mi><mml:mo>|</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mn>...</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi>H</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:munder><mml:mrow><mml:mi>arg</mml:mi><mml:mo>⁡</mml:mo><mml:mi>max</mml:mi><mml:mo>⁡</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mn>...</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi>H</mml:mi></mml:msub></mml:mrow></mml:munder><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>∏</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>G</mml:mi></mml:munderover><mml:mo stretchy="false">(</mml:mo></mml:mstyle><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:munderover><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mstyle><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula id="bmcM6"><label>(6)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M8" name="1471-2105-9-330-i8" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mtext>where the </mml:mtext><mml:mi>m</mml:mi><mml:mi>n</mml:mi><mml:mtext> gives the </mml:mtext><mml:mi>j</mml:mi><mml:mtext> genotype</mml:mtext></mml:mrow></mml:semantics></mml:math></disp-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M9" name="1471-2105-9-330-i9" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M10" name="1471-2105-9-330-i10" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>g</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M11" name="1471-2105-9-330-i11" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula id="bmcM7"><label>(7)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M12" name="1471-2105-9-330-i12" overflow="scroll"><mml:semantics><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mi>n</mml:mi></mml:mfrac><mml:mo>∗</mml:mo><mml:mfrac><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mrow><mml:msubsup><mml:mi>g</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula id="bmcM8"><label>(8)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M13" name="1471-2105-9-330-i13" overflow="scroll"><mml:semantics><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>h</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>for </mml:mtext><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn>2</mml:mn><mml:msubsup><mml:mi>h</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:msubsup><mml:mi>h</mml:mi><mml:mi>n</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>for </mml:mtext><mml:mi>m</mml:mi><mml:mo>≠</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mo stretchy="false">(</mml:mo><mml:mstyle displaystyle="true"><mml:munder><mml:mo>∑</mml:mo><mml:mi>i</mml:mi></mml:munder><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:munder><mml:mo>∑</mml:mo><mml:mi>j</mml:mi></mml:munder><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mstyle><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula id="bmcM9"><label>(9)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M14" name="1471-2105-9-330-i14" overflow="scroll"><mml:semantics><mml:mrow><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>R</mml:mi></mml:munderover><mml:mrow><mml:mo>|</mml:mo><mml:msubsup><mml:mi>z</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mi>z</mml:mi><mml:mi>i</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>|</mml:mo></mml:mrow></mml:mstyle><mml:mo>&lt;</mml:mo><mml:mi>ε</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula id="bmcM10"><label>(10)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M15" name="1471-2105-9-330-i15" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>|</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mstyle displaystyle="true"><mml:msubsup><mml:mo>∑</mml:mo><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:msubsup><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:mstyle></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></disp-formula> <disp-formula id="bmcM11"><label>(11)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M16" name="1471-2105-9-330-i16" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>N</mml:mi></mml:mfrac><mml:mstyle displaystyle="true"><mml:munderover><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:mrow><mml:mo>|</mml:mo><mml:mfrac><mml:mrow><mml:mi>x</mml:mi><mml:mo>−</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mo>∗</mml:mo></mml:msup></mml:mrow><mml:mi>x</mml:mi></mml:mfrac><mml:mo>|</mml:mo></mml:mrow></mml:mstyle></mml:mrow></mml:semantics></mml:math></disp-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M17" name="1471-2105-9-330-i17" overflow="scroll"><mml:semantics><mml:mrow><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>N</mml:mi></mml:mfrac><mml:mstyle displaystyle="true"><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup><mml:mrow><mml:mo>|</mml:mo><mml:mi>x</mml:mi><mml:mo>−</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mo>∗</mml:mo></mml:msup><mml:mo>|</mml:mo></mml:mrow></mml:mstyle></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula id="bmcM12"><label>(12)</label><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M18" name="1471-2105-9-330-i18" overflow="scroll"><mml:semantics><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>m</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable columnalign="left"><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>m</mml:mi><mml:mn>2</mml:mn></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:mi>f</mml:mi></mml:mrow></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mtext>for </mml:mtext><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign="left"><mml:mtd columnalign="left"><mml:mrow><mml:mn>2</mml:mn><mml:msub><mml:mi>h</mml:mi><mml:mi>m</mml:mi></mml:msub><mml:msub><mml:mi>h</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>−</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd><mml:mtd columnalign="left"><mml:mrow><mml:mtext>for </mml:mtext><mml:mi>m</mml:mi><mml:mo>≠</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<table-wrap-foot><p>The assumed and estimated haplotype frequencies for a polymorphism with 3 loci: A(multiallelic with null variant), B(multiallelic), C(biallelic with null variant).</p></table-wrap-foot> <table-wrap-foot><p>Haplotype estimation frequency error for six polymorphisms with varying locus characteristics.</p></table-wrap-foot> <table-wrap-foot><p>Computational time for considered applications (HaploIHP in parenthesis with greedy algorithm). Results presented only for applications able to handle the given polymorphism, otherwise '-'.</p></table-wrap-foot> <table-wrap-foot><p>*with Bonferroni correction (correction factor = 18)</p><p>The distribution of <italic>KIR </italic>haplotypes among psoriasis patients and controls obtained with NullHap based on genotypes reported by Luszczek et al. [##REF##15310528##16##]. Only haplotypes with frequency &gt; 5% in either group are shown. Odds ratio (OR) calculated according to Haldane [##REF##13314400##22##], P value calculated by Fisher exact test. NS -not significant.</p></table-wrap-foot>
<graphic xlink:href="1471-2105-9-330-1"/> <graphic xlink:href="1471-2105-9-330-2"/> <graphic xlink:href="1471-2105-9-330-3"/>
[{"surname": ["Dempster", "Laird", "Rubin"], "given-names": ["A", "N", "D"], "article-title": ["Maximum likelihood from incomplete data via the em algorithm"], "source": ["Journal of the Royal Statistical Society"], "year": ["1977"], "volume": ["39"], "fpage": ["1"], "lpage": ["39"]}, {"surname": ["Excoffier", "G", "S"], "given-names": ["L", "L", "S"], "article-title": ["Arlequin ver. 3.0: An integrated software package for population genetics data analysis"], "source": ["Evolutionary Bioinformatics Online"], "year": ["2005"], "volume": ["1"], "fpage": ["47"], "lpage": ["50"]}, {"article-title": ["The boost libraries"]}, {"surname": ["Weir"], "given-names": ["B"], "source": ["Genetic Data Analysis 2"], "year": ["1996"], "publisher-name": ["Sinauer Assocs. Inc., Sunderland, Mass"]}]
BMC Bioinformatics. 2008 Aug 5; 9:330