<?xml version='1.0'?>
<!DOCTYPE art SYSTEM 'http://www.biomedcentral.com/xml/article.dtd'>
<art>
   <ui>1471-2164-9-356</ui>
   <ji>1471-2164</ji>
   <fm>
      <dochead>Software</dochead>
      <bibl>
         <title>
            <p>Haplotype inference from unphased SNP data in heterozygous polyploids based on SAT</p>
         </title>
         <aug>
            <au id="A1" ca="yes">
               <snm>Neigenfind</snm>
               <fnm>Jost</fnm>
               <insr iid="I1"/>
               <insr iid="I2"/>
               <email>Neigenfind@mpimp-golm.mpg.de</email>
            </au>
            <au id="A2">
               <snm>Gyetvai</snm>
               <fnm>Gabor</fnm>
               <insr iid="I3"/>
               <email>gyetvai@mpiz-koeln.mpg.de</email>
            </au>
            <au id="A3">
               <snm>Basekow</snm>
               <fnm>Rico</fnm>
               <insr iid="I1"/>
               <insr iid="I2"/>
               <email>Basekow@mpimp-golm.mpg.de</email>
            </au>
            <au id="A4">
               <snm>Diehl</snm>
               <fnm>Svenja</fnm>
               <insr iid="I2"/>
               <email>svenja.diehl@pmintl.com</email>
            </au>
            <au id="A5">
               <snm>Achenbach</snm>
               <fnm>Ute</fnm>
               <insr iid="I3"/>
               <email>achen@mpiz-koeln.mpg.de</email>
            </au>
            <au id="A6">
               <snm>Gebhardt</snm>
               <fnm>Christiane</fnm>
               <insr iid="I3"/>
               <email>gebhardt@mpiz-koeln.mpg.de</email>
            </au>
            <au id="A7">
               <snm>Selbig</snm>
               <fnm>Joachim</fnm>
               <insr iid="I4"/>
               <email>Selbig@mpimp-golm.mpg.de</email>
            </au>
            <au ca="yes" id="A8">
               <snm>Kersten</snm>
               <fnm>Birgit</fnm>
               <insr iid="I1"/>
               <insr iid="I2"/>
               <email>Kersten@mpimp-golm.mpg.de</email>
            </au>
         </aug>
         <insg>
            <ins id="I1">
               <p>Bioinformatics, GabiPD team, Max Planck Institute of Molecular Plant Physiology, 14424 Potsdam-Golm, Germany</p>
            </ins>
            <ins id="I2">
               <p>Bioinformatics, Former RZPD German Resource Center for Genome Research GmbH, Heubnerweg 6, D-14059, Berlin, Germany</p>
            </ins>
            <ins id="I3">
               <p>Max Planck Institute for Plant Breeding Research, Carl von Linn&#232; Weg 10, 50829 K&#246;ln, Germany</p>
            </ins>
            <ins id="I4">
               <p>Institute of Biochemistry and Biology, University of Potsdam, c/o MPI-MP, 14424 Potsdam, Germany</p>
            </ins>
         </insg>
         <source>BMC Genomics</source>
         <issn>1471-2164</issn>
         <pubdate>2008</pubdate>
         <volume>9</volume>
         <issue>1</issue>
         <fpage>356</fpage>
         <url>http://www.biomedcentral.com/1471-2164/9/356</url>
         <xrefbib>
            <pubidlist>
               <pubid idtype="pmpid">18667059</pubid>
               <pubid idtype="doi">10.1186/1471-2164-9-356</pubid>
            </pubidlist>
         </xrefbib>
      </bibl>
      <history>
         <rec>
            <date>
               <day>14</day>
               <month>2</month>
               <year>2008</year>
            </date>
         </rec>
         <acc>
            <date>
               <day>30</day>
               <month>7</month>
               <year>2008</year>
            </date>
         </acc>
         <pub>
            <date>
               <day>30</day>
               <month>7</month>
               <year>2008</year>
            </date>
         </pub>
      </history>
      <cpyrt>
         <year>2008</year>
         <collab>Neigenfind et al; licensee BioMed Central Ltd.</collab>
         <note>This is an Open Access article distributed under the terms of the Creative Commons Attribution License (<url>http://creativecommons.org/licenses/by/2.0</url>), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</note>
      </cpyrt>
      <abs>
         <sec>
            <st>
               <p>Abstract</p>
            </st>
            <sec>
               <st>
                  <p>Background</p>
               </st>
               <p>Haplotype inference based on unphased SNP markers is an important task in population genetics. Although there are different approaches to the inference of haplotypes in diploid species, the existing software is not suitable for inferring haplotypes from unphased SNP data in polyploid species, such as the cultivated potato (<it>Solanum tuberosum</it>). Potato species are tetraploid and highly heterozygous.</p>
            </sec>
            <sec>
               <st>
                  <p>Results</p>
               </st>
               <p>Here we present the software SATlotyper which is able to handle polyploid and polyallelic data. SATlo-typer uses the Boolean satisfiability problem to formulate Haplotype Inference by Pure Parsimony. The software excludes existing haplotype inferences, thus allowing for calculation of alternative inferences. As it is not known which of the multiple haplotype inferences are best supported by the given unphased data set, we use a bootstrapping procedure that allows for scoring of alternative inferences. Finally, by means of the bootstrapping scores, it is possible to optimise the phased genotypes belonging to a given haplotype inference. The program is evaluated with simulated and experimental SNP data generated for heterozygous tetraploid populations of potato. We show that, instead of taking the first haplotype inference reported by the program, we can significantly improve the quality of the final result by applying additional methods that include scoring of the alternative haplotype inferences and genotype optimisation. For a sub-population of nineteen individuals, the predicted results computed by SATlotyper were directly compared with results obtained by experimental haplotype inference via sequencing of cloned amplicons. Prediction and experiment gave similar results regarding the inferred haplotypes and phased genotypes.</p>
            </sec>
            <sec>
               <st>
                  <p>Conclusion</p>
               </st>
               <p>Our results suggest that Haplotype Inference by Pure Parsimony can be solved efficiently by the SAT approach, even for data sets of unphased SNP from heterozygous polyploids. SATlotyper is freeware and is distributed as a Java JAR file. The software can be downloaded from the webpage of the GABI Primary Database at <url>http://www.gabipd.org/projects/satlotyper/</url>. The application of SATlotyper will provide haplotype information, which can be used in haplotype association mapping studies of polyploid plants.</p>
            </sec>
         </sec>
      </abs>
   </fm>
   <bdy>
      <sec>
         <st>
            <p>Background</p>
         </st>
         <p>In the case of homozygous genotypes, such as maize or many other inbreeding crop species, haplotypes can be directly drawn from comparison of the amplified genomic sequence at a given locus between different individuals <abbrgrp><abbr bid="B1">1</abbr></abbrgrp>. Difficulties arise if homozygous genotypes are not available, for example, in non-inbred, tetraploid potato <abbrgrp><abbr bid="B2">2</abbr></abbrgrp>. In such cases, it is necessary to determine the haplotype phase from unphased SNP (single nucleotide polymorphism) data. There are several approaches for inferring haplotypes, based on (i) statistical methods, such as the EM algorithm and Gibbs sampling or (ii) the parsimony principle <abbrgrp><abbr bid="B3">3</abbr></abbrgrp>. These approaches have, however, been developed for biallelic and diploid species. There is currently no software available for haplotype identification in more complex polyploids <abbrgrp><abbr bid="B2">2</abbr><abbr bid="B4">4</abbr></abbrgrp>. In the case of autotetraploids <abbrgrp><abbr bid="B4">4</abbr></abbrgrp>, one has to tackle more phase-unknown alleles than in diploids, which results in a combinatorial explosion of possible haplotypes.</p>
         <p>In this study, we aimed at the development and evaluation of a generalised approach for calculating haplo-types in polyploid species using the parsimony principle. The goal of haplotype inference is to find a set of haplotypes explaining every genotype present in a given unphased population. The parsimony principle can be used to find the smallest set of haplotypes, such that each genotype in the population can be explained by a ploidy-specific number of haplotypes from the set of haplotypes. The objective of minimising the number of haplotypes explaining a SNP data set is called Haplotype Inference by Pure Parsimony (HIPP) <abbrgrp><abbr bid="B5">5</abbr></abbrgrp> and was shown to be NP-hard <abbrgrp><abbr bid="B6">6</abbr></abbrgrp>. Lynce and Marques-Silva recently formulated the problem as an instance of the Boolean satisfiability problem, called SAT <abbrgrp><abbr bid="B7">7</abbr><abbr bid="B8">8</abbr></abbrgrp>, that can be solved orders of magnitude faster than the existing ILP (integer linear programming) formulation <abbrgrp><abbr bid="B7">7</abbr><abbr bid="B9">9</abbr><abbr bid="B10">10</abbr></abbrgrp>. Unfortunately, the SAT formulation is also restricted to unphased biallelic SNP data of diploid species. Here, we present a generalisation for polyploids of the SAT approach developed by Lynce and Marques-Silva <abbrgrp><abbr bid="B7">7</abbr><abbr bid="B8">8</abbr></abbrgrp>. This generalisation resulted in the development of the SATlotyper software tool. We tested and evaluated SATlotyper with simulated and experimental data sets of unphased SNP sites from a specific potato locus. SNP data were obtained from different populations of tetraploid individuals. For a subset of individuals, we compared the computed haplotypes with experimental haplotypes identified by amplicon cloning and sequencing <abbrgrp><abbr bid="B2">2</abbr></abbrgrp>.</p>
      </sec>
      <sec>
         <st>
            <p>Implementation</p>
         </st>
         <p>First, basic terms are defined and the basic problem is formulated. Then, the SAT model for biallelic polyploids is presented. This is followed by the extension of the model to polyploid and polyallelic SNP sites. After that, constraints are given for breaking symmetries in haplotypes and genotypes. Constraints are also formulated for alternative most parsimonious sets of explaining haplotypes as well as for alternative inferences of genotypes. A bootstrapping procedure for scoring haplotypes and a method for optimising alternative genotype inferences based on these scores is presented. Afterwards, lower and upper bounds of the most parsimonious explanation are mentioned and the definition of a norm for comparing genotypes is given. Finally, the realisation of SATlotyper is considered.</p>
         <sec>
            <st>
               <p>Basic definitions</p>
            </st>
            <p>The genome of every higher developed species, whether animal, plant or fungus, is based on a species-dependent number of homologous sets of chromosomes. The number of sets ranges from at least one set as it is found in yeast, which is a <it>haploid </it>species, followed by two sets in human (<it>diploid</it>) to much bigger numbers like four sets (<it>tetraploid</it>) in some varieties of the potato (e.g. <it>Solanum tuberosum</it>) or six homologous sets (<it>hexaploid</it>) in wheat (e.g. <it>Triticum aestivum</it>). The strawberry (e.g. <it>Fragaria ananassa</it>) can even have eight sets (<it>octaploid</it>). Chromosomes are sequences over the nucleotide alphabet, where the position of a specific nucleotide on the chromosome is called <it>site </it>or <it>locus </it>(Figure <figr fid="F1">1</figr>).</p>
            <fig id="F1">
               <title>
                  <p>Figure 1</p>
               </title>
               <caption>
                  <p>Schema of terms related to the HIPP</p>
               </caption>
               <text>
                  <p><b>Schema of terms related to the HIPP</b>. The total genotype of a tetraploid species consists of four chromosomes (Chromosome A-D) where two chromosomes come from the first parent (blue) and the other two from the second (green). A locus is a fixed position on a chromosome often consisting of many nucleotides. Four haplotypes (Haplotype A-D) represent the nucleotide sequence of the corresponding locus on the four chromosomes. The four haplotypes A*-D* represent the conflated data of genotype* and thus explain genotype* (see also Figure 2, Figure 3 and Figure 7). The example illustrates a population of one individual. A homozygous site of the presented individual and locus becomes a SNP site, if a second individual is added which is heterozygous at a site different from SNP1-4 (and vice versa).</p>
               </text>
               <graphic file="1471-2164-9-356-1"/>
            </fig>
            <p><it>Single Nucleotide Polymorphism </it>or <it>SNP </it>is a DNA sequence variation, occurring when a single nucleotide is altered <abbrgrp><abbr bid="B7">7</abbr></abbrgrp>. Thus, a site in a population of a species is a SNP site if at least a second sort of nucleotide occurs at this site at least once.</p>
            <p>An <it>allele </it>is a different form of some segment of a chromosome, such as a second sort of nucleotide at a SNP site. Here, we focus on SNP sites. A SNP site that contains two different alleles is called <it>biallelic</it>, a SNP site that contains three different alleles is called <it>triallelic </it>and a SNP site that contains four different alleles is called <it>tetraallelic</it>.</p>
            <p>A <it>haplotype </it>is the genetic constitution of a sequence of nucleotides <abbrgrp><abbr bid="B7">7</abbr></abbrgrp>. The underlying data that forms a haplotype can be the full DNA sequence in the region, or more commonly the SNP sites in that region <abbrgrp><abbr bid="B7">7</abbr></abbrgrp>. Polyploid organisms contain two or more homologous haplotypes.</p>
            <p>A <it>genotype </it>describes the conflated data of a set of homologous haplotypes. In other words, an <it>explanation </it>for a genotype is a ploidy-specific number of homologous haplotypes. An <it>unphased genotype </it>is a genotype for which no set of explaining haplotypes is defined. There are, however, many possible sets of haplotypes explaining one given unphased genotype. A <it>phased genotype </it>is a genotype for which at least one set of explaining haplotypes is defined. If for a given site all explaining haplotypes have the same value, then the genotype is said to be <it>homozygous </it>at that side. Otherwise the genotype is said to be <it>heterozygous </it>at that side.</p>
            <p>Figure <figr fid="F1">1</figr> illustrates how the different terms are related to each other.</p>
         </sec>
         <sec>
            <st>
               <p>Problem formulation</p>
            </st>
            <p>A SNP site of an individual is a string over the nucleotide alphabet &#931; = {A, C, G, T} with size determined by the ploidy of the considered species. A sequence of such SNP sites defines a genotype, with the number of SNP sites as the length of the genotype. Let <it>n </it>denote the number of individuals in the sample, <it>m </it>be the number of SNP sites, and <it>p </it>be the ploidy of the considered species. Furthermore, a specific genotype is denoted by <it>g</it><sub><it>i</it></sub>, with 1 &#8804; <it>i </it>&#8804; <it>n</it>, and for a specific site <it>j</it>, with 1 &#8804; <it>j </it>&#8804; <it>m</it>, in <it>g</it><sub><it>i </it></sub>we use <it>g</it><sub><it>i</it>, <it>j</it></sub>. Finally, let <inline-formula><m:math name="1471-2164-9-356-i1" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSbaaaaa@3252@</m:annotation></m:semantics></m:math></inline-formula> with 1 &#8804; <it>l </it>&#8804; <it>p</it>, denote the <it>l</it><sup><it>th </it></sup>state at site <it>j </it>in genotype <it>i</it>. Given a set <inline-formula><m:math name="1471-2164-9-356-i2" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">G</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NbXFeaaa@3755@</m:annotation></m:semantics></m:math></inline-formula> of <it>n </it>genotypes, each of length <it>m</it>, the haplotype inference problem is that of finding a set <inline-formula><m:math name="1471-2164-9-356-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> of not necessarily distinct haplotypes. Furthermore, for each genotype <it>g</it><sub><it>i </it></sub>&#8712; <inline-formula><m:math name="1471-2164-9-356-i2" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">G</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NbXFeaaa@3755@</m:annotation></m:semantics></m:math></inline-formula> there is at least one set of <it>p </it>haplotypes {<it>h</it><sup>1</sup>, ..., <it>h</it><sup><it>p</it></sup>} &#8712; <inline-formula><m:math name="1471-2164-9-356-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> such that <it>g</it><sub><it>i </it></sub>is explained by {<it>h</it><sup>1</sup>, ... <it>h</it><sup><it>p</it></sup>}. The values of nucleotides are determined by the number of different alleles at the corresponding SNP site: for a biallelic SNP site the values are {0, 1}, for a triallelic SNP site the values are {0, 1, 2}, while for a tetraallelic SNP site the values are {0, 1, 2, 3}. Thus, a specific haplotype <it>h</it><sub><it>k </it></sub>is a string over the alphabet {0, 1, 2, 3}, with 1 &#8804; <it>k </it>&#8804; |<inline-formula><m:math name="1471-2164-9-356-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula>|.</p>
            <p>Polyploid genotypes are represented by sequences of <it>m </it>vectors, where the vectors encode the SNP sites of the given individual. The vectors are of size <it>p </it>and contain alphabetically sorted elements of the alphabet defined by the corresponding SNP site (SNP site always refers to a whole population). For instance, a tetraallelic SNP site of a tetraploid individual (<it>p </it>= 4) which is homozygous is encoded as a vector (0, 0, 0, 0), (1, 1, 1, 1), (2, 2, 2, 2) or (3, 3, 3, 3) depending on the allele found at the given site of the individual. A tetraallelic SNP site of a tetraploid individual at which two alleles occur twice is encoded as a vector (0, 0, 1, 1), (0, 0, 2, 2), (0, 0, 3, 3), (1, 1, 2, 2), (1, 1, 3, 3) or (2, 2, 3, 3) (in general there are eighteen possible encodings, see Table <tblr tid="T1">1</tblr>).</p>
            <tbl id="T1">
               <title>
                  <p>Table 1</p>
               </title>
               <caption>
                  <p>Possible encodings of SNP sites</p>
               </caption>
               <tblbdy cols="4">
                  <r>
                     <c ca="left">
                        <p>Number of alleles at given site</p>
                     </c>
                     <c cspan="3" ca="center">
                        <p>Possible encodings</p>
                     </c>
                  </r>
                  <r>
                     <c>
                        <p/>
                     </c>
                     <c cspan="3">
                        <hr/>
                     </c>
                  </r>
                  <r>
                     <c>
                        <p/>
                     </c>
                     <c ca="left">
                        <p>Tetraallelic SNP site</p>
                     </c>
                     <c ca="left">
                        <p>Triallelic SNP site</p>
                     </c>
                     <c ca="left">
                        <p>Biallelic SNP site</p>
                     </c>
                  </r>
                  <r>
                     <c cspan="4">
                        <hr/>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>Homozygous individual</p>
                     </c>
                     <c ca="left">
                        <p>(0, 0, 0, 0), (1, 1, 1, 1), (2, 2, 2, 2), (3, 3, 3, 3)</p>
                     </c>
                     <c ca="left">
                        <p>(0, 0, 0, 0), (1, 1, 1, 1), (2, 2, 2, 2)</p>
                     </c>
                     <c ca="left">
                        <p>(0, 0, 0, 0), (1, 1, 1, 1)</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>Biallelic individual</p>
                     </c>
                     <c ca="left">
                        <p>(0, 1, 1, 1), (0, 0, 1, 1), (0, 0, 0, 1), (0, 2, 2, 2), (0, 0, 2, 2), (0, 0, 0, 2), (0, 3, 3, 3), (0, 0, 3, 3), (0, 0, 0, 3), (1, 2, 2, 2), (1, 1, 2, 2), (1, 1, 1, 2), (1, 3, 3, 3), (1, 1, 3, 3), (1, 1, 1, 3), (2, 3, 3, 3), (2, 2, 3, 3), (2, 2, 2, 3)</p>
                     </c>
                     <c ca="left">
                        <p>(0, 1, 1, 1), (0, 0, 1, 1), (0, 0, 0, 1), (0, 2, 2, 2), (0, 0, 2, 2), (0, 0, 0, 2), (1, 2, 2, 2), (1, 1, 2, 2), (1, 1, 1, 2)</p>
                     </c>
                     <c ca="left">
                        <p>(0, 1, 1, 1), (0, 0, 1, 1), (0, 0, 0, 1)</p>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>Triallelic individual</p>
                     </c>
                     <c ca="left">
                        <p>(0, 1, 2, 2), (0, 1, 1, 2), (0, 0, 1, 2), (0, 1, 3, 3), (0, 1, 1, 3), (0, 0, 1, 3), (0, 2, 3, 3), (0, 2, 2, 3), (0, 0, 2, 3), (1, 2, 3, 3), (1, 2, 2, 3), (1, 1, 2, 3)</p>
                     </c>
                     <c ca="left">
                        <p>(0, 1, 2, 2), (0, 1, 1, 2), (0, 0, 1, 2)</p>
                     </c>
                     <c>
                        <p/>
                     </c>
                  </r>
                  <r>
                     <c ca="left">
                        <p>Tetraallelic individual</p>
                     </c>
                     <c ca="left">
                        <p>(0, 1, 2, 3)</p>
                     </c>
                     <c>
                        <p/>
                     </c>
                     <c>
                        <p/>
                     </c>
                  </r>
               </tblbdy>
               <tblfn>
                  <p>In this table all possible allele compositions for SNP sites in a tetraploid species are given. At tetraallelic SNP sites homozygous, biallelic, triallelic and tetraallelic individuals are possible. In contrast, at triallelic SNP sites only homozygous, biallelic and triallelic individuals are possible. Additionally, encodings that contain a fourth allele are not possible anymore. The number of possible allele compositions at biallelic SNP sites decreases analogously.</p>
                  <p>Note that the presented encodings hold only for tetraploid species. In general, the number of possible encodings increases exponentially with increasing ploidy. The increase is driven by all possible partitions of the ploidy using four summands for a tetraallelic individual, three summands for a triallelic individual and two summands for a biallelic individual. For instance, there are 2 different partitions for a biallelic site of a tetraploid individual: 1 + 3 = 4 and 2 + 2 = 4. Then there are 2! = 2 different encodings for the first partition and <inline-formula><m:math name="1471-2164-9-356-i4" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mfrac><m:mrow><m:mn>2</m:mn><m:mo>!</m:mo></m:mrow><m:mrow><m:mn>2</m:mn><m:mo>!</m:mo></m:mrow></m:mfrac></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqcfa4aaSaaaeaacqaIYaGmcqGGHaqiaeaacqaIYaGmcqGGHaqiaaaaaa@2FEB@</m:annotation></m:semantics></m:math></inline-formula> = 1 different encodings for the second partition. This makes 3 different encodings in total if this SNP site is biallelic (second row, third column). If the SNP site is triallelic, the number of encodings is multiplied by the number of two alleles chosen from three possible alleles: 3&#183;<inline-formula><m:math name="1471-2164-9-356-i5" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mrow><m:mo>(</m:mo><m:mrow><m:mtable><m:mtr><m:mtd><m:mn>3</m:mn></m:mtd></m:mtr><m:mtr><m:mtd><m:mn>2</m:mn></m:mtd></m:mtr></m:mtable></m:mrow><m:mo>)</m:mo></m:mrow></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqcfa4aaeWaaeaafaqabeGabaaabaGaeG4mamdabaGaeGOmaidaaaGaayjkaiaawMcaaaaa@2FDF@</m:annotation></m:semantics></m:math></inline-formula> = 9 (second row, second 2 column). If the SNP site is tetraallelic, the number of encodings is multiplied by the number of two alleles chosen from four possible alleles: 3&#183;<inline-formula><m:math name="1471-2164-9-356-i6" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mrow><m:mo>(</m:mo><m:mrow><m:mtable><m:mtr><m:mtd><m:mn>4</m:mn></m:mtd></m:mtr><m:mtr><m:mtd><m:mn>2</m:mn></m:mtd></m:mtr></m:mtable></m:mrow><m:mo>)</m:mo></m:mrow></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqcfa4aaeWaaeaafaqabeGabaaabaGaeGinaqdabaGaeGOmaidaaaGaayjkaiaawMcaaaaa@2FE1@</m:annotation></m:semantics></m:math></inline-formula> = 18 (second row, first column).</p>
               </tblfn>
            </tbl>
            <p>A tetraallelic SNP site of a tetraploid individual at which two alleles occur once and a third occurs twice is encoded as a vector (0, 1, 2, 2), (0, 1, 3, 3), (0, 2, 3, 3) or (1, 2, 3, 3) (in fact there are twelve possible encodings, see Table <tblr tid="T1">1</tblr>). Finally, there is only one possible encoding for a tetraallelic SNP site of a tetraploid individual at which all four alleles occur: (0, 1, 2, 3). Triallelic and biallelic SNP sites are encoded accordingly as presented in Table <tblr tid="T1">1</tblr>. Then, explanation of a genotype is defined as: if <it>p </it>haplotypes explain an unphased genotype <it>g</it><sub><it>i</it></sub>, the <it>p </it>haplotypes and the unphased genotype <it>g</it><sub><it>i </it></sub>show the same allele composition at each SNP site (Figure <figr fid="F2">2</figr>).</p>
            <fig id="F2">
               <title>
                  <p>Figure 2</p>
               </title>
               <caption>
                  <p>Explanation of unphased genotypes</p>
               </caption>
               <text>
                  <p><b>Explanation of unphased genotypes</b>. The example shows an unphased tetraploid genotype at the top, which consists of three different alleles at the first SNP site and two different alleles at the remaining sites. In the second table, the given genotype is given in its vector representation. Different nucleotides at different SNP sites may be encoded by identical numbers, which depends on the allele composition of the SNP sites. There is an exponential number of possible haplotype explanations for one unphased genotype. Below, three of the possible haplotype explanations are shown. The first explanation can be resolved directly from the vector representation of the unphased genotype. The second explanation is resolved by randomly permutating the allele arrangement of the SNP sites. Finally, the third explanation is outstanding since it uses only three different haplotypes. Note that at least the first SNP site of the example will be further encoded as described in "Extension to SAT model for polyallelic polyploids".</p>
               </text>
               <graphic file="1471-2164-9-356-2"/>
            </fig>
            <p>One of the approaches to the haplotype inference problem is called Haplotype Inference by Pure Parsimony <abbrgrp><abbr bid="B5">5</abbr></abbrgrp>. A solution to this problem minimises the total number of distinct haplotypes used. The SAT-based formulation of the HIPP models whether there is a set <inline-formula><m:math name="1471-2164-9-356-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> of <it>r </it>distinct haplotypes, with <it>r </it>= |<inline-formula><m:math name="1471-2164-9-356-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula>| haplotypes, such that each genotype <it>g</it><sub><it>i </it></sub>&#8712; <inline-formula><m:math name="1471-2164-9-356-i2" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">G</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NbXFeaaa@3755@</m:annotation></m:semantics></m:math></inline-formula> is explained by <it>p </it>haplotypes in <inline-formula><m:math name="1471-2164-9-356-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula>. The SAT-based algorithm considers increasing sizes for <inline-formula><m:math name="1471-2164-9-356-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula>, from a lower bound <it>lb </it>to an upper bound <it>ub </it><abbrgrp><abbr bid="B7">7</abbr></abbrgrp>. Trivial lower and upper bounds are, respectively, 1 and <it>pn</it>. The algorithm terminates for a size of <inline-formula><m:math name="1471-2164-9-356-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> for which there are <it>r </it>= |<inline-formula><m:math name="1471-2164-9-356-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula>| haplotypes such that every genotype in <inline-formula><m:math name="1471-2164-9-356-i2" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">G</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NbXFeaaa@3755@</m:annotation></m:semantics></m:math></inline-formula> is explained by <it>p </it>haplotypes in <inline-formula><m:math name="1471-2164-9-356-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula>. The smallest <it>r </it>for which such a set <inline-formula><m:math name="1471-2164-9-356-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">H</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae83cHGeaaa@368B@</m:annotation></m:semantics></m:math></inline-formula> exists is a most parsimonious set of explaining haplotypes.</p>
            <p>All variables of the Boolean satisfiability problem are two-valued. Depending on the truth assignment, a Boolean formula is either <it>true </it>or <it>false</it>. Then, SAT consists of the determination if an assignment to a given Boolean formula in conjunctive normal form (CNF) exists such that the formula evaluates to <it>true</it>, or the proof that such an assignment does not exist. Solving SAT is NP-complete <abbrgrp><abbr bid="B6">6</abbr></abbrgrp>. The Boolean satisfiability problem for HIPP, however, can efficiently be solved <abbrgrp><abbr bid="B7">7</abbr></abbrgrp> by SAT solvers such as MiniSat <abbrgrp><abbr bid="B11">11</abbr><abbr bid="B12">12</abbr></abbrgrp>, MiraXT <abbrgrp><abbr bid="B13">13</abbr></abbrgrp> or Sat4J <abbrgrp><abbr bid="B14">14</abbr></abbrgrp>. This may be explained by a unknown hidden structure in the genotype data, which makes the problem easier to solve.</p>
         </sec>
         <sec>
            <st>
               <p>SAT model for biallelic polyploids</p>
            </st>
            <p>The first SAT formulation for HIPP was introduced in <abbrgrp><abbr bid="B7">7</abbr></abbrgrp> and the presented constraints were implemented in the software SHIPs <abbrgrp><abbr bid="B15">15</abbr></abbrgrp>. Unfortunately, this approach is restricted to diploid and biallelic species. Here, we extend the formulation of constraints from <abbrgrp><abbr bid="B7">7</abbr></abbrgrp> to polyploid biallelic populations of genotypes. In a tetraploid, biallelic population of genotypes, the possible alleles are modeled by 0 or 1 respectively (e.g. SNP site <it>j </it>of individual <it>i </it>with <it>g</it><sub><it>i</it>, <it>j </it></sub>= (0, 1, 1, 1), <inline-formula><m:math name="1471-2164-9-356-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mn>1</m:mn></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabigdaXaaaaaa@31E1@</m:annotation></m:semantics></m:math></inline-formula> = 0, <inline-formula><m:math name="1471-2164-9-356-i8" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mn>2</m:mn></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabikdaYaaaaaa@31E3@</m:annotation></m:semantics></m:math></inline-formula> = 1, <inline-formula><m:math name="1471-2164-9-356-i9" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mn>3</m:mn></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabiodaZaaaaaa@31E5@</m:annotation></m:semantics></m:math></inline-formula> = 1 and <inline-formula><m:math name="1471-2164-9-356-i10" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mn>4</m:mn></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabisda0aaaaaa@31E7@</m:annotation></m:semantics></m:math></inline-formula> = 1). Furthermore, the haplotypes can be modeled such that <it>h</it><sub><it>k</it>, <it>j </it></sub>&#8712; {0, 1}, where <it>h</it><sub><it>k</it>, <it>j </it></sub>denotes the <it>j</it><sup><it>th </it></sup>site of haplotype <it>k</it>. A haplotype <it>h</it><sub><it>k </it></sub>can then be viewed as a binary word <it>h</it><sub><it>k</it>,1 </sub>... <it>h</it><sub><it>k</it>, <it>m </it></sub>of length <it>m </it>over the alphabet {0, 1}.</p>
            <p>For a given value of <it>r</it>, the model considers <it>r </it>haplotypes and aims at finding <it>p </it>haplotypes (which can possibly represent the same haplotype) with each genotype <it>g</it><sub><it>i</it></sub>. As a result, for each genotype <it>g</it><sub><it>i</it></sub>, the model uses selector variables for selecting which haplotypes are used for explaining <it>g</it><sub><it>i</it></sub>. Since the genotype is to be explained by <it>p </it>haplotypes, the model uses <it>p </it>sets of <it>r </it>selector variables, <inline-formula><m:math name="1471-2164-9-356-i11" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaaaaa@326C@</m:annotation></m:semantics></m:math></inline-formula>. Hence, genotype <it>g</it><sub><it>i </it></sub>is explained by haplotypes <inline-formula><m:math name="1471-2164-9-356-i12" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi>h</m:mi><m:mrow><m:msub><m:mi>k</m:mi><m:mn>1</m:mn></m:msub></m:mrow></m:msub><m:mo>,</m:mo><m:mn>...</m:mn><m:mo>,</m:mo><m:msub><m:mi>h</m:mi><m:mrow><m:msub><m:mi>k</m:mi><m:mi>p</m:mi></m:msub></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemiAaG2aaSbaaSqaaiabdUgaRnaaBaaameaacqaIXaqmaeqaaaWcbeaakiabcYcaSiabc6caUiabc6caUiabc6caUiabcYcaSiabdIgaOnaaBaaaleaacqWGRbWAdaWgaaadbaGaemiCaahabeaaaSqabaaaaa@38DC@</m:annotation></m:semantics></m:math></inline-formula>,if <inline-formula><m:math name="1471-2164-9-356-i13" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mrow><m:msub><m:mi>k</m:mi><m:mn>1</m:mn></m:msub><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mn>1</m:mn></m:msubsup><m:mo>=</m:mo><m:mn>1</m:mn><m:mo>,</m:mo><m:mn>...</m:mn><m:mo>,</m:mo><m:msubsup><m:mi>s</m:mi><m:mrow><m:msub><m:mi>k</m:mi><m:mi>p</m:mi></m:msub><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>p</m:mi></m:msubsup><m:mo>=</m:mo><m:mn>1</m:mn></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiabdUgaRnaaBaaameaacqaIXaqmaeqaaSGaeiilaWIaemyAaKgabaGaeGymaedaaOGaeyypa0JaeGymaeJaeiilaWIaeiOla4IaeiOla4IaeiOla4IaeiilaWIaem4Cam3aa0baaSqaaiabdUgaRnaaBaaameaacqWGWbaCaeqaaSGaeiilaWIaemyAaKgabaGaemiCaahaaOGaeyypa0JaeGymaedaaa@43CF@</m:annotation></m:semantics></m:math></inline-formula>.</p>
            <p>If the sum of the elements of binary vector <it>g</it><sub><it>i</it>, <it>j </it></sub>equals 0, then <inline-formula><m:math name="1471-2164-9-356-i1" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSbaaaaa@3252@</m:annotation></m:semantics></m:math></inline-formula> = 0, with 1 &#8804; <it>l </it>&#8804; <it>p</it>. Then the model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M1">
                  <m:math name="1471-2164-9-356-i14" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mo stretchy="false">(</m:mo>
                           <m:mo>&#172;</m:mo>
                           <m:msub>
                              <m:mi>h</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                           </m:msub>
                           <m:mo>&#8744;</m:mo>
                           <m:mo>&#172;</m:mo>
                           <m:msubsup>
                              <m:mi>s</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>i</m:mi>
                              </m:mrow>
                              <m:mi>l</m:mi>
                           </m:msubsup>
                           <m:mo stretchy="false">)</m:mo>
                           <m:mo>,</m:mo>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeiikaGIaeyiRaGTaemiAaG2aaSbaaSqaaiabdUgaRjabcYcaSiabdQgaQbqabaGccqGHOiI2cqGHSca2cqWGZbWCdaqhaaWcbaGaem4AaSMaeiilaWIaemyAaKgabaGaemiBaWgaaOGaeiykaKIaeiilaWcaaa@4051@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where 1 &#8804; <it>k </it>&#8804; <it>r </it>and 1 &#8804; <it>l </it>&#8804; <it>p</it>. Hence, if haplotype <it>k </it>is selected for explaining genotype <it>i</it>, by at least one of the <it>p </it>representatives, then the value of haplotype <it>k </it>at site <it>j must </it>be 0. If the sum of the elements of binary vector <it>g</it><sub><it>i</it>, <it>j </it></sub>equals <it>p</it>, then <inline-formula><m:math name="1471-2164-9-356-i1" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSbaaaaa@3252@</m:annotation></m:semantics></m:math></inline-formula> = 1, with 1 &#8804; <it>l </it>&#8804; <it>p</it>. Then the model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M2">
                  <m:math name="1471-2164-9-356-i15" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mo stretchy="false">(</m:mo>
                           <m:msub>
                              <m:mi>h</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                           </m:msub>
                           <m:mo>&#8744;</m:mo>
                           <m:mo>&#172;</m:mo>
                           <m:msubsup>
                              <m:mi>s</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>i</m:mi>
                              </m:mrow>
                              <m:mi>l</m:mi>
                           </m:msubsup>
                           <m:mo stretchy="false">)</m:mo>
                           <m:mo>,</m:mo>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeiikaGIaemiAaG2aaSbaaSqaaiabdUgaRjabcYcaSiabdQgaQbqabaGccqGHOiI2cqGHSca2cqWGZbWCdaqhaaWcbaGaem4AaSMaeiilaWIaemyAaKgabaGaemiBaWgaaOGaeiykaKIaeiilaWcaaa@3E41@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where 1 &#8804; <it>k </it>&#8804; <it>r </it>and 1 &#8804; <it>l </it>&#8804; <it>p</it>. Hence, if haplotype <it>k </it>is selected for explaining genotype <it>i</it>, by at least one of the <it>p </it>representatives, then the value of haplotype <it>k </it>at site <it>j must </it>be 1.</p>
            <p>Otherwise, if the sum of the elements of binary vector <it>g</it><sub><it>i</it>, <it>j </it></sub>does not equal 0 nor <it>p</it>, one requires that the haplotypes explaining genotype <it>g</it><sub><it>i </it></sub>show the corresponding number of 1s and 0s at site <it>j</it>. This is achieved by creating <it>p </it>variables <inline-formula><m:math name="1471-2164-9-356-i16" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mn>1</m:mn></m:msubsup><m:mo>,</m:mo><m:mn>...</m:mn><m:mo>,</m:mo><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mi>p</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabigdaXaaakiabcYcaSiabc6caUiabc6caUiabc6caUiabcYcaSiabdEgaNnaaDaaaleaacqWGPbqAcqGGSaalcqWGQbGAaeaacqWGWbaCaaaaaa@3CDC@</m:annotation></m:semantics></m:math></inline-formula> where <inline-formula><m:math name="1471-2164-9-356-i1" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSbaaaaa@3252@</m:annotation></m:semantics></m:math></inline-formula> &#8712; {0, 1}, which represent the possible arrangements of 1s and 0s at site <it>j</it>. In the diploid situation, the model requires two clauses in CNF:</p>
            <p>
               <display-formula id="M3">
                  <m:math name="1471-2164-9-356-i17" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mo stretchy="false">(</m:mo>
                           <m:msubsup>
                              <m:mi>g</m:mi>
                              <m:mrow>
                                 <m:mi>i</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                              <m:mn>1</m:mn>
                           </m:msubsup>
                           <m:mo>&#8744;</m:mo>
                           <m:msubsup>
                              <m:mi>g</m:mi>
                              <m:mrow>
                                 <m:mi>i</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                              <m:mn>2</m:mn>
                           </m:msubsup>
                           <m:mo stretchy="false">)</m:mo>
                           <m:mo>&#8743;</m:mo>
                           <m:mo stretchy="false">(</m:mo>
                           <m:mo>&#172;</m:mo>
                           <m:msubsup>
                              <m:mi>g</m:mi>
                              <m:mrow>
                                 <m:mi>i</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                              <m:mn>1</m:mn>
                           </m:msubsup>
                           <m:mo>&#8744;</m:mo>
                           <m:mo>&#172;</m:mo>
                           <m:msubsup>
                              <m:mi>g</m:mi>
                              <m:mrow>
                                 <m:mi>i</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                              <m:mn>2</m:mn>
                           </m:msubsup>
                           <m:mo stretchy="false">)</m:mo>
                           <m:mo>.</m:mo>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeiikaGIaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabigdaXaaakiabgIIiAlabdEgaNnaaDaaaleaacqWGPbqAcqGGSaalcqWGQbGAaeaacqaIYaGmaaGccqGGPaqkcqGHNis2cqGGOaakcqGHSca2cqWGNbWzdaqhaaWcbaGaemyAaKMaeiilaWIaemOAaOgabaGaeGymaedaaOGaeyikIOTaeyiRaGTaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabikdaYaaakiabcMcaPiabc6caUaaa@51F5@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>Formula 3 evaluates to <it>true </it>iff one of the possible allele arrangements of a heterozygous and diploid SNP site is assigned to the Boolean variables. Thus, the formula is equivalent to the enumeration of all possible allele arrangements at the given SNP site, where an arrangement is given as conjunction of literals and all arrangements are connected by disjunctions (disjunctive normal form):</p>
            <p>
               <display-formula id="M4">
                  <m:math name="1471-2164-9-356-i18" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mo stretchy="false">(</m:mo>
                           <m:mo>&#172;</m:mo>
                           <m:msubsup>
                              <m:mi>g</m:mi>
                              <m:mrow>
                                 <m:mi>i</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                              <m:mn>1</m:mn>
                           </m:msubsup>
                           <m:mo>&#8743;</m:mo>
                           <m:msubsup>
                              <m:mi>g</m:mi>
                              <m:mrow>
                                 <m:mi>i</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                              <m:mn>2</m:mn>
                           </m:msubsup>
                           <m:mo stretchy="false">)</m:mo>
                           <m:mo>&#8744;</m:mo>
                           <m:mo stretchy="false">(</m:mo>
                           <m:msubsup>
                              <m:mi>g</m:mi>
                              <m:mrow>
                                 <m:mi>i</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                              <m:mn>1</m:mn>
                           </m:msubsup>
                           <m:mo>&#8743;</m:mo>
                           <m:mo>&#172;</m:mo>
                           <m:msubsup>
                              <m:mi>g</m:mi>
                              <m:mrow>
                                 <m:mi>i</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                              <m:mn>2</m:mn>
                           </m:msubsup>
                           <m:mo stretchy="false">)</m:mo>
                           <m:mo>.</m:mo>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeiikaGIaeyiRaGTaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabigdaXaaakiabgEIizlabdEgaNnaaDaaaleaacqWGPbqAcqGGSaalcqWGQbGAaeaacqaIYaGmaaGccqGGPaqkcqGHOiI2cqGGOaakcqWGNbWzdaqhaaWcbaGaemyAaKMaeiilaWIaemOAaOgabaGaeGymaedaaOGaey4jIKTaeyiRaGTaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabikdaYaaakiabcMcaPiabc6caUaaa@51F3@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>For <it>p </it>> 2 it is also straightforward to formulate the corresponding constraints in a disjunctive normal form (DNF) by enumerating all allele arrangements analogously to Formula 4. Each formula in DNF can be transformed into an equivalent formula in CNF <abbrgrp><abbr bid="B16">16</abbr></abbrgrp>. As a result, for the case where <it>g</it><sub><it>i</it>, <it>j </it></sub>is a heterozygous SNP site, then the model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M5">
                  <m:math name="1471-2164-9-356-i19" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mo stretchy="false">(</m:mo>
                           <m:msub>
                              <m:mi>h</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                           </m:msub>
                           <m:mo>&#8744;</m:mo>
                           <m:mo>&#172;</m:mo>
                           <m:msubsup>
                              <m:mi>g</m:mi>
                              <m:mrow>
                                 <m:mi>i</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                              <m:mi>l</m:mi>
                           </m:msubsup>
                           <m:mo>&#8744;</m:mo>
                           <m:mo>&#172;</m:mo>
                           <m:msubsup>
                              <m:mi>s</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>i</m:mi>
                              </m:mrow>
                              <m:mi>l</m:mi>
                           </m:msubsup>
                           <m:mo stretchy="false">)</m:mo>
                           <m:mo>&#8743;</m:mo>
                           <m:mo stretchy="false">(</m:mo>
                           <m:mo>&#172;</m:mo>
                           <m:msub>
                              <m:mi>h</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                           </m:msub>
                           <m:mo>&#8744;</m:mo>
                           <m:msubsup>
                              <m:mi>g</m:mi>
                              <m:mrow>
                                 <m:mi>i</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>j</m:mi>
                              </m:mrow>
                              <m:mi>l</m:mi>
                           </m:msubsup>
                           <m:mo>&#8744;</m:mo>
                           <m:mo>&#172;</m:mo>
                           <m:msubsup>
                              <m:mi>s</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>i</m:mi>
                              </m:mrow>
                              <m:mi>l</m:mi>
                           </m:msubsup>
                           <m:mo stretchy="false">)</m:mo>
                           <m:mo>,</m:mo>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeiikaGIaemiAaG2aaSbaaSqaaiabdUgaRjabcYcaSiabdQgaQbqabaGccqGHOiI2cqGHSca2cqWGNbWzdaqhaaWcbaGaemyAaKMaeiilaWIaemOAaOgabaGaemiBaWgaaOGaeyikIOTaeyiRaGTaem4Cam3aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaakiabcMcaPiabgEIizlabcIcaOiabgYkaylabdIgaOnaaBaaaleaacqWGRbWAcqGGSaalcqWGQbGAaeqaaOGaeyikIOTaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSbaakiabgIIiAlabgYkaylabdohaZnaaDaaaleaacqWGRbWAcqGGSaalcqWGPbqAaeaacqWGSbaBaaGccqGGPaqkcqGGSaalaaa@65BB@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where 1 &#8804; <it>k </it>&#8804; <it>r </it>and 1 &#8804; <it>l </it>&#8804; <it>p</it>. For each <it>i </it>and <it>l</it>, it is necessary that exactly one haplotype is used, and so exactly one selector variable be assigned value 1. For 1 &#8804; <it>l </it>&#8804; <it>p</it>, this can be captured with cardinality constraints:</p>
            <p>
               <display-formula id="M6">
                  <m:math name="1471-2164-9-356-i20" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mrow>
                              <m:mo>(</m:mo>
                              <m:mrow>
                                 <m:mstyle displaystyle="true">
                                    <m:munderover>
                                       <m:mo>&#8721;</m:mo>
                                       <m:mrow>
                                          <m:mi>k</m:mi>
                                          <m:mo>=</m:mo>
                                          <m:mn>1</m:mn>
                                       </m:mrow>
                                       <m:mi>r</m:mi>
                                    </m:munderover>
                                    <m:mrow>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                       <m:mo>=</m:mo>
                                       <m:mn>1</m:mn>
                                    </m:mrow>
                                 </m:mstyle>
                              </m:mrow>
                              <m:mo>)</m:mo>
                           </m:mrow>
                           <m:mo>.</m:mo>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWaaeWaaeaadaaeWbqaaiabdohaZnaaDaaaleaacqWGRbWAcqGGSaalcqWGPbqAaeaacqWGSbaBaaGccqGH9aqpcqaIXaqmaSqaaiabdUgaRjabg2da9iabigdaXaqaaiabdkhaYbqdcqGHris5aaGccaGLOaGaayzkaaGaeiOla4caaa@3E35@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>These sums can be formulated in CNF by the utilization of an additional variables <inline-formula><m:math name="1471-2164-9-356-i21" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>d</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemizaq2aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaaaaa@324E@</m:annotation></m:semantics></m:math></inline-formula> which corresponds to the Boolean state if a haplotype was already selected. The model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M7">
                  <m:math name="1471-2164-9-356-i22" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable columnalign="left">
                              <m:mtr columnalign="left">
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:msubsup>
                                          <m:mi>d</m:mi>
                                          <m:mrow>
                                             <m:mn>1</m:mn>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                       <m:mo>&#8660;</m:mo>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:mn>1</m:mn>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mrow/>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr columnalign="left">
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:msubsup>
                                          <m:mi>d</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                       <m:mo>&#8744;</m:mo>
                                       <m:mo>&#172;</m:mo>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>+</m:mo>
                                             <m:mn>1</m:mn>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:mn>2</m:mn>
                                       <m:mo>&#8804;</m:mo>
                                       <m:mi>k</m:mi>
                                       <m:mo>&#8804;</m:mo>
                                       <m:mi>r</m:mi>
                                       <m:mo>&#8722;</m:mo>
                                       <m:mn>1</m:mn>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr columnalign="left">
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:msubsup>
                                          <m:mi>d</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>+</m:mo>
                                             <m:mn>1</m:mn>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                       <m:mo>&#8660;</m:mo>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:msubsup>
                                          <m:mi>d</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                       <m:mo>&#8744;</m:mo>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>+</m:mo>
                                             <m:mn>1</m:mn>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                       <m:mo stretchy="false">)</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:mn>1</m:mn>
                                       <m:mo>&#8804;</m:mo>
                                       <m:mi>k</m:mi>
                                       <m:mo>&#8804;</m:mo>
                                       <m:mi>r</m:mi>
                                       <m:mo>&#8722;</m:mo>
                                       <m:mn>1</m:mn>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr columnalign="left">
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:msubsup>
                                          <m:mi>d</m:mi>
                                          <m:mrow>
                                             <m:mi>r</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                       <m:mo>=</m:mo>
                                       <m:mn>1</m:mn>
                                       <m:mo>,</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mrow/>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeaabqGaaaaabaGaemizaq2aa0baaSqaaiabigdaXiabcYcaSiabdMgaPbqaaiabdYgaSbaakiabgsDiBlabdohaZnaaDaaaleaacqaIXaqmcqGGSaalcqWGPbqAaeaacqWGSbaBaaaakeaaaeaacqGHSca2cqWGKbazdaqhaaWcbaGaem4AaSMaeiilaWIaemyAaKgabaGaemiBaWgaaOGaeyikIOTaeyiRaGTaem4Cam3aa0baaSqaaiabdUgaRjabgUcaRiabigdaXiabcYcaSiabdMgaPbqaaiabdYgaSbaaaOqaaiabikdaYiabgsMiJkabdUgaRjabgsMiJkabdkhaYjabgkHiTiabigdaXaqaaiabdsgaKnaaDaaaleaacqWGRbWAcqGHRaWkcqaIXaqmcqGGSaalcqWGPbqAaeaacqWGSbaBaaGccqGHuhY2cqGGOaakcqWGKbazdaqhaaWcbaGaem4AaSMaeiilaWIaemyAaKgabaGaemiBaWgaaOGaeyikIOTaem4Cam3aa0baaSqaaiabdUgaRjabgUcaRiabigdaXiabcYcaSiabdMgaPbqaaiabdYgaSbaakiabcMcaPaqaaiabigdaXiabgsMiJkabdUgaRjabgsMiJkabdkhaYjabgkHiTiabigdaXaqaaiabdsgaKnaaDaaaleaacqWGYbGCcqGGSaalcqWGPbqAaeaacqWGSbaBaaGccqGH9aqpcqaIXaqmcqGGSaalaeaaaaaaaa@8818@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where 1 &#8804; <it>l </it>&#8804; <it>p</it>. Figure <figr fid="F3">3</figr> illustrates how the variables are used for explaining unphased genotypes.</p>
            <fig id="F3">
               <title>
                  <p>Figure 3</p>
               </title>
               <caption>
                  <p>Usage of Boolean variables</p>
               </caption>
               <text>
                  <p><b>Usage of Boolean variables</b>. Panel A shows a population of three unphased genotypes. Each of the tetraploid biallelic genotypes consists of two SNP sites. Variable names and usage of indices are given. Colour of genotype represents the coloured mixture of the explaining haplotypes. Yellow variables represent selection variables. In the model, phased genotypes are represented by selection variables. However, the possible phase of genotypes (explanation by haplotypes) is also shown. Panel B to G are read from left to right and top to bottom. If a genotype can be explained by four haplotypes from a given a set of haplotypes, it is tried to explain the next genotype in the population. Panel B and C: one haplotype is assumed as most parsimonious set and it is tried to explain genotype <it>g</it><sub>1</sub>. Above the dashed line, the assumed <it>r </it>haplotypes and all four possible most parsimonious sets are shown. Below the dashed line, unphased genotype <it>g</it><sub>1 </sub>and each try to explain genotype <it>g</it><sub>1 </sub>by the assumed set of haplotypes is given. If no satisfying assignment can be found, corresponding cells are not filled with Boolean values. Relationships between explaining haplotypes and the corresponding column of selection variables is symbolised by diagonal lines. Rows of selection variables are constrained to sum up to 1 since exactly one haplotype is to be selected for representing a chromosome. Panel D and E: two haplotypes are assumed as most parsimonious set. All possible sets of haplotypes are shown. Strict lexicographic order breaks symmetries in sets of explaining haplotypes. The third and fourth set of explaining haplotypes can explain genotype <it>g</it><sub>1 </sub>but fail to explain genotype <it>g</it><sub>2</sub>. Panel F and G: three haplotypes are assumed as most parsimonious set. The first set is not able to explain the whole population. In contrast, the second set is able to explain all three genotypes. Thus, this set solves the HIPP for the given population.</p>
               </text>
               <graphic file="1471-2164-9-356-3"/>
            </fig>
         </sec>
         <sec>
            <st>
               <p>Efficient method for obtaining the model for biallelic polyploids</p>
            </st>
            <p>For the case <it>p </it>> 2, it is straightforward to formulate the constraints for the <inline-formula><m:math name="1471-2164-9-356-i1" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSbaaaaa@3252@</m:annotation></m:semantics></m:math></inline-formula> variables from heterozygous SNP sites in DNF by enumerating all allele arrangements. Each formula in DNF can be transformed into an equivalent formula in CNF using Tseitin's transformation <abbrgrp><abbr bid="B16">16</abbr></abbrgrp>. However, the enumeration of all arrangements is of exponential complexity. Our objective here is to find an equivalent representation of enumeration of arrangements. This representation is to be in CNF and to allow formulation in polynomial time. Combinatorial problems as described above can also be represented by sums. For instance, for an individual from a tetraploid species with two 0 and two 1 alleles at a biallelic SNP site, all six allele arrangements are determined if the sum of the elements of a binary vector that represents the allele composition is constrained to 2: (0, 0, 1, 1), (0, 1, 0, 1), (1, 0, 0, 1), (1, 0, 1, 0), (1, 1, 0, 0) and (0, 1, 1, 0).</p>
            <p>In the following, we combine simple logical circuits, such as <it>half adders </it>and <it>full adders </it>to derive general summation constraints which can be formulated in polynomial time. The usage of one full adder allows the summation of two bits where a full adder consists of two half adders. Formula 8 gives constraints for a half adder, where <it>A </it>and <it>B </it>are two bits which have to be summed, <it>C </it>is the resulting carry over and <it>S</it><sub><it>half </it></sub>the resulting sum. Based on a half adder the constraints for a full adder can be derived as given in Formula 9. Variable <it>S</it><sub><it>full </it></sub>is the complete sum of the two bits <it>A </it>and <it>B</it>, where the variable <it>C</it><sup>2 </sup>is the resulting carry over. Variable <it>C</it><sup>1 </sup>represents an additional bit that is added to the sum of <it>A </it>and <it>B</it>. Thus, the total sum of <it>A</it>, <it>B </it>and <it>C</it><sup>1 </sup>is at least 0 and at most 3. The first bit of the result is stored in <it>S</it><sub><it>full </it></sub>and the second bit in <it>C</it><sup>2</sup>.</p>
            <p>
               <display-formula id="M8">
                  <m:math name="1471-2164-9-356-i23" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:mi>A</m:mi>
                                       <m:mo>&#8743;</m:mo>
                                       <m:mi>B</m:mi>
                                       <m:mo stretchy="false">)</m:mo>
                                       <m:mo>&#8660;</m:mo>
                                       <m:mi>C</m:mi>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:mrow>
                                          <m:mo>(</m:mo>
                                          <m:mrow>
                                             <m:mo stretchy="false">(</m:mo>
                                             <m:mi>A</m:mi>
                                             <m:mo>&#8743;</m:mo>
                                             <m:mi>B</m:mi>
                                             <m:mo stretchy="false">)</m:mo>
                                             <m:mo>&#8744;</m:mo>
                                             <m:mo>&#172;</m:mo>
                                             <m:mo stretchy="false">(</m:mo>
                                             <m:mi>A</m:mi>
                                             <m:mo>&#8744;</m:mo>
                                             <m:mi>B</m:mi>
                                             <m:mo stretchy="false">)</m:mo>
                                          </m:mrow>
                                          <m:mo>)</m:mo>
                                       </m:mrow>
                                       <m:mo>&#8660;</m:mo>
                                       <m:msub>
                                          <m:mi>S</m:mi>
                                          <m:mrow>
                                             <m:mi>h</m:mi>
                                             <m:mi>a</m:mi>
                                             <m:mi>l</m:mi>
                                             <m:mi>f</m:mi>
                                          </m:mrow>
                                       </m:msub>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeWabiqaaaqaaiabcIcaOiabdgeabjabgEIizlabdkeacjabcMcaPiabgsDiBlabdoeadbqaaiabgYkaypaabmaabaGaeiikaGIaemyqaeKaey4jIKTaemOqaiKaeiykaKIaeyikIOTaeyiRaGTaeiikaGIaemyqaeKaeyikIOTaemOqaiKaeiykaKcacaGLOaGaayzkaaGaeyi1HSTaem4uam1aaSbaaSqaaiabdIgaOjabdggaHjabdYgaSjabdAgaMbqabaaaaaaa@5071@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>
               <display-formula id="M9">
                  <m:math name="1471-2164-9-356-i24" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mrow>
                                          <m:mo>(</m:mo>
                                          <m:mrow>
                                             <m:mo stretchy="false">(</m:mo>
                                             <m:mi>A</m:mi>
                                             <m:mo>&#8743;</m:mo>
                                             <m:mi>B</m:mi>
                                             <m:mo stretchy="false">)</m:mo>
                                             <m:mo>&#8744;</m:mo>
                                             <m:mo stretchy="false">(</m:mo>
                                             <m:msub>
                                                <m:mi>S</m:mi>
                                                <m:mrow>
                                                   <m:mi>h</m:mi>
                                                   <m:mi>a</m:mi>
                                                   <m:mi>l</m:mi>
                                                   <m:mi>f</m:mi>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>&#8743;</m:mo>
                                             <m:msup>
                                                <m:mi>C</m:mi>
                                                <m:mn>1</m:mn>
                                             </m:msup>
                                             <m:mo stretchy="false">)</m:mo>
                                          </m:mrow>
                                          <m:mo>)</m:mo>
                                       </m:mrow>
                                       <m:mo>&#8660;</m:mo>
                                       <m:msup>
                                          <m:mi>C</m:mi>
                                          <m:mn>2</m:mn>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mrow>
                                          <m:mo>(</m:mo>
                                          <m:mrow>
                                             <m:mo stretchy="false">(</m:mo>
                                             <m:mo>&#172;</m:mo>
                                             <m:msub>
                                                <m:mi>S</m:mi>
                                                <m:mrow>
                                                   <m:mi>h</m:mi>
                                                   <m:mi>a</m:mi>
                                                   <m:mi>l</m:mi>
                                                   <m:mi>f</m:mi>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>&#8744;</m:mo>
                                             <m:mo>&#172;</m:mo>
                                             <m:msup>
                                                <m:mi>C</m:mi>
                                                <m:mn>1</m:mn>
                                             </m:msup>
                                             <m:mo stretchy="false">)</m:mo>
                                             <m:mo>&#8743;</m:mo>
                                             <m:mo stretchy="false">(</m:mo>
                                             <m:msub>
                                                <m:mi>S</m:mi>
                                                <m:mrow>
                                                   <m:mi>h</m:mi>
                                                   <m:mi>a</m:mi>
                                                   <m:mi>l</m:mi>
                                                   <m:mi>f</m:mi>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>&#8744;</m:mo>
                                             <m:msup>
                                                <m:mi>C</m:mi>
                                                <m:mn>1</m:mn>
                                             </m:msup>
                                             <m:mo stretchy="false">)</m:mo>
                                          </m:mrow>
                                          <m:mo>)</m:mo>
                                       </m:mrow>
                                       <m:mo>&#8660;</m:mo>
                                       <m:msub>
                                          <m:mi>S</m:mi>
                                          <m:mrow>
                                             <m:mi>f</m:mi>
                                             <m:mi>u</m:mi>
                                             <m:mi>l</m:mi>
                                             <m:mi>l</m:mi>
                                          </m:mrow>
                                       </m:msub>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeWabiqaaaqaamaabmaabaGaeiikaGIaemyqaeKaey4jIKTaemOqaiKaeiykaKIaeyikIOTaeiikaGIaem4uam1aaSbaaSqaaiabdIgaOjabdggaHjabdYgaSjabdAgaMbqabaGccqGHNis2cqWGdbWqdaahaaWcbeqaaiabigdaXaaakiabcMcaPaGaayjkaiaawMcaaiabgsDiBlabdoeadnaaCaaaleqabaGaeGOmaidaaaGcbaWaaeWaaeaacqGGOaakcqGHSca2cqWGtbWudaWgaaWcbaGaemiAaGMaemyyaeMaemiBaWMaemOzaygabeaakiabgIIiAlabgYkaylabdoeadnaaCaaaleqabaGaeGymaedaaOGaeiykaKIaey4jIKTaeiikaGIaem4uam1aaSbaaSqaaiabdIgaOjabdggaHjabdYgaSjabdAgaMbqabaGccqGHOiI2cqWGdbWqdaahaaWcbeqaaiabigdaXaaakiabcMcaPaGaayjkaiaawMcaaiabgsDiBlabdofatnaaBaaaleaacqWGMbGzcqWG1bqDcqWGSbaBcqWGSbaBaeqaaaaaaaa@6F12@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>The <it>C</it><sup>2 </sup>carry over of a first full adder may be connected with the <it>C</it><sup>1 </sup>carry over of a second full adder. Analogously, the <it>C</it><sup>2 </sup>carry over of the second full adder may be connected with a third full adder and so on. If <it>w </it>full adders are connected in this way, the result represents a <it>ripple carry adder </it>that is able to sum up two <it>w </it>bit words. To describe the necessary <it>w </it>carry overs, the model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M10">
                  <m:math name="1471-2164-9-356-i25" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mrow>
                              <m:mo>(</m:mo>
                              <m:mrow>
                                 <m:mo stretchy="false">(</m:mo>
                                 <m:msup>
                                    <m:mi>A</m:mi>
                                    <m:mi>t</m:mi>
                                 </m:msup>
                                 <m:mo>&#8743;</m:mo>
                                 <m:msup>
                                    <m:mi>B</m:mi>
                                    <m:mi>t</m:mi>
                                 </m:msup>
                                 <m:mo stretchy="false">)</m:mo>
                                 <m:mo>&#8744;</m:mo>
                                 <m:mo stretchy="false">(</m:mo>
                                 <m:msubsup>
                                    <m:mi>S</m:mi>
                                    <m:mrow>
                                       <m:mi>h</m:mi>
                                       <m:mi>a</m:mi>
                                       <m:mi>l</m:mi>
                                       <m:mi>f</m:mi>
                                    </m:mrow>
                                    <m:mi>t</m:mi>
                                 </m:msubsup>
                                 <m:mo>&#8743;</m:mo>
                                 <m:msup>
                                    <m:mi>C</m:mi>
                                    <m:mi>t</m:mi>
                                 </m:msup>
                                 <m:mo stretchy="false">)</m:mo>
                              </m:mrow>
                              <m:mo>)</m:mo>
                           </m:mrow>
                           <m:mo>&#8660;</m:mo>
                           <m:msup>
                              <m:mi>C</m:mi>
                              <m:mrow>
                                 <m:mi>t</m:mi>
                                 <m:mo>+</m:mo>
                                 <m:mn>1</m:mn>
                              </m:mrow>
                           </m:msup>
                           <m:mo>,</m:mo>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWaaeWaaeaacqGGOaakcqWGbbqqdaahaaWcbeqaaiabdsha0baakiabgEIizlabdkeacnaaCaaaleqabaGaemiDaqhaaOGaeiykaKIaeyikIOTaeiikaGIaem4uam1aa0baaSqaaiabdIgaOjabdggaHjabdYgaSjabdAgaMbqaaiabdsha0baakiabgEIizlabdoeadnaaCaaaleqabaGaemiDaqhaaOGaeiykaKcacaGLOaGaayzkaaGaeyi1HSTaem4qam0aaWbaaSqabeaacqWG0baDcqGHRaWkcqaIXaqmaaGccqGGSaalaaa@4E31@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where <it>t </it>= 1, ..., <it>w </it>- 1. Analogously, to describe the necessary <it>w </it>full adders, the model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M11">
                  <m:math name="1471-2164-9-356-i26" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mrow>
                              <m:mo>(</m:mo>
                              <m:mrow>
                                 <m:mo stretchy="false">(</m:mo>
                                 <m:mo>&#172;</m:mo>
                                 <m:msubsup>
                                    <m:mi>S</m:mi>
                                    <m:mrow>
                                       <m:mi>h</m:mi>
                                       <m:mi>a</m:mi>
                                       <m:mi>l</m:mi>
                                       <m:mi>f</m:mi>
                                    </m:mrow>
                                    <m:mi>t</m:mi>
                                 </m:msubsup>
                                 <m:mo>&#8744;</m:mo>
                                 <m:mo>&#172;</m:mo>
                                 <m:msup>
                                    <m:mi>C</m:mi>
                                    <m:mi>t</m:mi>
                                 </m:msup>
                                 <m:mo stretchy="false">)</m:mo>
                                 <m:mo>&#8743;</m:mo>
                                 <m:mo stretchy="false">(</m:mo>
                                 <m:msubsup>
                                    <m:mi>S</m:mi>
                                    <m:mrow>
                                       <m:mi>h</m:mi>
                                       <m:mi>a</m:mi>
                                       <m:mi>l</m:mi>
                                       <m:mi>f</m:mi>
                                    </m:mrow>
                                    <m:mi>t</m:mi>
                                 </m:msubsup>
                                 <m:mo>&#8744;</m:mo>
                                 <m:msup>
                                    <m:mi>C</m:mi>
                                    <m:mi>t</m:mi>
                                 </m:msup>
                                 <m:mo stretchy="false">)</m:mo>
                              </m:mrow>
                              <m:mo>)</m:mo>
                           </m:mrow>
                           <m:mo>&#8660;</m:mo>
                           <m:msubsup>
                              <m:mi>S</m:mi>
                              <m:mrow>
                                 <m:mi>f</m:mi>
                                 <m:mi>u</m:mi>
                                 <m:mi>l</m:mi>
                                 <m:mi>l</m:mi>
                              </m:mrow>
                              <m:mi>t</m:mi>
                           </m:msubsup>
                           <m:mo>,</m:mo>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWaaeWaaeaacqGGOaakcqGHSca2cqWGtbWudaqhaaWcbaGaemiAaGMaemyyaeMaemiBaWMaemOzaygabaGaemiDaqhaaOGaeyikIOTaeyiRaGTaem4qam0aaWbaaSqabeaacqWG0baDaaGccqGGPaqkcqGHNis2cqGGOaakcqWGtbWudaqhaaWcbaGaemiAaGMaemyyaeMaemiBaWMaemOzaygabaGaemiDaqhaaOGaeyikIOTaem4qam0aaWbaaSqabeaacqWG0baDaaGccqGGPaqkaiaawIcacaGLPaaacqGHuhY2cqWGtbWudaqhaaWcbaGaemOzayMaemyDauNaemiBaWMaemiBaWgabaGaemiDaqhaaOGaeiilaWcaaa@5BAB@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where <it>t </it>= 1, ..., <it>w</it>. The number of necessary bits is at most <it>w </it>= &#8970;log<sub>2 </sub><it>p</it>&#8971; + 1 if the binary vector which is summed up has length <it>p</it>. Thus, <it>p </it>+ 1 different <it>A </it>vectors and <it>p </it>different <it>B</it>, <it>C </it>and <it>S</it><sub><it>full </it></sub>vectors are needed. Furthermore, the <inline-formula><m:math name="1471-2164-9-356-i27" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>S</m:mi><m:mrow><m:mi>f</m:mi><m:mi>u</m:mi><m:mi>l</m:mi><m:mi>l</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:mi>t</m:mi></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4uam1aa0baaSqaaiabdAgaMjabdwha1jabdYgaSjabdYgaSbqaaiabdYgaSjabcYcaSiabdsha0baaaaa@366D@</m:annotation></m:semantics></m:math></inline-formula> variables are replaced by the <it>A</it><sup><it>l</it>+1, <it>t </it></sup>variables such that only the <it>A</it><sup><it>p</it>+1, <it>t </it></sup>vector is left for constraining the sum, where 1 &#8804; <it>l </it>&#8804; <it>p </it>and 1 &#8804; <it>t </it>&#8804; <it>w</it>. It follows that summing can be represented as shown in Figure <figr fid="F4">4</figr>.</p>
            <fig id="F4">
               <title>
                  <p>Figure 4</p>
               </title>
               <caption>
                  <p>Example of naive summation based on a ripple carry adder</p>
               </caption>
               <text>
                  <p><b>Example of naive summation based on a ripple carry adder</b>. The <it>A </it>variables are used for storing the accumulation of the sum. The <it>A</it><sup>1, <it>t </it></sup>variables, with 1 &#8804; <it>t &#8804; </it>3, are constrained to zero. Additionally, the <it>C</it><sup><it>l</it>,1 </sup>and the <it>B </it>variables, except the <it>B</it><sup><it>l</it>,1 </sup>variables, with 1 &#8804; <it>l </it>&#8804; 4, are also constrained to zero. The <it>S </it>variables are set to the binary representation of the required sum, e.g. if <it>S </it>= (1, 0, 0), the only satisfying assignment of Boolean values to the <it>B</it><sup><it>l</it>,1 </sup>variables is (1, 1, 1, 1). If <it>S </it>= (0, 1, 0), there are six satisfying assignments to the <it>B</it><sup><it>l</it>,1 </sup>variables, namely (1, 1, 0, 0), (1, 0, 1, 0), (1, 0, 0, 1), (0, 1, 0, 1), (0, 0, 1, 1) and (0, 1, 1, 0).</p>
               </text>
               <graphic file="1471-2164-9-356-4"/>
            </fig>
            <p>A simplification is achieved if vector <it>C</it><sup><it>l</it>,1</sup>, where 1 &#8804; <it>l </it>&#8804; <it>p</it>, (Figure <figr fid="F4">4</figr>) contains the possible allele arrangements <abbrgrp><abbr bid="B17">17</abbr></abbrgrp> and the <it>A </it>vectors store the accumulation of the sum. In this situation, all <it>B </it>variables can be set to zero. The constraints of carry overs reduce to:</p>
            <p>
               <display-formula id="M12">(<it>A</it><sup><it>l</it>, <it>t </it></sup>&#8743; <it>C</it><sup><it>l</it>, <it>t</it></sup>) &#8660; <it>C</it><sup><it>l</it>, <it>t</it>+1</sup>,</display-formula>
            </p>
            <p>where 1 &#8804; <it>l </it>&#8804; <it>p</it>. Additionally, if <inline-formula><m:math name="1471-2164-9-356-i27" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>S</m:mi><m:mrow><m:mi>f</m:mi><m:mi>u</m:mi><m:mi>l</m:mi><m:mi>l</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:mi>t</m:mi></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4uam1aa0baaSqaaiabdAgaMjabdwha1jabdYgaSjabdYgaSbqaaiabdYgaSjabcYcaSiabdsha0baaaaa@366D@</m:annotation></m:semantics></m:math></inline-formula> variables are replaced by <it>A</it><sup><it>l</it>+1, <it>t </it></sup>variables, the sums reduce to:</p>
            <p>
               <display-formula id="M13">((&#172;<it>A</it><sup><it>l</it>, <it>t </it></sup>&#8744; &#172;<it>C</it><sup><it>l</it>, <it>t</it></sup>) &#8743; (<it>A</it><sup><it>l</it>, <it>t </it></sup>&#8743; <it>C</it><sup><it>l</it>, <it>t</it></sup>)) &#8660; <it>A</it><sup><it>l</it>+1, <it>t</it></sup>,</display-formula>
            </p>
            <p>where 1 &#8804; <it>l </it>&#8804; <it>p</it>. Reformulating the constraints from Formula 12 into CNF yields the following for the carry overs:</p>
            <p>
               <display-formula id="M14">
                  <m:math name="1471-2164-9-356-i28" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:mtable>
                                          <m:mtr>
                                             <m:mtd>
                                                <m:mrow>
                                                   <m:mo>&#172;</m:mo>
                                                   <m:msup>
                                                      <m:mi>A</m:mi>
                                                      <m:mrow>
                                                         <m:mi>l</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>t</m:mi>
                                                      </m:mrow>
                                                   </m:msup>
                                                </m:mrow>
                                             </m:mtd>
                                             <m:mtd>
                                                <m:mrow/>
                                             </m:mtd>
                                          </m:mtr>
                                       </m:mtable>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mtable>
                                          <m:mtr>
                                             <m:mtd>
                                                <m:mo>&#8744;</m:mo>
                                             </m:mtd>
                                             <m:mtd>
                                                <m:mrow>
                                                   <m:mo>&#172;</m:mo>
                                                   <m:msup>
                                                      <m:mi>C</m:mi>
                                                      <m:mrow>
                                                         <m:mi>l</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>t</m:mi>
                                                      </m:mrow>
                                                   </m:msup>
                                                   <m:mo>&#8744;</m:mo>
                                                   <m:msup>
                                                      <m:mi>C</m:mi>
                                                      <m:mrow>
                                                         <m:mi>l</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>t</m:mi>
                                                         <m:mo>+</m:mo>
                                                         <m:mn>1</m:mn>
                                                      </m:mrow>
                                                   </m:msup>
                                                </m:mrow>
                                             </m:mtd>
                                          </m:mtr>
                                       </m:mtable>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">)</m:mo>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:mo>&#172;</m:mo>
                                       <m:msup>
                                          <m:mi>C</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                             <m:mo>+</m:mo>
                                             <m:mn>1</m:mn>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mtable>
                                          <m:mtr>
                                             <m:mtd>
                                                <m:mo>&#8744;</m:mo>
                                             </m:mtd>
                                             <m:mtd>
                                                <m:mrow>
                                                   <m:msup>
                                                      <m:mi>A</m:mi>
                                                      <m:mrow>
                                                         <m:mi>l</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>t</m:mi>
                                                      </m:mrow>
                                                   </m:msup>
                                                </m:mrow>
                                             </m:mtd>
                                          </m:mtr>
                                       </m:mtable>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">)</m:mo>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:mo>&#172;</m:mo>
                                       <m:msup>
                                          <m:mi>C</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                             <m:mo>+</m:mo>
                                             <m:mn>1</m:mn>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mtable>
                                          <m:mtr>
                                             <m:mtd>
                                                <m:mo>&#8744;</m:mo>
                                             </m:mtd>
                                             <m:mtd>
                                                <m:mrow>
                                                   <m:msup>
                                                      <m:mi>C</m:mi>
                                                      <m:mrow>
                                                         <m:mi>l</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>t</m:mi>
                                                      </m:mrow>
                                                   </m:msup>
                                                </m:mrow>
                                             </m:mtd>
                                          </m:mtr>
                                       </m:mtable>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">)</m:mo>
                                       <m:mo>.</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeWabmWaaaqaaiabcIcaOuaabeqabiaaaeaacqGHSca2cqWGbbqqdaahaaWcbeqaaiabdYgaSjabcYcaSiabdsha0baaaOqaaaaaaeaafaqabeqacaaabaGaeyikIOnabaGaeyiRaGTaem4qam0aaWbaaSqabeaacqWGSbaBcqGGSaalcqWG0baDaaGccqGHOiI2cqWGdbWqdaahaaWcbeqaaiabdYgaSjabcYcaSiabdsha0jabgUcaRiabigdaXaaaaaaakeaacqGGPaqkcqGHNis2aeaacqGGOaakcqGHSca2cqWGdbWqdaahaaWcbeqaaiabdYgaSjabcYcaSiabdsha0jabgUcaRiabigdaXaaaaOqaauaabeqabiaaaeaacqGHOiI2aeaacqWGbbqqdaahaaWcbeqaaiabdYgaSjabcYcaSiabdsha0baaaaaakeaacqGGPaqkcqGHNis2aeaacqGGOaakcqGHSca2cqWGdbWqdaahaaWcbeqaaiabdYgaSjabcYcaSiabdsha0jabgUcaRiabigdaXaaaaOqaauaabeqabiaaaeaacqGHOiI2aeaacqWGdbWqdaahaaWcbeqaaiabdYgaSjabcYcaSiabdsha0baaaaaakeaacqGGPaqkcqGGUaGlaaaaaa@6CFC@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>By reformulating the constraints from Formula 13 into CNF, we obtain the following expression for the sums:</p>
            <p>
               <display-formula id="M15">
                  <m:math name="1471-2164-9-356-i29" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:mo>&#172;</m:mo>
                                       <m:msup>
                                          <m:mi>A</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mo>&#8744;</m:mo>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:msup>
                                          <m:mi>C</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mo>&#8744;</m:mo>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:msup>
                                          <m:mi>A</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>+</m:mo>
                                             <m:mn>1</m:mn>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">)</m:mo>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:mo>&#172;</m:mo>
                                       <m:msup>
                                          <m:mi>A</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mo>&#8744;</m:mo>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:msup>
                                          <m:mi>C</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mo>&#8744;</m:mo>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:msup>
                                          <m:mi>A</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>+</m:mo>
                                             <m:mn>1</m:mn>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">)</m:mo>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:msup>
                                          <m:mi>A</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mo>&#8744;</m:mo>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:msup>
                                          <m:mi>C</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mo>&#8744;</m:mo>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:msup>
                                          <m:mi>A</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>+</m:mo>
                                             <m:mn>1</m:mn>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">)</m:mo>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:msup>
                                          <m:mi>A</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mo>&#8744;</m:mo>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:msup>
                                          <m:mi>C</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mo>&#8744;</m:mo>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:msup>
                                          <m:mi>A</m:mi>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>+</m:mo>
                                             <m:mn>1</m:mn>
                                             <m:mo>,</m:mo>
                                             <m:mi>t</m:mi>
                                          </m:mrow>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo stretchy="false">)</m:mo>
                                       <m:mo>.</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeWabqGbaaaaaeaacqGGOaakcqGHSca2cqWGbbqqdaahaaWcbeqaaiabdYgaSjabcYcaSiabdsha0baaaOqaaiabgIIiAdqaaiabgYkaylabdoeadnaaCaaaleqabaGaemiBaWMaeiilaWIaemiDaqhaaaGcbaGaeyikIOnabaGaeyiRaGTaemyqae0aaWbaaSqabeaacqWGSbaBcqGHRaWkcqaIXaqmcqGGSaalcqWG0baDaaaakeaacqGGPaqkcqGHNis2aeaacqGGOaakcqGHSca2cqWGbbqqdaahaaWcbeqaaiabdYgaSjabcYcaSiabdsha0baaaOqaaiabgIIiAdqaaiabdoeadnaaCaaaleqabaGaemiBaWMaeiilaWIaemiDaqhaaaGcbaGaeyikIOnabaGaemyqae0aaWbaaSqabeaacqWGSbaBcqGHRaWkcqaIXaqmcqGGSaalcqWG0baDaaaakeaacqGGPaqkcqGHNis2aeaacqGGOaakcqWGbbqqdaahaaWcbeqaaiabdYgaSjabcYcaSiabdsha0baaaOqaaiabgIIiAdqaaiabgYkaylabdoeadnaaCaaaleqabaGaemiBaWMaeiilaWIaemiDaqhaaaGcbaGaeyikIOnabaGaemyqae0aaWbaaSqabeaacqWGSbaBcqGHRaWkcqaIXaqmcqGGSaalcqWG0baDaaaakeaacqGGPaqkcqGHNis2aeaacqGGOaakcqWGbbqqdaahaaWcbeqaaiabdYgaSjabcYcaSiabdsha0baaaOqaaiabgIIiAdqaaiabdoeadnaaCaaaleqabaGaemiBaWMaeiilaWIaemiDaqhaaaGcbaGaeyikIOnabaGaeyiRaGTaemyqae0aaWbaaSqabeaacqWGSbaBcqGHRaWkcqaIXaqmcqGGSaalcqWG0baDaaaakeaacqGGPaqkcqGGUaGlaaaaaa@95AD@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>For each individual and SNP site in a biallelic population, variables corresponding to <it>A </it>and <it>C </it>need to be defined. Let variables <inline-formula><m:math name="1471-2164-9-356-i30" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>a</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:mi>t</m:mi></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemyyae2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabdsha0baaaaa@3497@</m:annotation></m:semantics></m:math></inline-formula>, with 1 &#8804; <it>l </it>&#8804; <it>p </it>+ 1 and 1 &#8804; <it>t </it>&#8804; <it>w</it>, denote the accumulation of the sum.</p>
            <p>Additionally, let variables <inline-formula><m:math name="1471-2164-9-356-i31" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>c</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:mi>t</m:mi></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4yam2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabdsha0baaaaa@349B@</m:annotation></m:semantics></m:math></inline-formula>, with 1 &#8804; <it>l </it>&#8804; <it>p </it>and 1 &#8804; <it>t </it>&#8804; <it>w</it>, stand for the carry overs. For a SNP site <it>j </it>from genotype <it>i</it>, summing constraints can easily be obtained by replacing the <inline-formula><m:math name="1471-2164-9-356-i32" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>c</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4yam2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabigdaXaaaaaa@341A@</m:annotation></m:semantics></m:math></inline-formula> variables with the <inline-formula><m:math name="1471-2164-9-356-i1" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSbaaaaa@3252@</m:annotation></m:semantics></m:math></inline-formula> variables <abbrgrp><abbr bid="B17">17</abbr></abbrgrp>, with 1 &#8804; <it>l </it>&#8804; <it>p</it>. Finally, the <inline-formula><m:math name="1471-2164-9-356-i33" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>a</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>p</m:mi><m:mo>+</m:mo><m:mn>1</m:mn><m:mo>,</m:mo><m:mi>t</m:mi></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemyyae2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdchaWjabgUcaRiabigdaXiabcYcaSiabdsha0baaaaa@3671@</m:annotation></m:semantics></m:math></inline-formula> variables, with 1 &#8804; <it>t </it>&#8804; <it>w</it>, are constrained to the binary representation of the required sum.</p>
         </sec>
         <sec>
            <st>
               <p>Extension to SAT model for polyallelic polyploids</p>
            </st>
            <p>In this and the following sections we use notation <inline-formula><m:math name="1471-2164-9-356-i34" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mrow><m:mo stretchy="false">(</m:mo><m:mi>x</m:mi><m:mo stretchy="false">)</m:mo></m:mrow><m:mn>2</m:mn><m:mi>y</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeiikaGIaemiEaGNaeiykaKYaa0baaSqaaiabikdaYaqaaiabdMha5baaaaa@319A@</m:annotation></m:semantics></m:math></inline-formula> to mean the <it>y</it><sup><it>th </it></sup>bit of the binary encoded number <it>x</it>. Furthermore, we use a function <it>b</it>(<it>A, B</it>) to substitute variables:</p>
            <p>
               <display-formula id="M16">
                  <m:math name="1471-2164-9-356-i35" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mi>b</m:mi>
                           <m:mo stretchy="false">(</m:mo>
                           <m:mi>A</m:mi>
                           <m:mo>,</m:mo>
                           <m:mi>B</m:mi>
                           <m:mo stretchy="false">)</m:mo>
                           <m:mo>=</m:mo>
                           <m:mrow>
                              <m:mo>{</m:mo>
                              <m:mrow>
                                 <m:mtable columnalign="left">
                                    <m:mtr columnalign="left">
                                       <m:mtd columnalign="left">
                                          <m:mi>A</m:mi>
                                       </m:mtd>
                                       <m:mtd columnalign="left">
                                          <m:mrow>
                                             <m:mtext>if&#160;</m:mtext>
                                             <m:mi>B</m:mi>
                                             <m:mo>=</m:mo>
                                             <m:mn>1</m:mn>
                                          </m:mrow>
                                       </m:mtd>
                                    </m:mtr>
                                    <m:mtr columnalign="left">
                                       <m:mtd columnalign="left">
                                          <m:mrow>
                                             <m:mo>&#172;</m:mo>
                                             <m:mi>A</m:mi>
                                             <m:mo>,</m:mo>
                                          </m:mrow>
                                       </m:mtd>
                                       <m:mtd columnalign="left">
                                          <m:mrow>
                                             <m:mtext>otherwise</m:mtext>
                                             <m:mo>.</m:mo>
                                          </m:mrow>
                                       </m:mtd>
                                    </m:mtr>
                                 </m:mtable>
                              </m:mrow>
                           </m:mrow>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOyaiMaeiikaGIaemyqaeKaeiilaWIaemOqaiKaeiykaKIaeyypa0ZaaiqaaeaafaqaaeGacaaabaGaemyqaeeabaGaeeyAaKMaeeOzayMaeeiiaaIaemOqaiKaeyypa0JaeGymaedabaGaeyiRaGTaemyqaeKaeiilaWcabaGaee4Ba8MaeeiDaqNaeeiAaGMaeeyzauMaeeOCaiNaee4DaCNaeeyAaKMaee4CamNaeeyzauMaeiOla4caaaGaay5Eaaaaaa@4D1C@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>Dependent on the input, Function 16 defines if the substituted variable is negated.</p>
            <p>The <inline-formula><m:math name="1471-2164-9-356-i1" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSbaaaaa@3252@</m:annotation></m:semantics></m:math></inline-formula> variables are insufficient for describing arrangements of more than two alleles at a SNP site. The representation of, for instance, three different states needs at least two bits. We define <it>o</it><sub><it>j </it></sub>as the number of different alleles from all individuals at SNP site <it>j </it>of a population of genotypes. If <it>o</it><sub><it>j </it></sub>> 2, the representation of the SNP site is extended to <it>w</it><sub><it>j </it></sub>= &#8968;log<sub>2 </sub><it>o</it><sub><it>j</it></sub>&#8969; binary columns. Thus, <inline-formula><m:math name="1471-2164-9-356-i1" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSbaaaaa@3252@</m:annotation></m:semantics></m:math></inline-formula> is split to <inline-formula><m:math name="1471-2164-9-356-i36" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup><m:mo>,</m:mo><m:mn>...</m:mn><m:mo>,</m:mo><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:msub><m:mi>w</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabigdaXaaakiabcYcaSiabc6caUiabc6caUiabc6caUiabcYcaSiabdEgaNnaaDaaaleaacqWGPbqAcqGGSaalcqWGQbGAaeaacqWGSbaBcqGGSaalcqWG3bWDdaWgaaadbaGaemOAaOgabeaaaaaaaa@42F6@</m:annotation></m:semantics></m:math></inline-formula>. Each allele is encoded by its corresponding binary number. For instance, the four alleles 0, 1, 2 and 3 at a tetraallelic SNP site are encoded as 00, 01, 10 and 11, respectively. The haplotypes are then extended analogously, such that <inline-formula><m:math name="1471-2164-9-356-i37" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi>h</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow></m:msub><m:mo>&#8712;</m:mo><m:msup><m:mrow><m:mo>{</m:mo><m:mn>0</m:mn><m:mo>,</m:mo><m:mn>1</m:mn><m:mo>}</m:mo></m:mrow><m:mrow><m:msub><m:mi>w</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:msup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemiAaG2aaSbaaSqaaiabdUgaRjabcYcaSiabdQgaQbqabaGccqGHiiIZcqGG7bWEcqaIWaamcqGGSaalcqaIXaqmcqGG9bqFdaahaaWcbeqaaiabdEha3naaBaaameaacqWGQbGAaeqaaaaaaaa@3B70@</m:annotation></m:semantics></m:math></inline-formula> denotes the <it>j</it><sup><it>th </it></sup>site of haplotype <it>k</it>.</p>
            <p>For generalisation to polyallelic SNP sites, the formulation of binary sums can be reused. Let <inline-formula><m:math name="1471-2164-9-356-i38" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>z</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:msub><m:mi>u</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOEaO3aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdwha1naaBaaameaacqWGQbGAaeqaaaaaaaa@3414@</m:annotation></m:semantics></m:math></inline-formula> be the number of allele <it>u</it><sub><it>j </it></sub>at a specific SNP site <it>j </it>in unphased genotype <it>i</it>, where 1 &#8804; <it>u</it><sub><it>j </it></sub>&#8804; <it>o</it><sub><it>j</it></sub>. The value of <it>o</it><sub><it>j </it></sub>can be greater than <it>p </it>but <inline-formula><m:math name="1471-2164-9-356-i39" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mstyle displaystyle="true"><m:msubsup><m:mo>&#8721;</m:mo><m:mrow><m:msub><m:mi>u</m:mi><m:mi>j</m:mi></m:msub><m:mo>=</m:mo><m:mn>1</m:mn></m:mrow><m:mrow><m:msub><m:mi>o</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:msubsup><m:mrow><m:msubsup><m:mi>z</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:msub><m:mi>u</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:msubsup><m:mo>=</m:mo><m:mi>p</m:mi></m:mrow></m:mstyle></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWaaabmaeaacqWG6bGEdaqhaaWcbaGaemyAaKMaeiilaWIaemOAaOgabaGaemyDau3aaSbaaWqaaiabdQgaQbqabaaaaOGaeyypa0JaemiCaahaleaacqWG1bqDdaWgaaadbaGaemOAaOgabeaaliabg2da9iabigdaXaqaaiabd+gaVnaaBaaameaacqWGQbGAaeqaaaqdcqGHris5aaaa@407E@</m:annotation></m:semantics></m:math></inline-formula>. For a set of nucleotide sequences, it holds that <it>o</it><sub><it>j </it></sub>&#8804; 4.</p>
            <p>For each individual and SNP site, <it>o</it><sub><it>j </it></sub>vectors <it>v</it><sub><it>i</it>, <it>j </it></sub>of length <it>p </it>are defined. Variable <inline-formula><m:math name="1471-2164-9-356-i40" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>v</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:msub><m:mi>u</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemODay3aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabdwha1naaBaaameaacqWGQbGAaeqaaaaaaaa@364D@</m:annotation></m:semantics></m:math></inline-formula> is set to 1 if allele <it>u</it><sub><it>j </it></sub>is represented at position <it>l </it>by its corresponding binary number:</p>
            <p>
               <display-formula id="M17">
                  <m:math name="1471-2164-9-356-i41" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mrow>
                                          <m:mo>(</m:mo>
                                          <m:mrow>
                                             <m:mi>b</m:mi>
                                             <m:mrow>
                                                <m:mo>(</m:mo>
                                                <m:mrow>
                                                   <m:msubsup>
                                                      <m:mi>g</m:mi>
                                                      <m:mrow>
                                                         <m:mi>i</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>j</m:mi>
                                                      </m:mrow>
                                                      <m:mrow>
                                                         <m:mi>l</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mn>1</m:mn>
                                                      </m:mrow>
                                                   </m:msubsup>
                                                   <m:mo>,</m:mo>
                                                   <m:mrow>
                                                      <m:mo>(</m:mo>
                                                      <m:mrow>
                                                         <m:msub>
                                                            <m:mi>u</m:mi>
                                                            <m:mi>j</m:mi>
                                                         </m:msub>
                                                         <m:mo>&#8722;</m:mo>
                                                         <m:mn>1</m:mn>
                                                      </m:mrow>
                                                      <m:mo>)</m:mo>
                                                   </m:mrow>
                                                   <m:munder>
                                                      <m:mn>1</m:mn>
                                                      <m:mn>2</m:mn>
                                                   </m:munder>
                                                </m:mrow>
                                             </m:mrow>
                                          </m:mrow>
                                          <m:mo>)</m:mo>
                                       </m:mrow>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mi>b</m:mi>
                                       <m:mrow>
                                          <m:mo>(</m:mo>
                                          <m:mrow>
                                             <m:msubsup>
                                                <m:mi>g</m:mi>
                                                <m:mrow>
                                                   <m:mi>i</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mi>j</m:mi>
                                                </m:mrow>
                                                <m:mrow>
                                                   <m:mi>l</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>2</m:mn>
                                                </m:mrow>
                                             </m:msubsup>
                                             <m:mo>,</m:mo>
                                             <m:mo stretchy="false">(</m:mo>
                                             <m:msub>
                                                <m:mi>u</m:mi>
                                                <m:mi>j</m:mi>
                                             </m:msub>
                                             <m:mo>&#8722;</m:mo>
                                             <m:mn>1</m:mn>
                                             <m:mo stretchy="false">)</m:mo>
                                             <m:munder>
                                                <m:mn>2</m:mn>
                                                <m:mn>2</m:mn>
                                             </m:munder>
                                          </m:mrow>
                                          <m:mo>)</m:mo>
                                       </m:mrow>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mo>&#8942;</m:mo>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mi>b</m:mi>
                                       <m:mrow>
                                          <m:mo>(</m:mo>
                                          <m:mrow>
                                             <m:mrow>
                                                <m:mrow>
                                                   <m:msubsup>
                                                      <m:mi>g</m:mi>
                                                      <m:mrow>
                                                         <m:mi>i</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>j</m:mi>
                                                      </m:mrow>
                                                      <m:mrow>
                                                         <m:mi>l</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:msub>
                                                            <m:mi>w</m:mi>
                                                            <m:mi>j</m:mi>
                                                         </m:msub>
                                                      </m:mrow>
                                                   </m:msubsup>
                                                   <m:mo>,</m:mo>
                                                   <m:msubsup>
                                                      <m:mrow>
                                                         <m:mrow>
                                                            <m:mo>(</m:mo>
                                                            <m:mrow>
                                                               <m:msub>
                                                                  <m:mi>u</m:mi>
                                                                  <m:mi>j</m:mi>
                                                               </m:msub>
                                                               <m:mo>&#8722;</m:mo>
                                                               <m:mn>1</m:mn>
                                                            </m:mrow>
                                                            <m:mo>)</m:mo>
                                                         </m:mrow>
                                                      </m:mrow>
                                                      <m:mn>2</m:mn>
                                                      <m:mrow>
                                                         <m:msub>
                                                            <m:mi>w</m:mi>
                                                            <m:mi>j</m:mi>
                                                         </m:msub>
                                                      </m:mrow>
                                                   </m:msubsup>
                                                </m:mrow>
                                                <m:mo>)</m:mo>
                                             </m:mrow>
                                          </m:mrow>
                                          <m:mo>)</m:mo>
                                       </m:mrow>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mo>&#8660;</m:mo>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:msubsup>
                                          <m:mi>v</m:mi>
                                          <m:mrow>
                                             <m:mi>i</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>j</m:mi>
                                          </m:mrow>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:msub>
                                                <m:mi>u</m:mi>
                                                <m:mi>j</m:mi>
                                             </m:msub>
                                          </m:mrow>
                                       </m:msubsup>
                                       <m:mo>,</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeqabyqaaaaabaWaaeWaaeaacqWGIbGydaqabaqaaiabdEgaNnaaDaaaleaacqWGPbqAcqGGSaalcqWGQbGAaeaacqWGSbaBcqGGSaalcqaIXaqmaaGccqGGSaaldaqadaqaaiabdwha1naaBaaaleaacqWGQbGAaeqaaOGaeyOeI0IaeGymaedacaGLOaGaayzkaaWaaCbeaeaacqaIXaqmaeaacqaIYaGmaSqabaaakiaawIcaaaGaayjkaiaawMcaaiabgEIizdqaaiabdkgaInaabmaabaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabikdaYaaakiabcYcaSiabcIcaOiabdwha1naaBaaaleaacqWGQbGAaeqaaOGaeyOeI0IaeGymaeJaeiykaKYaaCbeaeaacqaIYaGmaeaacqaIYaGmaSqabaaakiaawIcacaGLPaaacqGHNis2aeaacqWIUlstaeaacqWGIbGydaqadaqaamaabiaabaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabdEha3naaBaaameaacqWGQbGAaeqaaaaakiabcYcaSmaabmaabaGaemyDau3aaSbaaSqaaiabdQgaQbqabaGccqGHsislcqaIXaqmaiaawIcacaGLPaaadaqhaaWcbaGaeGOmaidabaGaem4DaC3aaSbaaWqaaiabdQgaQbqabaaaaaGccaGLPaaaaiaawIcacaGLPaaaaeaacqGHuhY2aeaacqWG2bGDdaqhaaWcbaGaemyAaKMaeiilaWIaemOAaOgabaGaemiBaWMaeiilaWIaemyDau3aaSbaaWqaaiabdQgaQbqabaaaaOGaeiilaWcaaaaa@82EB@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where 1 &#8804; <it>l &#8804; p </it>and 1 &#8804; <it>u</it><sub><it>j </it></sub>&#8804; <it>o</it><sub><it>j</it></sub>. It is necessary to formulate the sums <inline-formula><m:math name="1471-2164-9-356-i42" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mstyle displaystyle="true"><m:msubsup><m:mo>&#8721;</m:mo><m:mrow><m:mi>l</m:mi><m:mo>=</m:mo><m:mn>1</m:mn></m:mrow><m:mi>p</m:mi></m:msubsup><m:mrow><m:msubsup><m:mi>v</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:msub><m:mi>u</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:msubsup></m:mrow></m:mstyle></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWaaabmaeaacqWG2bGDdaqhaaWcbaGaemyAaKMaeiilaWIaemOAaOgabaGaemiBaWMaeiilaWIaemyDau3aaSbaaWqaaiabdQgaQbqabaaaaaWcbaGaemiBaWMaeyypa0JaeGymaedabaGaemiCaahaniabggHiLdaaaa@3D0F@</m:annotation></m:semantics></m:math></inline-formula> which must equal <inline-formula><m:math name="1471-2164-9-356-i38" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>z</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:msub><m:mi>u</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOEaO3aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdwha1naaBaaameaacqWGQbGAaeqaaaaaaaa@3414@</m:annotation></m:semantics></m:math></inline-formula>, as described in the previous sections such that each allele at SNP site <it>j </it>occurs <inline-formula><m:math name="1471-2164-9-356-i38" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>z</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:msub><m:mi>u</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOEaO3aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdwha1naaBaaameaacqWGQbGAaeqaaaaaaaa@3414@</m:annotation></m:semantics></m:math></inline-formula> times in genotype <it>i</it>.</p>
            <p>An example is shown in Figure <figr fid="F5">5</figr>. Generally, at a given SNP site of an individual, there can be at most <it>p </it>different alleles, even if the number of alleles in the population at this site is <it>o</it><sub><it>j </it></sub>> <it>p</it>. Thus, only the constraints for <it>p </it>sums have to be given.</p>
            <fig id="F5">
               <title>
                  <p>Figure 5</p>
               </title>
               <caption>
                  <p>Example showing constraints of triallelic SNP site</p>
               </caption>
               <text>
                  <p><b>Example showing constraints of triallelic SNP site</b>. Assume a triallelic SNP site and an individual with the allele composition (0, 1, 2, 2). First, the alleles are encoded to their corresponding binary representation, here 0 &#8801; 00, 1 &#8801; 01 and 2 &#8801; 10. Second, each allele is recoded to binary variables <inline-formula><m:math name="1471-2164-9-356-i43" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>v</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemODay3aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabigdaXaaaaaa@3440@</m:annotation></m:semantics></m:math></inline-formula>, <inline-formula><m:math name="1471-2164-9-356-i44" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>v</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:mn>2</m:mn></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemODay3aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabikdaYaaaaaa@3442@</m:annotation></m:semantics></m:math></inline-formula> and <inline-formula><m:math name="1471-2164-9-356-i45" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>v</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:mn>3</m:mn></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemODay3aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabiodaZaaaaaa@3444@</m:annotation></m:semantics></m:math></inline-formula>, with 1 &#8804; <it>l </it>&#8804; 4. Finally, the three vectors are constrained to the corresponding sum.</p>
               </text>
               <graphic file="1471-2164-9-356-5"/>
            </fig>
            <p>In variables <inline-formula><m:math name="1471-2164-9-356-i40" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>v</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:msub><m:mi>u</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemODay3aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabdwha1naaBaaameaacqWGQbGAaeqaaaaaaaa@364D@</m:annotation></m:semantics></m:math></inline-formula>, with 1 &#8804; <it>l </it>&#8804; <it>p</it>, the arrangements of allele <it>u</it><sub><it>j </it></sub>are represented, where allele <it>u</it><sub><it>j </it></sub>is encoded as 1 and all other alleles are encoded as 0s. In contrast, the <inline-formula><m:math name="1471-2164-9-356-i46" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>g</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:msub><m:mi>t</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaC2aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabdsha0naaBaaameaacqWGQbGAaeqaaaaaaaa@362D@</m:annotation></m:semantics></m:math></inline-formula> variables, with 1 &#8804; <it>l </it>&#8804; <it>p </it>and 1 &#8804; <it>t</it><sub><it>j </it></sub>&#8804; <it>w</it><sub><it>j</it></sub>, represent the arrangements of all alleles at the given SNP site. It is still necessary that the correct haplotypes <inline-formula><m:math name="1471-2164-9-356-i12" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi>h</m:mi><m:mrow><m:msub><m:mi>k</m:mi><m:mn>1</m:mn></m:msub></m:mrow></m:msub><m:mo>,</m:mo><m:mn>...</m:mn><m:mo>,</m:mo><m:msub><m:mi>h</m:mi><m:mrow><m:msub><m:mi>k</m:mi><m:mi>p</m:mi></m:msub></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemiAaG2aaSbaaSqaaiabdUgaRnaaBaaameaacqaIXaqmaeqaaaWcbeaakiabcYcaSiabc6caUiabc6caUiabc6caUiabcYcaSiabdIgaOnaaBaaaleaacqWGRbWAdaWgaaadbaGaemiCaahabeaaaSqabaaaaa@38DC@</m:annotation></m:semantics></m:math></inline-formula> are chosen to explain the alleles at <it>g</it><sub><it>i</it>, <it>j</it></sub>. Then the model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M18">
                  <m:math name="1471-2164-9-356-i47" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable columnalign="left">
                              <m:mtr columnalign="left">
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:msubsup>
                                          <m:mi>h</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>j</m:mi>
                                          </m:mrow>
                                          <m:mrow>
                                             <m:msub>
                                                <m:mi>t</m:mi>
                                                <m:mi>j</m:mi>
                                             </m:msub>
                                          </m:mrow>
                                       </m:msubsup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mo>&#8744;</m:mo>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:msubsup>
                                          <m:mi>g</m:mi>
                                          <m:mrow>
                                             <m:mi>i</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>j</m:mi>
                                          </m:mrow>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:msub>
                                                <m:mi>t</m:mi>
                                                <m:mi>j</m:mi>
                                             </m:msub>
                                          </m:mrow>
                                       </m:msubsup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mo>&#8744;</m:mo>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:mo stretchy="false">)</m:mo>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr columnalign="left">
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:mo>&#172;</m:mo>
                                       <m:msubsup>
                                          <m:mi>h</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>j</m:mi>
                                          </m:mrow>
                                          <m:mrow>
                                             <m:msub>
                                                <m:mi>t</m:mi>
                                                <m:mi>j</m:mi>
                                             </m:msub>
                                          </m:mrow>
                                       </m:msubsup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mo>&#8744;</m:mo>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:msubsup>
                                          <m:mi>g</m:mi>
                                          <m:mrow>
                                             <m:mi>i</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>j</m:mi>
                                          </m:mrow>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:msub>
                                                <m:mi>t</m:mi>
                                                <m:mi>j</m:mi>
                                             </m:msub>
                                          </m:mrow>
                                       </m:msubsup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mo>&#8744;</m:mo>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:mo stretchy="false">)</m:mo>
                                       <m:mo>,</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeaabiGbaaaabaGaeiikaGIaemiAaG2aa0baaSqaaiabdUgaRjabcYcaSiabdQgaQbqaaiabdsha0naaBaaameaacqWGQbGAaeqaaaaaaOqaaiabgIIiAdqaaiabgYkaylabdEgaNnaaDaaaleaacqWGPbqAcqGGSaalcqWGQbGAaeaacqWGSbaBcqGGSaalcqWG0baDdaWgaaadbaGaemOAaOgabeaaaaaakeaacqGHOiI2aeaacqGHSca2cqWGZbWCdaqhaaWcbaGaem4AaSMaeiilaWIaemyAaKgabaGaemiBaWgaaaGcbaGaeiykaKIaey4jIKnabaGaeiikaGIaeyiRaGTaemiAaG2aa0baaSqaaiabdUgaRjabcYcaSiabdQgaQbqaaiabdsha0naaBaaameaacqWGQbGAaeqaaaaaaOqaaiabgIIiAdqaaiabdEgaNnaaDaaaleaacqWGPbqAcqGGSaalcqWGQbGAaeaacqWGSbaBcqGGSaalcqWG0baDdaWgaaadbaGaemOAaOgabeaaaaaakeaacqGHOiI2aeaacqGHSca2cqWGZbWCdaqhaaWcbaGaem4AaSMaeiilaWIaemyAaKgabaGaemiBaWgaaaGcbaGaeiykaKIaeiilaWcaaaaa@7384@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where 1 &#8804; <it>t</it><sub><it>j </it></sub>&#8804; <it>w</it><sub><it>j</it></sub>, 1 &#8804; <it>k </it>&#8804; <it>r </it>and 1 &#8804; <it>l </it>&#8804; <it>p</it>.</p>
            <p>The final (most parsimonious) number of haplotypes is denoted by <it>r</it><sub><it>f </it></sub>and the maximal number of alleles, which is found at a SNP site of the considered population, is denoted by <it>o</it><sub><it>max</it></sub>. Then, if <it>p </it>log<sub>2 </sub><it>p </it>&#8804; <it>r</it><sub><it>f </it></sub>log<sub>2 </sub><it>o</it><sub><it>max</it></sub>, the number of variables (Table <tblr tid="T2">2</tblr>) and constraints in the proposed model is, respectively, <inline-formula><m:math name="1471-2164-9-356-i48" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">O</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NdX=eaaa@3765@</m:annotation></m:semantics></m:math></inline-formula>(<it>n m p</it><sup>2 </sup>log<sub>2 </sub><it>p</it>) and <inline-formula><m:math name="1471-2164-9-356-i48" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">O</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NdX=eaaa@3765@</m:annotation></m:semantics></m:math></inline-formula>(<it>r</it><sub><it>f </it></sub><it>n m p </it>log<sub>2 </sub><it>o</it><sub><it>max</it></sub>) . The complexity for the variables and constraints decreases to <inline-formula><m:math name="1471-2164-9-356-i48" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">O</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NdX=eaaa@3765@</m:annotation></m:semantics></m:math></inline-formula>(<it>n m p </it>log<sub>2 </sub><it>p</it>) and <inline-formula><m:math name="1471-2164-9-356-i48" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">O</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NdX=eaaa@3765@</m:annotation></m:semantics></m:math></inline-formula>(<it>r</it><sub><it>f </it></sub><it>n m p</it>) if the nucleotide alphabet is considered.</p>
            <tbl id="T2">
               <title>
                  <p>Table 2</p>
               </title>
               <caption>
                  <p>Complexity of the model</p>
               </caption>
               <tblbdy cols="2">
                  <r>
                     <c>
                        <p/>
                     </c>
                     <c ca="center">
                        <p>Number of variables</p>
                     </c>
                  </r>
                  <r>
                     <c cspan="2">
                        <hr/>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>
                           <it>h</it>
                        </p>
                     </c>
                     <c ca="center">
                        <p><it>r</it><sub><it>f </it></sub><it>m </it>log<sub>2 </sub><it>o</it><sub><it>max</it></sub></p>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>
                           <it>g</it>
                        </p>
                     </c>
                     <c ca="center">
                        <p><it>n m p </it>log<sub>2 </sub><it>o</it><sub><it>max</it></sub></p>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>
                           <it>s</it>
                        </p>
                     </c>
                     <c ca="center">
                        <p>
                           <it>r</it>
                           <sub>
                              <it>f </it>
                           </sub>
                           <it>n p</it>
                        </p>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>
                           <it>a</it>
                        </p>
                     </c>
                     <c ca="center">
                        <p><it>n m p</it><sup>2 </sup>log<sub>2 </sub><it>p</it></p>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>
                           <it>c</it>
                        </p>
                     </c>
                     <c ca="center">
                        <p><it>n m p</it><sup>2</sup><sub/>log<sub>2 </sub><it>p</it></p>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>
                           <it>v</it>
                        </p>
                     </c>
                     <c ca="center">
                        <p>
                           <it>n m p</it>
                           <sup>2</sup>
                        </p>
                     </c>
                  </r>
               </tblbdy>
               <tblfn>
                  <p>The complexity of the presented model is listed below. Variable <it>r</it><sub><it>f </it></sub>is the final value of <it>r</it>. The maximal number of alleles, which is found at a SNP site of the considered population, is denoted by <it>o</it><sub><it>max</it></sub>. The number of variables is <inline-formula><m:math name="1471-2164-9-356-i48" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">O</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NdX=eaaa@3765@</m:annotation></m:semantics></m:math></inline-formula>(<it>n m p</it><sup>2 </sup>log<sub>2 </sub><it>p</it>). If <it>p </it>log<sub>2 </sub><it>p </it>&#8804; <it>r</it><sub><it>f </it></sub>log<sub>2 </sub><it>o</it><sub><it>max</it></sub>, the number of constraints is <inline-formula><m:math name="1471-2164-9-356-i48" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">O</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NdX=eaaa@3765@</m:annotation></m:semantics></m:math></inline-formula>(<it>r<sub>f</sub> n m p </it>log<sub>2 </sub><it>o</it><sub><it>max</it></sub>).</p>
               </tblfn>
            </tbl>
         </sec>
         <sec>
            <st>
               <p>Constraints for breaking symmetries in haplotypes</p>
            </st>
            <p>It is important to note that the model proposed above is not practical for most existing problem instances, even with the most efficient SAT solvers <abbrgrp><abbr bid="B7">7</abbr></abbrgrp>. This problem, however, can be solved by breaking symmetries to prune the search space. As described in <abbrgrp><abbr bid="B7">7</abbr><abbr bid="B8">8</abbr></abbrgrp>, symmetries in explaining haplotypes can be broken by sorting the haplotypes lexicographically. A strict lexicographic ordering can be achieved by the formulation of constraints that become true if <it>h</it><sub>1 </sub>is strictly smaller than <it>h</it><sub>2</sub>, <it>h</it><sub>2 </sub>is strictly smaller than <it>h</it><sub>3</sub>, and so on. If the ordering is not strict it is not guaranteed that all explaining haplotypes are pairwise distinct.</p>
            <p>For the ordering, <it>h</it><sub><it>k</it>, <it>j </it></sub>is compared with <it>h</it><sub><it>k</it>+1, <it>j</it></sub>, where 1 &#8804; <it>k </it>&#8804; <it>r </it>- 1 and 1 &#8804; <it>j </it>&#8804; <it>m</it>. Additionally, new variables <it>e</it><sub><it>k</it>, <it>j </it></sub>have to be introduced, which record the value of <it>h</it><sub><it>k</it>, <it>j </it></sub>&lt;<it>h</it><sub><it>k</it>+1, <it>j</it></sub>. Then, the model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M19">
                  <m:math name="1471-2164-9-356-i49" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mtable>
                                          <m:mtr>
                                             <m:mtd>
                                                <m:mrow>
                                                   <m:mo stretchy="false">(</m:mo>
                                                   <m:mo>&#172;</m:mo>
                                                   <m:msub>
                                                      <m:mi>h</m:mi>
                                                      <m:mrow>
                                                         <m:mi>k</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>m</m:mi>
                                                      </m:mrow>
                                                   </m:msub>
                                                   <m:mo>&#8743;</m:mo>
                                                   <m:msub>
                                                      <m:mi>h</m:mi>
                                                      <m:mrow>
                                                         <m:mi>k</m:mi>
                                                         <m:mo>+</m:mo>
                                                         <m:mn>1</m:mn>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>m</m:mi>
                                                      </m:mrow>
                                                   </m:msub>
                                                   <m:mo stretchy="false">)</m:mo>
                                                </m:mrow>
                                             </m:mtd>
                                             <m:mtd>
                                                <m:mo>&#8660;</m:mo>
                                             </m:mtd>
                                             <m:mtd>
                                                <m:mrow>
                                                   <m:msub>
                                                      <m:mi>e</m:mi>
                                                      <m:mrow>
                                                         <m:mi>k</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>m</m:mi>
                                                      </m:mrow>
                                                   </m:msub>
                                                   <m:mo>&#8743;</m:mo>
                                                </m:mrow>
                                             </m:mtd>
                                          </m:mtr>
                                          <m:mtr>
                                             <m:mtd>
                                                <m:mrow>
                                                   <m:mrow>
                                                      <m:mo>(</m:mo>
                                                      <m:mrow>
                                                         <m:mo stretchy="false">(</m:mo>
                                                         <m:mo>&#172;</m:mo>
                                                         <m:msub>
                                                            <m:mi>h</m:mi>
                                                            <m:mrow>
                                                               <m:mi>k</m:mi>
                                                               <m:mo>,</m:mo>
                                                               <m:mi>j</m:mi>
                                                            </m:mrow>
                                                         </m:msub>
                                                         <m:mo>&#8743;</m:mo>
                                                         <m:msub>
                                                            <m:mi>h</m:mi>
                                                            <m:mrow>
                                                               <m:mi>k</m:mi>
                                                               <m:mo>+</m:mo>
                                                               <m:mn>1</m:mn>
                                                               <m:mo>,</m:mo>
                                                               <m:mi>j</m:mi>
                                                            </m:mrow>
                                                         </m:msub>
                                                         <m:mo stretchy="false">)</m:mo>
                                                         <m:mo>&#8744;</m:mo>
                                                         <m:msub>
                                                            <m:mi>e</m:mi>
                                                            <m:mrow>
                                                               <m:mi>k</m:mi>
                                                               <m:mo>,</m:mo>
                                                               <m:mi>j</m:mi>
                                                               <m:mo>+</m:mo>
                                                               <m:mn>1</m:mn>
                                                            </m:mrow>
                                                         </m:msub>
                                                      </m:mrow>
                                                      <m:mo>)</m:mo>
                                                   </m:mrow>
                                                </m:mrow>
                                             </m:mtd>
                                             <m:mtd>
                                                <m:mo>&#8660;</m:mo>
                                             </m:mtd>
                                             <m:mtd>
                                                <m:mrow>
                                                   <m:msub>
                                                      <m:mi>e</m:mi>
                                                      <m:mrow>
                                                         <m:mi>k</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>j</m:mi>
                                                      </m:mrow>
                                                   </m:msub>
                                                   <m:mo>&#8743;</m:mo>
                                                </m:mrow>
                                             </m:mtd>
                                          </m:mtr>
                                       </m:mtable>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:msub>
                                          <m:mi>e</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mn>1</m:mn>
                                          </m:mrow>
                                       </m:msub>
                                       <m:mo>=</m:mo>
                                       <m:mn>1</m:mn>
                                       <m:mo>,</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeqabiqaaaqaauaabeqacmaaaeaacqGGOaakcqGHSca2cqWGObaAdaWgaaWcbaGaem4AaSMaeiilaWIaemyBa0gabeaakiabgEIizlabdIgaOnaaBaaaleaacqWGRbWAcqGHRaWkcqaIXaqmcqGGSaalcqWGTbqBaeqaaOGaeiykaKcabaGaeyi1HSnabaGaemyzau2aaSbaaSqaaiabdUgaRjabcYcaSiabd2gaTbqabaGccqGHNis2aeaadaqadaqaaiabcIcaOiabgYkaylabdIgaOnaaBaaaleaacqWGRbWAcqGGSaalcqWGQbGAaeqaaOGaey4jIKTaemiAaG2aaSbaaSqaaiabdUgaRjabgUcaRiabigdaXiabcYcaSiabdQgaQbqabaGccqGGPaqkcqGHOiI2cqWGLbqzdaWgaaWcbaGaem4AaSMaeiilaWIaemOAaOMaey4kaSIaeGymaedabeaaaOGaayjkaiaawMcaaaqaaiabgsDiBdqaaiabdwgaLnaaBaaaleaacqWGRbWAcqGGSaalcqWGQbGAaeqaaOGaey4jIKnaaaqaaiabdwgaLnaaBaaaleaacqWGRbWAcqGGSaalcqaIXaqmaeqaaOGaeyypa0JaeGymaeJaeiilaWcaaaaa@73A1@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where 1 &#8804; <it>j </it>&#8804; <it>m + </it>1. If an <it>e</it><sub><it>k</it>, <it>j </it></sub>becomes true because the constraint <it>h</it><sub><it>k</it>, <it>j </it></sub>&lt;<it>h</it><sub><it>k</it>+1, <it>j </it></sub>is satisfied, it is not necessary to compare <it>h</it><sub><it>k</it>, <it>j</it>' </sub>to <it>h</it><sub><it>k</it>+1, <it>j</it>'</sub>, where <it>j' </it>&lt;<it>j</it>. We must, however, ensure that <it>h</it><sub><it>k</it>, <it>j' </it></sub>&#8804; <it>h</it><sub><it>k</it>+1, <it>j'</it></sub>, where <it>j' </it>> <it>j</it>. Then, the model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M20">(&#172;<it>h</it><sub><it>k</it>, <it>j </it></sub>&#8744; <it>h</it><sub><it>k</it>+1, <it>j </it></sub>&#8744; <it>e</it><sub><it>k</it>, <it>j</it></sub>),</display-formula>
            </p>
            <p>where 1 &#8804; <it>j </it>&#8804; <it>m</it>. If an assignment can be found such that all clauses in Formulas 19 &#8211; 20 are true, where 1 &#8804; <it>k </it>&#8804; <it>r </it>- 1, the haplotypes are in lexicographical order.</p>
         </sec>
         <sec>
            <st>
               <p>Constraints for breaking symmetries in genotypes</p>
            </st>
            <p>Haplotypes that infer a genotype can be lexicographically ordered in a way similar to the set of <it>r </it>explaining haplotypes <abbrgrp><abbr bid="B7">7</abbr><abbr bid="B8">8</abbr></abbrgrp>. The <it>l</it><sup><it>th </it></sup>haplotype inferring an unphased genotype <it>i </it>is marked by a binary variable <inline-formula><m:math name="1471-2164-9-356-i50" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaaaaa@326C@</m:annotation></m:semantics></m:math></inline-formula>. The sum <inline-formula><m:math name="1471-2164-9-356-i51" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mstyle displaystyle="true"><m:msubsup><m:mo>&#8721;</m:mo><m:mrow><m:mi>k</m:mi><m:mo>=</m:mo><m:mn>0</m:mn></m:mrow><m:mi>r</m:mi></m:msubsup><m:mrow><m:msubsup><m:mi>s</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow></m:mstyle></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWaaabmaeaacqWGZbWCdaqhaaWcbaGaem4AaSMaeiilaWIaemyAaKgabaGaemiBaWgaaaqaaiabdUgaRjabg2da9iabicdaWaqaaiabdkhaYbqdcqGHris5aaaa@3923@</m:annotation></m:semantics></m:math></inline-formula> is constrained to equal 1 so that exactly one haplotype is selected for explaining the <it>l</it><sup><it>th </it></sup>row of <it>g</it><sub><it>i</it></sub>. In contrast to the most parsimonious set of explaining haplotypes, the selection variables have to be ordered non-strict lexicographically since homozygous genotypes can not be explained by sets of pairwise distinct haplotypes.</p>
            <p>As a result, the <it>p </it>selection vectors of each genotype <it>g</it><sub><it>i </it></sub>can be ordered lexicographically by constraining the vectors by <inline-formula><m:math name="1471-2164-9-356-i52" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mi>i</m:mi><m:mn>1</m:mn></m:msubsup><m:mo>&#8804;</m:mo><m:msubsup><m:mi>s</m:mi><m:mi>i</m:mi><m:mn>2</m:mn></m:msubsup><m:mo>&#8804;</m:mo><m:mo>&#8230;</m:mo><m:mo>&#8804;</m:mo><m:msubsup><m:mi>s</m:mi><m:mi>i</m:mi><m:mrow><m:mi>p</m:mi><m:mo>&#8722;</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup><m:mo>&#8804;</m:mo><m:msubsup><m:mi>s</m:mi><m:mi>i</m:mi><m:mi>p</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiabdMgaPbqaaiabigdaXaaakiabgsMiJkabdohaZnaaDaaaleaacqWGPbqAaeaacqaIYaGmaaGccqGHKjYOcqWIMaYscqGHKjYOcqWGZbWCdaqhaaWcbaGaemyAaKgabaGaemiCaaNaeyOeI0IaeGymaedaaOGaeyizImQaem4Cam3aa0baaSqaaiabdMgaPbqaaiabdchaWbaaaaa@4656@</m:annotation></m:semantics></m:math></inline-formula><abbrgrp><abbr bid="B7">7</abbr><abbr bid="B8">8</abbr></abbrgrp>. For this purpose, the constraints of ordering the haplotypes are reused and slightly changed. New variables <inline-formula><m:math name="1471-2164-9-356-i53" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>f</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOzay2aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaaaaa@3252@</m:annotation></m:semantics></m:math></inline-formula> have to be introduced, which record the value of <inline-formula><m:math name="1471-2164-9-356-i54" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup><m:mo>&lt;</m:mo><m:msubsup><m:mi>s</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>+</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaakiabgYda8iabdohaZnaaDaaaleaacqWGRbWAcqGGSaalcqWGPbqAaeaacqWGSbaBcqGHRaWkcqaIXaqmaaaaaa@3BE3@</m:annotation></m:semantics></m:math></inline-formula>. Then, the model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M21">
                  <m:math name="1471-2164-9-356-i55" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable columnalign="left">
                              <m:mtr columnalign="left">
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:mo>&#172;</m:mo>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:mi>r</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                       <m:mo>&#8743;</m:mo>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:mi>r</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mrow>
                                             <m:mi>l</m:mi>
                                             <m:mo>+</m:mo>
                                             <m:mn>1</m:mn>
                                          </m:mrow>
                                       </m:msubsup>
                                       <m:mo stretchy="false">)</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mo>&#8660;</m:mo>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:msubsup>
                                          <m:mi>f</m:mi>
                                          <m:mrow>
                                             <m:mi>r</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr columnalign="left">
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:mrow>
                                          <m:mo>(</m:mo>
                                          <m:mrow>
                                             <m:mo stretchy="false">(</m:mo>
                                             <m:mo>&#172;</m:mo>
                                             <m:msubsup>
                                                <m:mi>s</m:mi>
                                                <m:mrow>
                                                   <m:mi>k</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mi>i</m:mi>
                                                </m:mrow>
                                                <m:mi>l</m:mi>
                                             </m:msubsup>
                                             <m:mo>&#8743;</m:mo>
                                             <m:msubsup>
                                                <m:mi>s</m:mi>
                                                <m:mrow>
                                                   <m:mi>k</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mi>i</m:mi>
                                                </m:mrow>
                                                <m:mrow>
                                                   <m:mi>l</m:mi>
                                                   <m:mo>+</m:mo>
                                                   <m:mn>1</m:mn>
                                                </m:mrow>
                                             </m:msubsup>
                                             <m:mo stretchy="false">)</m:mo>
                                             <m:mo>&#8744;</m:mo>
                                             <m:msubsup>
                                                <m:mi>f</m:mi>
                                                <m:mrow>
                                                   <m:mi>k</m:mi>
                                                   <m:mo>+</m:mo>
                                                   <m:mn>1</m:mn>
                                                   <m:mo>,</m:mo>
                                                   <m:mi>i</m:mi>
                                                </m:mrow>
                                                <m:mi>l</m:mi>
                                             </m:msubsup>
                                          </m:mrow>
                                          <m:mo>)</m:mo>
                                       </m:mrow>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mo>&#8660;</m:mo>
                                 </m:mtd>
                                 <m:mtd columnalign="left">
                                    <m:mrow>
                                       <m:msubsup>
                                          <m:mi>f</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mi>i</m:mi>
                                          </m:mrow>
                                          <m:mi>l</m:mi>
                                       </m:msubsup>
                                       <m:mo>,</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeaabiWaaaqaaiabcIcaOiabgYkaylabdohaZnaaDaaaleaacqWGYbGCcqGGSaalcqWGPbqAaeaacqWGSbaBaaGccqGHNis2cqWGZbWCdaqhaaWcbaGaemOCaiNaeiilaWIaemyAaKgabaGaemiBaWMaey4kaSIaeGymaedaaOGaeiykaKcabaGaeyi1HSnabaGaemOzay2aa0baaSqaaiabdkhaYjabcYcaSiabdMgaPbqaaiabdYgaSbaakiabgEIizdqaamaabmaabaGaeiikaGIaeyiRaGTaem4Cam3aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaakiabgEIizlabdohaZnaaDaaaleaacqWGRbWAcqGGSaalcqWGPbqAaeaacqWGSbaBcqGHRaWkcqaIXaqmaaGccqGGPaqkcqGHOiI2cqWGMbGzdaqhaaWcbaGaem4AaSMaey4kaSIaeGymaeJaeiilaWIaemyAaKgabaGaemiBaWgaaaGccaGLOaGaayzkaaaabaGaeyi1HSnabaGaemOzay2aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaakiabcYcaSaaaaaa@754D@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where 1 &#8804; <it>k </it>&#8804; <it>r </it>+ 1. If an <inline-formula><m:math name="1471-2164-9-356-i53" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>f</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOzay2aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaaaaa@3252@</m:annotation></m:semantics></m:math></inline-formula> becomes true because the constraint <inline-formula><m:math name="1471-2164-9-356-i54" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup><m:mo>&lt;</m:mo><m:msubsup><m:mi>s</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>+</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaakiabgYda8iabdohaZnaaDaaaleaacqWGRbWAcqGGSaalcqWGPbqAaeaacqWGSbaBcqGHRaWkcqaIXaqmaaaaaa@3BE3@</m:annotation></m:semantics></m:math></inline-formula> is satisfied, it is not necessary to compare <inline-formula><m:math name="1471-2164-9-356-i56" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mrow><m:msup><m:mi>k</m:mi><m:mo>&#8242;</m:mo></m:msup><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiqbdUgaRzaafaGaeiilaWIaemyAaKgabaGaemiBaWgaaaaa@3278@</m:annotation></m:semantics></m:math></inline-formula> to <inline-formula><m:math name="1471-2164-9-356-i57" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mrow><m:msup><m:mi>k</m:mi><m:mo>&#8242;</m:mo></m:msup><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>+</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiqbdUgaRzaafaGaeiilaWIaemyAaKgabaGaemiBaWMaey4kaSIaeGymaedaaaaa@344A@</m:annotation></m:semantics></m:math></inline-formula>, where <it>k</it>' &lt;<it>k</it>. We must, however, ensure that <inline-formula><m:math name="1471-2164-9-356-i58" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mrow><m:msup><m:mi>k</m:mi><m:mo>&#8242;</m:mo></m:msup><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup><m:mo>&#8804;</m:mo><m:msubsup><m:mi>s</m:mi><m:mrow><m:msup><m:mi>k</m:mi><m:mo>&#8242;</m:mo></m:msup><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>+</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiqbdUgaRzaafaGaeiilaWIaemyAaKgabaGaemiBaWgaaOGaeyizImQaem4Cam3aa0baaSqaaiqbdUgaRzaafaGaeiilaWIaemyAaKgabaGaemiBaWMaey4kaSIaeGymaedaaaaa@3CAC@</m:annotation></m:semantics></m:math></inline-formula>, where <it>k</it>' > <it>k</it>. Then, the model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M22">
                  <m:math name="1471-2164-9-356-i59" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mo stretchy="false">(</m:mo>
                           <m:mo>&#172;</m:mo>
                           <m:msubsup>
                              <m:mi>s</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>i</m:mi>
                              </m:mrow>
                              <m:mi>l</m:mi>
                           </m:msubsup>
                           <m:mo>&#8744;</m:mo>
                           <m:msubsup>
                              <m:mi>s</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>i</m:mi>
                              </m:mrow>
                              <m:mrow>
                                 <m:mi>l</m:mi>
                                 <m:mo>+</m:mo>
                                 <m:mn>1</m:mn>
                              </m:mrow>
                           </m:msubsup>
                           <m:mo>&#8744;</m:mo>
                           <m:msubsup>
                              <m:mi>f</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>i</m:mi>
                              </m:mrow>
                              <m:mi>l</m:mi>
                           </m:msubsup>
                           <m:mo stretchy="false">)</m:mo>
                           <m:mo>,</m:mo>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeiikaGIaeyiRaGTaem4Cam3aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaakiabgIIiAlabdohaZnaaDaaaleaacqWGRbWAcqGGSaalcqWGPbqAaeaacqWGSbaBcqGHRaWkcqaIXaqmaaGccqGHOiI2cqWGMbGzdaqhaaWcbaGaem4AaSMaeiilaWIaemyAaKgabaGaemiBaWgaaOGaeiykaKIaeiilaWcaaa@49C0@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where 1 &#8804; <it>k </it>&#8804; <it>r</it>. Because it is almost the formulation of a strict lexicographic order, except that the variable <inline-formula><m:math name="1471-2164-9-356-i60" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>f</m:mi><m:mrow><m:mn>1</m:mn><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOzay2aa0baaSqaaiabigdaXiabcYcaSiabdMgaPbqaaiabdYgaSbaaaaa@31E3@</m:annotation></m:semantics></m:math></inline-formula> does not have to be true, it has to be relaxed to become a non-strict order. This can be done by formulating the constraints for either vector <inline-formula><m:math name="1471-2164-9-356-i61" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mi>i</m:mi><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiabdMgaPbqaaiabdYgaSbaaaaa@302D@</m:annotation></m:semantics></m:math></inline-formula> is strict smaller than vector <inline-formula><m:math name="1471-2164-9-356-i62" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mi>i</m:mi><m:mrow><m:mi>l</m:mi><m:mo>+</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiabdMgaPbqaaiabdYgaSjabgUcaRiabigdaXaaaaaa@31FF@</m:annotation></m:semantics></m:math></inline-formula> or both vectors are equal.</p>
            <p>Finally, the model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M23">
                  <m:math name="1471-2164-9-356-i63" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mo stretchy="false">(</m:mo>
                           <m:msubsup>
                              <m:mi>s</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>i</m:mi>
                              </m:mrow>
                              <m:mi>l</m:mi>
                           </m:msubsup>
                           <m:mo>&#8660;</m:mo>
                           <m:msubsup>
                              <m:mi>s</m:mi>
                              <m:mrow>
                                 <m:mi>k</m:mi>
                                 <m:mo>,</m:mo>
                                 <m:mi>i</m:mi>
                              </m:mrow>
                              <m:mrow>
                                 <m:mi>l</m:mi>
                                 <m:mo>+</m:mo>
                                 <m:mn>1</m:mn>
                              </m:mrow>
                           </m:msubsup>
                           <m:mo stretchy="false">)</m:mo>
                           <m:mo>&#8744;</m:mo>
                           <m:msubsup>
                              <m:mi>f</m:mi>
                              <m:mrow>
                                 <m:mn>1</m:mn>
                                 <m:mo>,</m:mo>
                                 <m:mi>i</m:mi>
                              </m:mrow>
                              <m:mi>l</m:mi>
                           </m:msubsup>
                           <m:mo>,</m:mo>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeiikaGIaem4Cam3aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaakiabgsDiBlabdohaZnaaDaaaleaacqWGRbWAcqGGSaalcqWGPbqAaeaacqWGSbaBcqGHRaWkcqaIXaqmaaGccqGGPaqkcqGHOiI2cqWGMbGzdaqhaaWcbaGaeGymaeJaeiilaWIaemyAaKgabaGaemiBaWgaaOGaeiilaWcaaa@47ED@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where 1 &#8804; <it>k </it>&#8804; <it>r</it>. If an assignment can be found for which all clauses in Formulas 21 &#8211; 23 are true, where 1 &#8804; <it>l </it>&#8804; <it>p </it>- 1, the selection variables of genotype <it>g</it><sub><it>i </it></sub>are in non-strict lexicographic order.</p>
         </sec>
         <sec>
            <st>
               <p>Constraints for alternative most parsimonious sets of haplotypes</p>
            </st>
            <p>There can be several most parsimonious sets of haplotypes which differ slightly and yet can explain the unphased genotype data. Call <inline-formula><m:math name="1471-2164-9-356-i64" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>H</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mtext>i</m:mtext></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemisaG0aa0baaSqaaiabdUgaRjabcYcaSiabdQgaQbqaaiabbMgaPbaaaaa@3210@</m:annotation></m:semantics></m:math></inline-formula> the set of previously found binary assignments to <it>h</it><sub><it>k</it>, <it>j</it></sub>, where 1 &#8804; i &#8804; <it>N</it><sub><it>alt </it></sub>and <it>N</it><sub><it>alt </it></sub>is the number of previously found inferences. Constraints for alternative most parsimonious sets of haplotypes can be easily formulated by the exclusion of previously found sets. Then, the model requires that the following is satisfied:</p>
            <p>
               <display-formula id="M24">
                  <m:math name="1471-2164-9-356-i65" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:mrow>
                                          <m:mo>(</m:mo>
                                          <m:mrow>
                                             <m:mi>b</m:mi>
                                             <m:mo stretchy="false">(</m:mo>
                                             <m:msub>
                                                <m:mi>h</m:mi>
                                                <m:mrow>
                                                   <m:mi>k</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>1</m:mn>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>,</m:mo>
                                             <m:msubsup>
                                                <m:mi>H</m:mi>
                                                <m:mrow>
                                                   <m:mi>k</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>1</m:mn>
                                                </m:mrow>
                                                <m:mtext>i</m:mtext>
                                             </m:msubsup>
                                             <m:mo stretchy="false">)</m:mo>
                                             <m:mo>&#8743;</m:mo>
                                          </m:mrow>
                                       </m:mrow>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mi>b</m:mi>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:msub>
                                          <m:mi>h</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mn>2</m:mn>
                                          </m:mrow>
                                       </m:msub>
                                       <m:mo>,</m:mo>
                                       <m:msubsup>
                                          <m:mi>H</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mn>2</m:mn>
                                          </m:mrow>
                                          <m:mtext>i</m:mtext>
                                       </m:msubsup>
                                       <m:mo stretchy="false">)</m:mo>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mo>&#8942;</m:mo>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mrow>
                                          <m:mrow>
                                             <m:mi>b</m:mi>
                                             <m:mo stretchy="false">(</m:mo>
                                             <m:msub>
                                                <m:mi>h</m:mi>
                                                <m:mrow>
                                                   <m:mi>k</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mi>m</m:mi>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>,</m:mo>
                                             <m:msubsup>
                                                <m:mi>H</m:mi>
                                                <m:mrow>
                                                   <m:mi>k</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mi>m</m:mi>
                                                </m:mrow>
                                                <m:mtext>i</m:mtext>
                                             </m:msubsup>
                                             <m:mo stretchy="false">)</m:mo>
                                          </m:mrow>
                                          <m:mo>)</m:mo>
                                       </m:mrow>
                                       <m:mo>,</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeqabqqaaaaabaGaeyiRaG9aaeqaaeaacqWGIbGycqGGOaakcqWGObaAdaWgaaWcbaGaem4AaSMaeiilaWIaeGymaedabeaakiabcYcaSiabdIeainaaDaaaleaacqWGRbWAcqGGSaalcqaIXaqmaeaacqqGPbqAaaGccqGGPaqkcqGHNis2aiaawIcaaaqaaiabdkgaIjabcIcaOiabdIgaOnaaBaaaleaacqWGRbWAcqGGSaalcqaIYaGmaeqaaOGaeiilaWIaemisaG0aa0baaSqaaiabdUgaRjabcYcaSiabikdaYaqaaiabbMgaPbaakiabcMcaPiabgEIizdqaaiabl6UinbqaamaabiaabaGaemOyaiMaeiikaGIaemiAaG2aaSbaaSqaaiabdUgaRjabcYcaSiabd2gaTbqabaGccqGGSaalcqWGibasdaqhaaWcbaGaem4AaSMaeiilaWIaemyBa0gabaGaeeyAaKgaaOGaeiykaKcacaGLPaaacqGGSaalaaaaaa@6245@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where 1 &#8804; <it>k </it>&#8804; <it>r </it>and 1 &#8804; i &#8804; <it>N</it><sub><it>alt</it></sub>. Application of De Morgan's laws to Formula 24 results in Formula 25:</p>
            <p>
               <display-formula id="M25">
                  <m:math name="1471-2164-9-356-i66" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mrow>
                                          <m:mo>(</m:mo>
                                          <m:mrow>
                                             <m:mo>&#172;</m:mo>
                                             <m:mi>b</m:mi>
                                             <m:mo stretchy="false">(</m:mo>
                                             <m:msub>
                                                <m:mi>h</m:mi>
                                                <m:mrow>
                                                   <m:mi>k</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>1</m:mn>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>,</m:mo>
                                             <m:msubsup>
                                                <m:mi>H</m:mi>
                                                <m:mrow>
                                                   <m:mi>k</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>1</m:mn>
                                                </m:mrow>
                                                <m:mtext>i</m:mtext>
                                             </m:msubsup>
                                             <m:mo stretchy="false">)</m:mo>
                                             <m:mo>&#8744;</m:mo>
                                          </m:mrow>
                                       </m:mrow>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:mi>b</m:mi>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:msub>
                                          <m:mi>h</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mn>2</m:mn>
                                          </m:mrow>
                                       </m:msub>
                                       <m:mo>,</m:mo>
                                       <m:msubsup>
                                          <m:mi>H</m:mi>
                                          <m:mrow>
                                             <m:mi>k</m:mi>
                                             <m:mo>,</m:mo>
                                             <m:mn>2</m:mn>
                                          </m:mrow>
                                          <m:mtext>i</m:mtext>
                                       </m:msubsup>
                                       <m:mo stretchy="false">)</m:mo>
                                       <m:mo>&#8744;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mo>&#8942;</m:mo>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mrow>
                                          <m:mrow>
                                             <m:mo>&#172;</m:mo>
                                             <m:mi>b</m:mi>
                                             <m:mo stretchy="false">(</m:mo>
                                             <m:msub>
                                                <m:mi>h</m:mi>
                                                <m:mrow>
                                                   <m:mi>k</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mi>m</m:mi>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>,</m:mo>
                                             <m:msubsup>
                                                <m:mi>H</m:mi>
                                                <m:mrow>
                                                   <m:mi>k</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mi>m</m:mi>
                                                </m:mrow>
                                                <m:mtext>i</m:mtext>
                                             </m:msubsup>
                                             <m:mo stretchy="false">)</m:mo>
                                          </m:mrow>
                                          <m:mo>)</m:mo>
                                       </m:mrow>
                                       <m:mo>,</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeqabqqaaaaabaWaaeqaaeaacqGHSca2cqWGIbGycqGGOaakcqWGObaAdaWgaaWcbaGaem4AaSMaeiilaWIaeGymaedabeaakiabcYcaSiabdIeainaaDaaaleaacqWGRbWAcqGGSaalcqaIXaqmaeaacqqGPbqAaaGccqGGPaqkcqGHOiI2aiaawIcaaaqaaiabgYkaylabdkgaIjabcIcaOiabdIgaOnaaBaaaleaacqWGRbWAcqGGSaalcqaIYaGmaeqaaOGaeiilaWIaemisaG0aa0baaSqaaiabdUgaRjabcYcaSiabikdaYaqaaiabbMgaPbaakiabcMcaPiabgIIiAdqaaiabl6UinbqaamaabiaabaGaeyiRaGTaemOyaiMaeiikaGIaemiAaG2aaSbaaSqaaiabdUgaRjabcYcaSiabd2gaTbqabaGccqGGSaalcqWGibasdaqhaaWcbaGaem4AaSMaeiilaWIaemyBa0gabaGaeeyAaKgaaOGaeiykaKcacaGLPaaacqGGSaalaaaaaa@6669@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>A nice feature of constraining alternative haplotype inferences is that Formula 25 is automatically in CNF.</p>
         </sec>
         <sec>
            <st>
               <p>Constraints for alternative genotype inferences</p>
            </st>
            <p>Given <it>p </it>explaining haplotypes, there can also be alternative inferences of genotypes. Constraints of alternative genotype inferences are given similarly to the constraints of alternative haplotype inferences. Call <inline-formula><m:math name="1471-2164-9-356-i67" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>S</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:mtext>j</m:mtext></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4uam1aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSjabcYcaSiabbQgaQbaaaaa@3467@</m:annotation></m:semantics></m:math></inline-formula> the set of previously found binary assignments to the selection variables <inline-formula><m:math name="1471-2164-9-356-i50" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaaaaa@326C@</m:annotation></m:semantics></m:math></inline-formula> of genotype <it>i</it>, where 1 &#8804; j &#8804; <it>M</it><sub><it>alt </it></sub>and <it>M</it><sub><it>alt </it></sub>is the number of previously found inferences. Now consider only one previously found assignment to the selection variables of genotype <it>i </it>with <inline-formula><m:math name="1471-2164-9-356-i68" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>S</m:mi><m:mrow><m:msub><m:mi>k</m:mi><m:mrow><m:mn>1</m:mn><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow></m:msub><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mn>1</m:mn></m:msubsup><m:mo>=</m:mo><m:mn>1</m:mn><m:mo>,</m:mo><m:mn>...</m:mn><m:mo>,</m:mo><m:msubsup><m:mi>S</m:mi><m:mrow><m:msub><m:mi>k</m:mi><m:mrow><m:mi>p</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow></m:msub><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>p</m:mi></m:msubsup><m:mo>=</m:mo><m:mn>1</m:mn></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4uam1aa0baaSqaaiabdUgaRnaaBaaameaacqaIXaqmcqGGSaalcqWGPbqAaeqaaSGaeiilaWIaemyAaKgabaGaeGymaedaaOGaeyypa0JaeGymaeJaeiilaWIaeiOla4IaeiOla4IaeiOla4IaeiilaWIaem4uam1aa0baaSqaaiabdUgaRnaaBaaameaacqWGWbaCcqGGSaalcqWGPbqAaeqaaSGaeiilaWIaemyAaKgabaGaemiCaahaaOGaeyypa0JaeGymaedaaa@47C5@</m:annotation></m:semantics></m:math></inline-formula>. Since it is sufficient to constrain selection variables to 0, which were set to 1 in a previously computed inference, the already found explanations of all unphased genotypes are excluded by:</p>
            <p>
               <display-formula id="M26">
                  <m:math name="1471-2164-9-356-i69" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:mrow>
                                          <m:mo>(</m:mo>
                                          <m:mrow>
                                             <m:msubsup>
                                                <m:mi>s</m:mi>
                                                <m:mrow>
                                                   <m:msub>
                                                      <m:mi>k</m:mi>
                                                      <m:mrow>
                                                         <m:mn>1</m:mn>
                                                         <m:mo>,</m:mo>
                                                         <m:mn>1</m:mn>
                                                      </m:mrow>
                                                   </m:msub>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>1</m:mn>
                                                </m:mrow>
                                                <m:mn>1</m:mn>
                                             </m:msubsup>
                                          </m:mrow>
                                       </m:mrow>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#8743;</m:mo>
                                       <m:mo>&#8230;</m:mo>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:msub>
                                                <m:mi>k</m:mi>
                                                <m:mrow>
                                                   <m:mi>p</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>1</m:mn>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>,</m:mo>
                                             <m:mn>1</m:mn>
                                          </m:mrow>
                                          <m:mi>p</m:mi>
                                       </m:msubsup>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:msub>
                                                <m:mi>k</m:mi>
                                                <m:mrow>
                                                   <m:mn>1</m:mn>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>2</m:mn>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>,</m:mo>
                                             <m:mn>2</m:mn>
                                          </m:mrow>
                                          <m:mn>1</m:mn>
                                       </m:msubsup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#8743;</m:mo>
                                       <m:mo>&#8230;</m:mo>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:msub>
                                                <m:mi>k</m:mi>
                                                <m:mrow>
                                                   <m:mi>p</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>2</m:mn>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>,</m:mo>
                                             <m:mn>2</m:mn>
                                          </m:mrow>
                                          <m:mi>p</m:mi>
                                       </m:msubsup>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow/>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mo>&#8942;</m:mo>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow/>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:msub>
                                                <m:mi>k</m:mi>
                                                <m:mrow>
                                                   <m:mn>1</m:mn>
                                                   <m:mo>,</m:mo>
                                                   <m:mi>n</m:mi>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>,</m:mo>
                                             <m:mi>n</m:mi>
                                          </m:mrow>
                                          <m:mn>1</m:mn>
                                       </m:msubsup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#8743;</m:mo>
                                       <m:mo>&#8230;</m:mo>
                                       <m:mo>&#8743;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mrow>
                                          <m:mrow>
                                             <m:msubsup>
                                                <m:mi>s</m:mi>
                                                <m:mrow>
                                                   <m:msub>
                                                      <m:mi>k</m:mi>
                                                      <m:mrow>
                                                         <m:mi>p</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>n</m:mi>
                                                      </m:mrow>
                                                   </m:msub>
                                                   <m:mo>,</m:mo>
                                                   <m:mi>n</m:mi>
                                                </m:mrow>
                                                <m:mi>p</m:mi>
                                             </m:msubsup>
                                          </m:mrow>
                                          <m:mo>)</m:mo>
                                       </m:mrow>
                                       <m:mo>.</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeqabqWaaaaabaGaeyiRaG9aaeqaaeaacqWGZbWCdaqhaaWcbaGaem4AaS2aaSbaaWqaaiabigdaXiabcYcaSiabigdaXaqabaWccqGGSaalcqaIXaqmaeaacqaIXaqmaaaakiaawIcaaaqaaiabgEIizlablAciljabgEIizdqaaiabdohaZnaaDaaaleaacqWGRbWAdaWgaaadbaGaemiCaaNaeiilaWIaeGymaedabeaaliabcYcaSiabigdaXaqaaiabdchaWbaakiabgEIizdqaaiabdohaZnaaDaaaleaacqWGRbWAdaWgaaadbaGaeGymaeJaeiilaWIaeGOmaidabeaaliabcYcaSiabikdaYaqaaiabigdaXaaaaOqaaiabgEIizlablAciljabgEIizdqaaiabdohaZnaaDaaaleaacqWGRbWAdaWgaaadbaGaemiCaaNaeiilaWIaeGOmaidabeaaliabcYcaSiabikdaYaqaaiabdchaWbaakiabgEIizdqaaaqaaiabl6UinbqaaaqaaiabdohaZnaaDaaaleaacqWGRbWAdaWgaaadbaGaeGymaeJaeiilaWIaemOBa4gabeaaliabcYcaSiabd6gaUbqaaiabigdaXaaaaOqaaiabgEIizlablAciljabgEIizdqaamaabiaabaGaem4Cam3aa0baaSqaaiabdUgaRnaaBaaameaacqWGWbaCcqGGSaalcqWGUbGBaeqaaSGaeiilaWIaemOBa4gabaGaemiCaahaaaGccaGLPaaacqGGUaGlaaaaaa@7CA4@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>Application of De Morgan's laws to Formula 26 results in Formula 27:</p>
            <p>
               <display-formula id="M27">
                  <m:math name="1471-2164-9-356-i70" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mtable>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mrow>
                                          <m:mo>(</m:mo>
                                          <m:mrow>
                                             <m:mo>&#172;</m:mo>
                                             <m:msubsup>
                                                <m:mi>s</m:mi>
                                                <m:mrow>
                                                   <m:msub>
                                                      <m:mi>k</m:mi>
                                                      <m:mrow>
                                                         <m:mn>1</m:mn>
                                                         <m:mo>,</m:mo>
                                                         <m:mn>1</m:mn>
                                                      </m:mrow>
                                                   </m:msub>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>1</m:mn>
                                                </m:mrow>
                                                <m:mn>1</m:mn>
                                             </m:msubsup>
                                          </m:mrow>
                                       </m:mrow>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#8744;</m:mo>
                                       <m:mo>&#8230;</m:mo>
                                       <m:mo>&#8744;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:msub>
                                                <m:mi>k</m:mi>
                                                <m:mrow>
                                                   <m:mi>p</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>1</m:mn>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>,</m:mo>
                                             <m:mn>1</m:mn>
                                          </m:mrow>
                                          <m:mi>p</m:mi>
                                       </m:msubsup>
                                       <m:mo>&#8744;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:msub>
                                                <m:mi>k</m:mi>
                                                <m:mrow>
                                                   <m:mn>1</m:mn>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>2</m:mn>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>,</m:mo>
                                             <m:mn>2</m:mn>
                                          </m:mrow>
                                          <m:mn>1</m:mn>
                                       </m:msubsup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#8744;</m:mo>
                                       <m:mo>&#8230;</m:mo>
                                       <m:mo>&#8744;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:msub>
                                                <m:mi>k</m:mi>
                                                <m:mrow>
                                                   <m:mi>p</m:mi>
                                                   <m:mo>,</m:mo>
                                                   <m:mn>2</m:mn>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>,</m:mo>
                                             <m:mn>2</m:mn>
                                          </m:mrow>
                                          <m:mi>p</m:mi>
                                       </m:msubsup>
                                       <m:mo>&#8744;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow/>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mo>&#8942;</m:mo>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow/>
                                 </m:mtd>
                              </m:mtr>
                              <m:mtr>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#172;</m:mo>
                                       <m:msubsup>
                                          <m:mi>s</m:mi>
                                          <m:mrow>
                                             <m:msub>
                                                <m:mi>k</m:mi>
                                                <m:mrow>
                                                   <m:mn>1</m:mn>
                                                   <m:mo>,</m:mo>
                                                   <m:mi>n</m:mi>
                                                </m:mrow>
                                             </m:msub>
                                             <m:mo>,</m:mo>
                                             <m:mi>n</m:mi>
                                          </m:mrow>
                                          <m:mn>1</m:mn>
                                       </m:msubsup>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mo>&#8744;</m:mo>
                                       <m:mo>&#8230;</m:mo>
                                       <m:mo>&#8744;</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                                 <m:mtd>
                                    <m:mrow>
                                       <m:mrow>
                                          <m:mrow>
                                             <m:mo>&#172;</m:mo>
                                             <m:msubsup>
                                                <m:mi>s</m:mi>
                                                <m:mrow>
                                                   <m:msub>
                                                      <m:mi>k</m:mi>
                                                      <m:mrow>
                                                         <m:mi>p</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:mi>n</m:mi>
                                                      </m:mrow>
                                                   </m:msub>
                                                   <m:mo>,</m:mo>
                                                   <m:mi>n</m:mi>
                                                </m:mrow>
                                                <m:mi>p</m:mi>
                                             </m:msubsup>
                                          </m:mrow>
                                          <m:mo>)</m:mo>
                                       </m:mrow>
                                       <m:mo>.</m:mo>
                                    </m:mrow>
                                 </m:mtd>
                              </m:mtr>
                           </m:mtable>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeqabqWaaaaabaWaaeqaaeaacqGHSca2cqWGZbWCdaqhaaWcbaGaem4AaS2aaSbaaWqaaiabigdaXiabcYcaSiabigdaXaqabaWccqGGSaalcqaIXaqmaeaacqaIXaqmaaaakiaawIcaaaqaaiabgIIiAlablAciljabgIIiAdqaaiabgYkaylabdohaZnaaDaaaleaacqWGRbWAdaWgaaadbaGaemiCaaNaeiilaWIaeGymaedabeaaliabcYcaSiabigdaXaqaaiabdchaWbaakiabgIIiAdqaaiabgYkaylabdohaZnaaDaaaleaacqWGRbWAdaWgaaadbaGaeGymaeJaeiilaWIaeGOmaidabeaaliabcYcaSiabikdaYaqaaiabigdaXaaaaOqaaiabgIIiAlablAciljabgIIiAdqaaiabgYkaylabdohaZnaaDaaaleaacqWGRbWAdaWgaaadbaGaemiCaaNaeiilaWIaeGOmaidabeaaliabcYcaSiabikdaYaqaaiabdchaWbaakiabgIIiAdqaaaqaaiabl6UinbqaaaqaaiabgYkaylabdohaZnaaDaaaleaacqWGRbWAdaWgaaadbaGaeGymaeJaeiilaWIaemOBa4gabeaaliabcYcaSiabd6gaUbqaaiabigdaXaaaaOqaaiabgIIiAlablAciljabgIIiAdqaamaabiaabaGaeyiRaGTaem4Cam3aa0baaSqaaiabdUgaRnaaBaaameaacqWGWbaCcqGGSaalcqWGUbGBaeqaaSGaeiilaWIaemOBa4gabaGaemiCaahaaaGccaGLPaaacqGGUaGlaaaaaa@8704@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>Formula 27 is in CNF and no reformulation is necessary. Such clauses have to be given for each previously found genotype inference j.</p>
            <p>For constraining alternative genotype inferences, it is very important that genotype symmetries are broken as shown in Section "Constraints for breaking symmetries in genotypes". If symmetries are not broken, and if an assignment to the <inline-formula><m:math name="1471-2164-9-356-i50" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mrow><m:mi>k</m:mi><m:mo>,</m:mo><m:mi>i</m:mi></m:mrow><m:mi>l</m:mi></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiabdUgaRjabcYcaSiabdMgaPbqaaiabdYgaSbaaaaa@326C@</m:annotation></m:semantics></m:math></inline-formula> variables is excluded for a given unphased genotype <it>g</it><sub><it>i</it></sub>, the SAT solver can still report an assignment that represents a permutation of the excluded assignment. For instance, vector <inline-formula><m:math name="1471-2164-9-356-i71" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mi>i</m:mi><m:mrow><m:msub><m:mi>l</m:mi><m:mn>1</m:mn></m:msub></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiabdMgaPbqaaiabdYgaSnaaBaaameaacqaIXaqmaeqaaaaaaaa@314A@</m:annotation></m:semantics></m:math></inline-formula> with length <it>r </it>is exchanged by vector <inline-formula><m:math name="1471-2164-9-356-i72" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>s</m:mi><m:mi>i</m:mi><m:mrow><m:msub><m:mi>l</m:mi><m:mn>2</m:mn></m:msub></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4Cam3aa0baaSqaaiabdMgaPbqaaiabdYgaSnaaBaaameaacqaIYaGmaeqaaaaaaaa@314C@</m:annotation></m:semantics></m:math></inline-formula> with length <it>r</it>.</p>
            <p>Note that the number of alternative genotype inferences is equal to or greater than the number of alternative most parsimonious sets of haplotypes, since each alternative set of haplotypes defines at least one inference of genotypes. As a result, we do not calculate complete alternative genotype inferences in this study. Instead, we introduce an optimisation method for genotypes, based on explaining haplotypes and bootstrapping (see Section "Bootstrapping" and Section "Optimisation of genotypes").</p>
         </sec>
         <sec>
            <st>
               <p>Bootstrapping</p>
            </st>
            <p>All possible minimal inferences are treated equally by the SAT approach. It is unlikely that the first haplotype inference found is the most probable one under the assumed model and given data. It is also unlikely that the first haplotype inference is the inference with fewest differences compared to the real data. The question which haplotype inference should be taken for further analysis remains. There must be one or more inferences which are supported better by the input data. To introduce a quality measurement of the haplotypes and alternative inferences which have been calculated, a bootstrapping procedure is introduced as follows. Bootstrapping is widely used (e.g. in phylogenetic reconstruction <abbrgrp><abbr bid="B18">18</abbr></abbrgrp>) for estimating properties of an estimator. Those properties are measured when sampling from an approximate distribution. One standard choice for an approximate distribution is the empirical distribution of the observed data. To use the bootstrap to assess the uncertainty of estimates of the phased genotypes, the data should be a series of independently sampled points. Here, we assume that haplotypes are drawn independently from a most parsimonious set of explaining haplotypes which is the base of the population of genotypes. Thus, the independently drawn haplotypes satisfy the independence assumptions of the bootstrap method.</p>
            <p>From a set <inline-formula><m:math name="1471-2164-9-356-i2" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mi mathvariant="script">G</m:mi><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGae8NbXFeaaa@3755@</m:annotation></m:semantics></m:math></inline-formula> of <it>n </it>given unphased genotypes, a new set of <it>n </it>unphased genotypes <inline-formula><m:math name="1471-2164-9-356-i73" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:msup><m:mi mathvariant="script">G</m:mi><m:mo>&#8242;</m:mo></m:msup><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGaf8NbXFKbauaaaaa@3761@</m:annotation></m:semantics></m:math></inline-formula> is sampled by replacement (Figure <figr fid="F6">6</figr>). Sampled sets <inline-formula><m:math name="1471-2164-9-356-i73" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:msup><m:mi mathvariant="script">G</m:mi><m:mo>&#8242;</m:mo></m:msup><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGaf8NbXFKbauaaaaa@3761@</m:annotation></m:semantics></m:math></inline-formula> are inferred as described before, and each haplotype occurring in the inferences of the genotypes is added to a list. If a haplotype does not appear in the list, the haplotype and the number of its occurrences in the phased genotypes (its count) are added to the list. Otherwise, the former count of the haplotype in the list is increased by that number. For one <inline-formula><m:math name="1471-2164-9-356-i73" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:msup><m:mi mathvariant="script">G</m:mi><m:mo>&#8242;</m:mo></m:msup><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWenfgDOvwBHrxAJfwnHbqeg0uy0HwzTfgDPnwy1aaceaGaf8NbXFKbauaaaaa@3761@</m:annotation></m:semantics></m:math></inline-formula>, this procedure is defined as one bootstrap replicate. Thus, the count of a haplotype, which is equivalent to a frequency, reflects its support by the input data and is defined as the haplotype's score. The process is repeated, and after a given number of bootstrap replicates, the corresponding counts of each haplotype occurring in the genotypes of an alternative haplotype inference are summed up. This sum is used to score the alternative haplotype inferences. The inference with the greatest score is assumed to be the one with the greatest support from the input data given the parsimony criterion.</p>
            <fig id="F6">
               <title>
                  <p>Figure 6</p>
               </title>
               <caption>
                  <p>Example of Bootstrapping</p>
               </caption>
               <text>
                  <p><b>Example of Bootstrapping</b>. Panel A shows two different most parsimonious inferences of four genotypes from a tetraploid species. different genotypes are represented by different coloured rings whereas different explaining haplotypes are represented by different coloured circles. In Panel B, the urn symbolises the population from which genotypes are sampled. Three bootstrap replicates are drawn with replacement, the genotypes are inferred, and the occurrences of the different haplotypes are counted (middle). Because of the parsimony criterion, the shown inference of sample 1 and sample 2 are unique. Sample 3 can alternatively be inferred with the green, red and blue haplotypes. The overall number of occurrences of the haplotypes is calculated. Finally, the two most parsimonious inferences are scored by the counts of haplotypes. The inference on the left has score 222 and the inference on the right has score 78. Inference on the left is selected for further analysis.</p>
               </text>
               <graphic file="1471-2164-9-356-6"/>
            </fig>
         </sec>
         <sec>
            <st>
               <p>Optimisation of genotypes</p>
            </st>
            <p>Based on computed alternative most parsimonious sets of haplotypes and bootstrapping scores, an optimisation of the phased genotypes can be computed (Figure <figr fid="F7">7</figr>). For each most parsimonious set of haplotypes the algorithm therefore computes all alternative inferences of each unphased genotype, independent of the others. As mentioned above, this method only works if symmetries in genotypes are broken (if symmetries are not broken, the algorithm also reports genotype inferences that use same sets of haplotypes in different orders). This procedure results in a list of alternative phased genotypes for each original unphased genotype. Using the bootstrapping approach, each computed genotype is scored by the sum of the bootstrapping scores of its contained haplotypes. Alternatively, without bootstrapping, the frequencies of the haplotypes in the phased genotypes of all computed alternative inferences can be used similar to bootstrapping counts. Finally, from the alternative inference list of each genotype the highest scored genotype is selected in order to replace the former genotype in the inference. This forms a new inference of the original data with equal or better scoring.</p>
            <fig id="F7">
               <title>
                  <p>Figure 7</p>
               </title>
               <caption>
                  <p>Example of optimisation</p>
               </caption>
               <text>
                  <p><b>Example of optimisation</b>. Based on computed alternative most parsimonious sets of haplotypes and bootstrapping scores, an optimisation of the phased genotypes is possible. For each most parsimonious set of haplotypes the algorithm therefore computes all alternative inferences of each unphased genotype. One most parsimonious set of explaining haplotypes and corresponding bootstrapping scores of some tetraploid data set are shown in the first table. The first column in the table below shows the unphased genotypes. The other columns contain alternative inferences and bootstrapping scores of the corresponding unphased genotype based on the explaining haplotypes. From the row of each genotype the highest scored phased genotype is selected (red). This forms a new inference of the original data with equal or better scoring.</p>
               </text>
               <graphic file="1471-2164-9-356-7"/>
            </fig>
            <p>The number of all alternative genotype inferences for a given most parsimonious set of haplotypes is the product of the alternative inferences of each genotype. Moreover, the product of the number of alternative genotype inferences from each alternative most parsimonious set of haplotypes is the number of all valid most parsimonious HIPPs.</p>
         </sec>
         <sec>
            <st>
               <p>Calculation of lower and upper bounds</p>
            </st>
            <p>In contrast to integer linear programming formulations of HIPP <abbrgrp><abbr bid="B9">9</abbr><abbr bid="B10">10</abbr></abbrgrp>, the SAT approach is not able to optimise a target function directly. Thus, each possible number of explaining haplotypes has to be tested incrementally starting with <it>r </it>= 1. Methods for the computation of lower and upper bounds <abbrgrp><abbr bid="B7">7</abbr><abbr bid="B19">19</abbr></abbrgrp> can be applied to avoid the iteration until a most parsimonious solution is found. Furthermore, a lower bound can be used for reducing the size of the model <abbrgrp><abbr bid="B7">7</abbr></abbrgrp>. Genotypes which only can be explained by distinct sets of haplotypes are called <it>incompatible</it>. Incompatible genotypes can be used for deriving a lower bound such that the size of the model can be reduced by eliminating <it>s </it>variables and corresponding clauses.</p>
            <p>In the existing version of SATlotyper, the computation of lower and upper bounds is not implemented. It was found empirically that, if the approach is able to find a most parsimonious set of haplotypes in reasonable time, it is also able to prove the unsatisfiability of smaller sets of haplotypes in reasonable time. Nevertheless, it is not clear how large the increase in solvable instances would be if a calculation of lower and upper bounds were used in haplotype inference of polyploids. The computation of upper and lower bounds according to <abbrgrp><abbr bid="B7">7</abbr><abbr bid="B19">19</abbr></abbrgrp> may be added to SATlotyper in future versions.</p>
         </sec>
         <sec>
            <st>
               <p>Comparing inferences with real data</p>
            </st>
            <p>To define a standard for the measurement of an inference of haplotypes and corresponding genotypes, we sum up the differences between genotypes from inference and corresponding genotypes from real data. The number of differences is defined as the distance <it>d </it>between both sets.</p>
            <p>Call <it>G</it><sub><it>i </it></sub>= <inline-formula><m:math name="1471-2164-9-356-i12" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi>h</m:mi><m:mrow><m:msub><m:mi>k</m:mi><m:mn>1</m:mn></m:msub></m:mrow></m:msub><m:mo>,</m:mo><m:mn>...</m:mn><m:mo>,</m:mo><m:msub><m:mi>h</m:mi><m:mrow><m:msub><m:mi>k</m:mi><m:mi>p</m:mi></m:msub></m:mrow></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemiAaG2aaSbaaSqaaiabdUgaRnaaBaaameaacqaIXaqmaeqaaaWcbeaakiabcYcaSiabc6caUiabc6caUiabc6caUiabcYcaSiabdIgaOnaaBaaaleaacqWGRbWAdaWgaaadbaGaemiCaahabeaaaSqabaaaaa@38DC@</m:annotation></m:semantics></m:math></inline-formula> the inference of an unphased genotype by the SAT approach and <inline-formula><m:math name="1471-2164-9-356-i74" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:msup><m:mi>G</m:mi><m:mo>&#8242;</m:mo></m:msup><m:mi>i</m:mi></m:msub><m:mo>=</m:mo><m:mo>{</m:mo><m:msub><m:msup><m:mi>h</m:mi><m:mo>&#8242;</m:mo></m:msup><m:mrow><m:msub><m:msup><m:mi>k</m:mi><m:mo>&#8242;</m:mo></m:msup><m:mn>1</m:mn></m:msub></m:mrow></m:msub><m:mo>,</m:mo><m:mn>...</m:mn><m:mo>,</m:mo><m:msub><m:msup><m:mi>h</m:mi><m:mo>&#8242;</m:mo></m:msup><m:mrow><m:msub><m:msup><m:mi>k</m:mi><m:mo>&#8242;</m:mo></m:msup><m:mi>p</m:mi></m:msub></m:mrow></m:msub><m:mo>}</m:mo></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGafm4raCKbauaadaWgaaWcbaGaemyAaKgabeaakiabg2da9iabcUha7jqbdIgaOzaafaWaaSbaaSqaaiqbdUgaRzaafaWaaSbaaWqaaiabigdaXaqabaaaleqaaOGaeiilaWIaeiOla4IaeiOla4IaeiOla4IaeiilaWIafmiAaGMbauaadaWgaaWcbaGafm4AaSMbauaadaWgaaadbaGaemiCaahabeaaaSqabaGccqGG9bqFaaa@3FD0@</m:annotation></m:semantics></m:math></inline-formula> the real data for instance from simulation. Every haplotype <it>h</it><sub><it>k </it></sub>in the inference has a counterpart <inline-formula><m:math name="1471-2164-9-356-i75" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:msup><m:mi>h</m:mi><m:mo>&#8242;</m:mo></m:msup><m:msup><m:mi>k</m:mi><m:mo>&#8242;</m:mo></m:msup></m:msub></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGafmiAaGMbauaadaWgaaWcbaGafm4AaSMbauaaaeqaaaaa@2ED1@</m:annotation></m:semantics></m:math></inline-formula> in the real data set. The distance is defined recursively as shown in Formula 28 and Formula 29, where <it>d</it><sub><it>ham</it></sub>(<it>h</it><sub><it>k</it></sub>, <it>h'</it><sub><it>k'</it></sub>) is the Hamming distance between <it>h</it><sub><it>k </it></sub>and <it>h'</it><sub><it>k'</it></sub>.</p>
            <p>
               <display-formula id="M28">
                  <m:math name="1471-2164-9-356-i76" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mi>D</m:mi>
                           <m:mo stretchy="false">(</m:mo>
                           <m:mi>G</m:mi>
                           <m:mo>,</m:mo>
                           <m:msup>
                              <m:mi>G</m:mi>
                              <m:mo>&#8242;</m:mo>
                           </m:msup>
                           <m:mo stretchy="false">)</m:mo>
                           <m:mo>=</m:mo>
                           <m:mrow>
                              <m:mo>{</m:mo>
                              <m:mrow>
                                 <m:mtable columnalign="left">
                                    <m:mtr columnalign="left">
                                       <m:mtd columnalign="left">
                                          <m:mrow>
                                             <m:mn>0</m:mn>
                                             <m:mo>,</m:mo>
                                          </m:mrow>
                                       </m:mtd>
                                       <m:mtd columnalign="left">
                                          <m:mrow>
                                             <m:mtable>
                                                <m:mtr>
                                                   <m:mtd>
                                                      <m:mrow>
                                                         <m:mtext>if&#160;</m:mtext>
                                                         <m:mi>G</m:mi>
                                                         <m:mo>=</m:mo>
                                                         <m:mo>{</m:mo>
                                                         <m:mo>}</m:mo>
                                                      </m:mrow>
                                                   </m:mtd>
                                                </m:mtr>
                                                <m:mtr>
                                                   <m:mtd>
                                                      <m:mrow>
                                                         <m:mo>&#8744;</m:mo>
                                                         <m:msup>
                                                            <m:mi>G</m:mi>
                                                            <m:mo>&#8242;</m:mo>
                                                         </m:msup>
                                                         <m:mo>=</m:mo>
                                                         <m:mo>{</m:mo>
                                                         <m:mo>}</m:mo>
                                                      </m:mrow>
                                                   </m:mtd>
                                                </m:mtr>
                                             </m:mtable>
                                          </m:mrow>
                                       </m:mtd>
                                    </m:mtr>
                                    <m:mtr columnalign="left">
                                       <m:mtd columnalign="left">
                                          <m:mrow>
                                             <m:mtable columnalign="left">
                                                <m:mtr columnalign="left">
                                                   <m:mtd columnalign="left">
                                                      <m:mrow>
                                                         <m:mi>h</m:mi>
                                                         <m:mo>&#8712;</m:mo>
                                                         <m:mi>G</m:mi>
                                                         <m:mo>&#8743;</m:mo>
                                                      </m:mrow>
                                                   </m:mtd>
                                                </m:mtr>
                                                <m:mtr columnalign="left">
                                                   <m:mtd columnalign="left">
                                                      <m:mrow>
                                                         <m:mo>&#8704;</m:mo>
                                                         <m:msup>
                                                            <m:mi>h</m:mi>
                                                            <m:mo>&#8242;</m:mo>
                                                         </m:msup>
                                                         <m:mo>&#8712;</m:mo>
                                                         <m:msup>
                                                            <m:mi>G</m:mi>
                                                            <m:mo>&#8242;</m:mo>
                                                         </m:msup>
                                                         <m:mo>:</m:mo>
                                                      </m:mrow>
                                                   </m:mtd>
                                                </m:mtr>
                                                <m:mtr columnalign="left">
                                                   <m:mtd columnalign="left">
                                                      <m:mrow>
                                                         <m:msub>
                                                            <m:mi>d</m:mi>
                                                            <m:mrow>
                                                               <m:mi>h</m:mi>
                                                               <m:mi>a</m:mi>
                                                               <m:mi>m</m:mi>
                                                            </m:mrow>
                                                         </m:msub>
                                                         <m:mo stretchy="false">(</m:mo>
                                                         <m:mi>h</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:msup>
                                                            <m:mi>h</m:mi>
                                                            <m:mo>&#8242;</m:mo>
                                                         </m:msup>
                                                         <m:mo stretchy="false">)</m:mo>
                                                         <m:mo>+</m:mo>
                                                      </m:mrow>
                                                   </m:mtd>
                                                </m:mtr>
                                                <m:mtr columnalign="left">
                                                   <m:mtd columnalign="left">
                                                      <m:mrow>
                                                         <m:mi>D</m:mi>
                                                         <m:mo stretchy="false">(</m:mo>
                                                         <m:mi>G</m:mi>
                                                         <m:mo>\</m:mo>
                                                         <m:mi>h</m:mi>
                                                         <m:mo>,</m:mo>
                                                         <m:msup>
                                                            <m:mi>G</m:mi>
                                                            <m:mo>&#8242;</m:mo>
                                                         </m:msup>
                                                         <m:mo>\</m:mo>
                                                         <m:msup>
                                                            <m:mi>h</m:mi>
                                                            <m:mo>&#8242;</m:mo>
                                                         </m:msup>
                                                         <m:mo stretchy="false">)</m:mo>
                                                      </m:mrow>
                                                   </m:mtd>
                                                </m:mtr>
                                             </m:mtable>
                                          </m:mrow>
                                       </m:mtd>
                                       <m:mtd columnalign="left">
                                          <m:mrow>
                                             <m:mtext>otherwise</m:mtext>
                                          </m:mrow>
                                       </m:mtd>
                                    </m:mtr>
                                 </m:mtable>
                              </m:mrow>
                           </m:mrow>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemiraqKaeiikaGIaem4raCKaeiilaWIafm4raCKbauaacqGGPaqkcqGH9aqpdaGabaqaauaabaqaciaaaeaacqaIWaamcqGGSaalaeaafaqabeGabaaabaGaeeyAaKMaeeOzayMaeeiiaaIaem4raCKaeyypa0Jaei4EaSNaeiyFa0habaGaeyikIOTafm4raCKbauaacqGH9aqpcqGG7bWEcqGG9bqFaaaabaqbaeaabqqaaaaabaGaemiAaGMaeyicI4Saem4raCKaey4jIKnabaGaeyiaIiIafmiAaGMbauaacqGHiiIZcuWGhbWrgaqbaiabcQda6aqaaiabdsgaKnaaBaaaleaacqWGObaAcqWGHbqycqWGTbqBaeqaaOGaeiikaGIaemiAaGMaeiilaWIafmiAaGMbauaacqGGPaqkcqGHRaWkaeaacqWGebarcqGGOaakcqWGhbWrcqGGCbaxcqWGObaAcqGGSaalcuWGhbWrgaqbaiabcYfaCjqbdIgaOzaafaGaeiykaKcaaaqaaiabb+gaVjabbsha0jabbIgaOjabbwgaLjabbkhaYjabbEha3jabbMgaPjabbohaZjabbwgaLbaaaiaawUhaaaaa@744B@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>
               <display-formula id="M29"><it>d </it>= min (<it>D</it>(<it>G</it>, <it>G</it>'))</display-formula>
            </p>
            <p>The complexity of calculating <it>d </it>is exponential but for small <it>p </it>this is still possible.</p>
         </sec>
         <sec>
            <st>
               <p>Software realisation</p>
            </st>
            <p>SATlotyper is implemented in Java and realises the constraints described above. Additionally, there are some obvious improvements included in the program, such as converting the <inline-formula><m:math name="1471-2164-9-356-i40" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>v</m:mi><m:mrow><m:mi>i</m:mi><m:mo>,</m:mo><m:mi>j</m:mi></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>,</m:mo><m:msub><m:mi>u</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemODay3aa0baaSqaaiabdMgaPjabcYcaSiabdQgaQbqaaiabdYgaSjabcYcaSiabdwha1naaBaaameaacqWGQbGAaeqaaaaaaaa@364D@</m:annotation></m:semantics></m:math></inline-formula> vectors, with 1 &#8804; <it>l </it>&#8804; <it>p</it>, to the corresponding Boolean inverse if min(<it>q</it>, <it>p </it>- <it>q</it>) = <it>p </it>- <it>q</it>, where <it>q </it>is the number of 1s. Another improvement is the enumeration of constraints for a SNP site such that instead of <it>o</it><sub><it>j </it></sub>only <it>o</it><sub><it>j </it></sub>- 1 sums have to be given if <it>o</it><sub><it>j </it></sub>&#8804; <it>p</it>.</p>
            <p>The SAT approach that we generalised <abbrgrp><abbr bid="B7">7</abbr></abbrgrp> can not optimise a target function directly (but there are efforts to combine ILP and SAT features <abbrgrp><abbr bid="B12">12</abbr><abbr bid="B17">17</abbr><abbr bid="B20">20</abbr><abbr bid="B21">21</abbr></abbrgrp>). Therefore, the SAT formulation of an assumed number of explaining haplotypes has to be tested for satisfiability by the SAT solver. If it fails, the number of explaining haplotypes is incremented and then tested again. This is repeated until the SAT solver reports satisfiability. For unphased genotypes, given in CSV format, the program generates corresponding constraints and writes the resulting formula in CNF format to the file system. Next, the binary of the corresponding SAT solver is executed with the newly generated CNF file as input. After successful termination of the solver, SATlotyper reads, analyses and reports the output of the solver in XML format (Additional file <supplr sid="S1">1</supplr>).</p>
            <suppl id="S1">
               <title>
                  <p>Additional file 1</p>
               </title>
               <text>
                  <p><b>Computational haplotype inference &#8211; XML output of SATlotyper</b>. The XML output of SATlotyper is based on the treelike structure of the result. The root of the tree is marked by the &lt;<it>result</it>> tag. The next level in the tree consists of the original input data (&lt;<it>source</it>>), the scored haplotype (&lt;<it>haplotype</it>>) list derived by bootstrapping (&lt;<it>bootstrapping</it>>) and the calculated alternative inferences of the unphased input data (&lt;<it>haplotypings</it>>). The haplotypings branch contains at least one inference of the original input data (&lt;<it>haplotyping</it>>) with the corresponding most parsimonious set of haplotypes (&lt;<it>haplotypes</it>>) and phased genotypes (&lt;<it>genotypes</it>>) as subelements where a genotype (&lt;<it>genotype</it>>) contains the ploidy-specific number of inferred haplotypes.</p>
               </text>
               <file name="1471-2164-9-356-S1.xml">
                  <p>Click here for file</p>
               </file>
            </suppl>
            <p>SATlotyper is able to execute different SAT solvers and was tested with MiniSat <abbrgrp><abbr bid="B11">11</abbr><abbr bid="B12">12</abbr></abbrgrp>, MiraXT <abbrgrp><abbr bid="B13">13</abbr></abbrgrp> (a multithreaded SAT solver) and Sat4J <abbrgrp><abbr bid="B14">14</abbr></abbrgrp> but can be easily adapted to other solvers accepting standard CNF file format. Access to single Boolean variables is realised by a hash which contains corresponding matrices. This object allows indexing by means of the corresponding keyword, for instance "haplotype", for a given type of variable.</p>
         </sec>
      </sec>
      <sec>
         <st>
            <p>Results</p>
         </st>
         <p>The following results were computed on a laptop with 2048 MB RAM and AMD Turion&#8482; 64 X2 Mobile Technology TL-56 (2 &#215; 1.80 GHz). The operation system was a Linux system (Debian 4.0 ("<it>etch</it>")), kernel version 2.6.18-5-amd64. MiniSat 2 (minisat2-070721.zip <abbrgrp><abbr bid="B11">11</abbr><abbr bid="B12">12</abbr></abbrgrp>) was used for solving SAT.</p>
         <sec>
            <st>
               <p>Development of SATlotyper</p>
            </st>
            <p>The presented generalisation of the original SAT approach <abbrgrp><abbr bid="B7">7</abbr></abbrgrp> led to the development of SATlotyper, which can infer polyploid and polyallelic input. The SATlotyper algorithm is able to handle incomplete data sets where SNP sites are partly missing, without bringing in unjustified assumptions. For instance, SNP sites are missing when genotypes are heterozygous for alleles with indels (insertions or deletions) that may result in an interruption of analysable sequence data. Unknown sites are marked "N". With the SAT approach, no assumptions are made for individuals that contain SNP sites with no information available, i.e. the formulation of constraints for the corresponding individual and SNP site is omitted. If the formulation of constraints for a site is omitted, the SAT solver uses a set of haplotypes inferred from other unphased genotypes, provided that these haplotypes are compatible with the known sites of the unphased genotype containing missing information. The choice of haplotypes for explaining such a genotype is independent of the alleles that the explaining haplotypes show at the site with missing information.</p>
         </sec>
         <sec>
            <st>
               <p>Testing SATlotyper on simulated data</p>
            </st>
            <p>In order to test SATlotypers performance, we simulated haplotypes comprising six SNP sites for ten tetraploid, biallelic populations with 100 individuals each. For every population, six simulated haplotypes were used as a pool for further simulation. These six different haplotypes of one population were sampled uniformly to generate a population of tetraploid individuals. The alleles of these haplotypes were also sampled uniformly. The simulation resulted in ten data sets of 100 individuals each.</p>
            <p>In order to simulate noise in the simulated data sets, data changes were introduced by conversion of a randomly chosen nucleotide of a randomly chosen individual at a randomly chosen SNP site to the other allele at the same site. All manipulated SNP sites were marked and no longer changed. If, however, a change has to be introduced and the random procedure selects an already manipulated individual and site, the noise-procedure is repeated until the needed change is introduced. Homozygous SNP sites were excluded from change on the assumption that these sites are correctly analysed in real data sets. Moreover, heterozygous SNP sites were not changed to homozygous sites. Thus, <it>x</it>% of noise means exactly <it>x</it>% of changed SNP sites in the data set. The ten simulated data sets were modified by noise, where noise was increased from 0% to 10% in steps of 1% resulting in 110 different data sets. Four types of analysis were performed with the simulated data sets (Table <tblr tid="T3">3</tblr>). These four methods are referred to as Method 1&#8211;4 and are computed as follows.</p>
            <tbl id="T3">
               <title>
                  <p>Table 3</p>
               </title>
               <caption>
                  <p>Comparison of the different methods of SATlotyper</p>
               </caption>
               <tblbdy cols="4">
                  <r>
                     <c ca="center">
                        <p>Method</p>
                     </c>
                     <c cspan="3" ca="center">
                        <p>Features of SATlotyper</p>
                     </c>
                  </r>
                  <r>
                     <c>
                        <p/>
                     </c>
                     <c cspan="3">
                        <hr/>
                     </c>
                  </r>
                  <r>
                     <c>
                        <p/>
                     </c>
                     <c ca="center">
                        <p>Alt. expl. hap.</p>
                     </c>
                     <c ca="center">
                        <p>Bootstrapping</p>
                     </c>
                     <c ca="center">
                        <p>Optimisation</p>
                     </c>
                  </r>
                  <r>
                     <c cspan="4">
                        <hr/>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>1</p>
                     </c>
                     <c ca="center">
                        <p>No</p>
                     </c>
                     <c ca="center">
                        <p>No</p>
                     </c>
                     <c ca="center">
                        <p>No</p>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>2</p>
                     </c>
                     <c ca="center">
                        <p>Yes</p>
                     </c>
                     <c ca="center">
                        <p>Yes</p>
                     </c>
                     <c ca="center">
                        <p>No</p>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>3</p>
                     </c>
                     <c ca="center">
                        <p>Yes</p>
                     </c>
                     <c ca="center">
                        <p>Yes</p>
                     </c>
                     <c ca="center">
                        <p>Yes</p>
                     </c>
                  </r>
                  <r>
                     <c ca="center">
                        <p>4</p>
                     </c>
                     <c ca="center">
                        <p>No</p>
                     </c>
                     <c ca="center">
                        <p>No</p>
                     </c>
                     <c ca="center">
                        <p>Yes</p>
                     </c>
                  </r>
               </tblbdy>
               <tblfn>
                  <p>The different features of SATlotyper are listed below. For the different results see also Figure <figr fid="F8">8</figr>, Figure <figr fid="F9">9</figr> and Figure <figr fid="F12">12</figr>. Alt. expl. hap., computation of alternative most parsimonious sets of explaining haplotypes.</p>
               </tblfn>
            </tbl>
            <p>Method 1: for each data set exactly one haplotype inference was calculated.</p>
            <p>Method 2: for each data set up to 250 alternative most parsimonious sets of explaining haplotypes and the corresponding haplotype inferences were calculated. Additionally, bootstrapping was performed based on the calculated haplotypes by generation of 250 bootstrapping replicates. Phased genotypes were then scored by the sum of the scores of their constituent haplotypes, and these values were summed up to score complete haplotype inferences (see Section "Implementation"). The best scored haplotype inference was selected without further optimisation with regard to genotype inference.</p>
            <p>Method 3: the analysis described in Method 2 was further refined by an optimisation with regard to genotype inference performed for each alternative most parsimonious set of haplotypes (see Section "Implementation"). </p>
            <p>Method 4: the first haplotype inference was used to optimise the genotype inference. For this purpose, the haplotypes were scored by their frequency in all genotypes of the first haplotype inference. Next, optimisation of the genotypes was carried out as described.</p>
            <p>The phased genotypes resulting from all four types of analysis were compared with the corresponding original simulated data set. We first tested whether the original sets of haplotypes, which were used for generating the simulations, could be identified by Method 1, Method 2 and Method 3. Method 4 was left out since different scorings of one haplotype inference do not affect the inferred most parsimonious set of haplotypes. Without added noise, the six original haplotypes could be identified by all three methods. With the addition of noise it was not possible to identify all six original haplotypes in all data sets using the first haplotype inference (Method 1). For three different data sets, this method found fewer than the six original haplotypes (only five out of six were identified in one data set with 6%, 7% and 10% noise). In contrast, all six original haplotypes were correctly inferred by the analyses with bootstrapping (Method 2) and the analyses with bootstrapping and optimisation (Method 3). For all types of analysis, the phased genotypes resulting from each analysis were compared with the original simulated data sets by computing the minimal Hamming distances between an inferred genotype and the corresponding original genotype without noise from the simulation. The minimal Hamming distance was computed as given in Section "Implementation". Based on the minimal Hamming distance, the correctness for all four types of analysis was calculated as follows:</p>
            <p>
               <display-formula id="M30">
                  <m:math name="1471-2164-9-356-i77" xmlns:m="http://www.w3.org/1998/Math/MathML">
                     <m:semantics>
                        <m:mrow>
                           <m:mn>100</m:mn>
                           <m:mo>&#8901;</m:mo>
                           <m:mfrac>
                              <m:mrow>
                                 <m:mn>600</m:mn>
                                 <m:mo>&#8722;</m:mo>
                                 <m:mtext>minimal&#160;Hamming&#160;distance</m:mtext>
                              </m:mrow>
                              <m:mrow>
                                 <m:mn>600</m:mn>
                                 <m:mo>&#8722;</m:mo>
                                 <m:mn>600</m:mn>
                                 <m:mo>&#8901;</m:mo>
                                 <m:msup>
                                    <m:mrow>
                                       <m:mn>100</m:mn>
                                    </m:mrow>
                                    <m:mrow>
                                       <m:mo>&#8722;</m:mo>
                                       <m:mn>1</m:mn>
                                    </m:mrow>
                                 </m:msup>
                                 <m:mo>&#8901;</m:mo>
                                 <m:mtext>noise</m:mtext>
                                 <m:mi>%</m:mi>
                              </m:mrow>
                           </m:mfrac>
                           <m:mo>,</m:mo>
                        </m:mrow>
                        <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeGymaeJaeGimaaJaeGimaaJaeyyXICDcfa4aaSaaaeaacqaI2aGncqaIWaamcqaIWaamcqGHsislcqqGTbqBcqqGPbqAcqqGUbGBcqqGPbqAcqqGTbqBcqqGHbqycqqGSbaBcqqGGaaicqqGibascqqGHbqycqqGTbqBcqqGTbqBcqqGPbqAcqqGUbGBcqqGNbWzcqqGGaaicqqGKbazcqqGPbqAcqqGZbWCcqqG0baDcqqGHbqycqqGUbGBcqqGJbWycqqGLbqzaeaacqaI2aGncqaIWaamcqaIWaamcqGHsislcqaI2aGncqaIWaamcqaIWaamcqGHflY1cqaIXaqmcqaIWaamcqaIWaamdaahaaqabeaacqGHsislcqaIXaqmaaGaeyyXICTaeeOBa4Maee4Ba8MaeeyAaKMaee4CamNaeeyzauMaeiyjaucaaiabcYcaSaaa@6D31@</m:annotation>
                     </m:semantics>
                  </m:math>
               </display-formula>
            </p>
            <p>where 600 is the number of SNP sites in the simulation. The denominator in Formula 30 is motivated by the minimal possible number of incorrectly inferred nucleotides compared to the simulated data without noise (on the right of the sum of the denominator). This value is dependent on the noise used and is subtracted from the number of SNP sites in the data set such that the denominator represents the maximal possible number of correctly inferable nucleotides. The number of correctly inferred nucleotides calculated by the SAT approach is given by the numerator. The mean correctness of the ten different data sets was plotted against the noise (Figure <figr fid="F8">8</figr>).</p>
            <fig id="F8">
               <title>
                  <p>Figure 8</p>
               </title>
               <caption>
                  <p>Comparison of four types of analysis using simulated data sets</p>
               </caption>
               <text>
                  <p><b>Comparison of four types of analysis using simulated data sets</b>. For ten tetraploid, biallelic populations with 100 individuals each, haplotypes comprising six SNP sites were simulated. 0&#8211;10% noise was added to the data. Unphased simulated data sets were analysed with SATlotyper using four different methods: 1) first inference without optimisation; 2) alternative haplotype inferences scored by bootstrapping, selection of the best scored; 3) alternative haplotype inferences scored by bootstrapping, further optimisation of genotype inference; 4) first haplotype inference with optimisation of genotype inference. On the basis of the Hamming distance between predicted and original simulated genotype inferences, the correctness was calculated, normalised and plotted against the noise. Every data point represents the mean value of ten populations for the respective value of noise.</p>
               </text>
               <graphic file="1471-2164-9-356-8"/>
            </fig>
            <p>Without noise, all methods gave predictions close to 100% correctness. With noise added the results of the four analysis methods showed an increasing correctness to the original data in the following order: Method 1 &lt; Method 2 &lt; Method 4 &lt; Method 3. This means that Method 3, which is the method with bootstrapping and genotype optimisation, gave the best results for all values of noise. The comparison between Method 2 and Method 1 demonstrated that the application of bootstrapping in order to select the highest scored haplotype inference (Method 2) gives better results than the method without bootstrapping (Method 1). The distributions of nucleotide distances (minimal Hamming distance) from Method 1 and Method 3 for a given amount of noise were compared by the Kruskal-Wallis test with a significance level of 5%. All p-values except for the 0%-noise case were below 0.05, and consequently the null hypothesis of both distributions being the same was rejected. Although the distributions of nucleotide distances from Method 1 and Method 2 were not significantly different, the mean values of the distances of Method 2 were always smaller than those of Method 1.</p>
         </sec>
         <sec>
            <st>
               <p>Performance of SATlotyper with unphased SNP data from tetraploid potato genotypes</p>
            </st>
            <p>The performance of SATlotyper was tested using unphased SNP data from the locus <it>BA213c14t7 </it>of <it>Solanum tuberosum</it>. Locus <it>BA213c14t7 </it>corresponds to the sequenced T7-end of the BAC (bacterial artificial chromosome) clone BA213c14 and is located on potato chromosome V between the markers <it>GP21 </it>and <it>GP179 </it>near the <it>R1 </it>gene for resistance to late blight <abbrgrp><abbr bid="B22">22</abbr></abbrgrp> (see Chromosome V in PoMaMo, The Potato Maps and More Database <abbrgrp><abbr bid="B23">23</abbr><abbr bid="B24">24</abbr></abbrgrp>). This intergenic sequence region is characterised by high sequence variability. The <it>BA213c14t7 </it>sequence also includes SNP sites associated with resistance against the parasitic root cyst nematode <it>Globodera pallida </it><abbrgrp><abbr bid="B25">25</abbr></abbrgrp>.</p>
            <p>As input to SATlotyper, two sets of unphased SNP data of <it>BA213c14t7 </it>were generated from 194 heterozygous tetraploid potato individuals from two different breeders: 103 individuals from breeder 1 and 91 individuals from breeder 2. The locus was amplified from genomic DNA of the 194 individuals and the SNP allele dosage (0:4, 1:3, 2:2, 3:1 and 4:0) was estimated for twelve biallelic SNP markers based on the sequence trace files (SNP sites 139, 143, 152, 157, 178, 214, 218, 236, 244, 253, 273, 274; Figure <figr fid="F9">9</figr>; Additional file <supplr sid="S2">2</supplr>). The resulting unphased SNP data were used as input for a SATlotyper analysis, where only one haplotype inference was calculated (Method 1). The number of SNP sites was varied from two to twelve and the running times were determined. In Figure <figr fid="F10">10</figr> the log of running time is plotted against the number of SNP sites analysed for the two different data sets (breeder 1, breeder 2). Even for twelve SNP sites, the running time was less than 80 seconds for both data sets. Figure <figr fid="F10">10</figr> demonstrates that the computational complexity grows exponentially with linear increase of the number of SNP sites.</p>
            <suppl id="S2">
               <title>
                  <p>Additional file 2</p>
               </title>
               <text>
                  <p><b>Experimental methods</b>. This file describes the experimental methods used for (i) the generation of unphased SNP data from tetraploid potato individuals and (ii) the analysis of haplotype inference by amplicon cloning and sequencing.</p>
               </text>
               <file name="1471-2164-9-356-S2.pdf">
                  <p>Click here for file</p>
               </file>
            </suppl>
            <fig id="F9">
               <title>
                  <p>Figure 9</p>
               </title>
               <caption>
                  <p>Comparison of computational and experimental haplotypes for potato locus BA213c14t7</p>
               </caption>
               <text>
                  <p><b>Comparison of computational and experimental haplotypes for potato locus BA213c14t7</b>. Sequence of the potato locus <it>BA213c14t7</it>. The evaluated SNP sites are indicated by boxes. For a sub-population of nineteen individuals, haplotype sequences were identified computationally with Method 2 and experimentally by amplicon cloning and sequencing. The nine haplotypes identified by both methods are displayed in red.</p>
               </text>
               <graphic file="1471-2164-9-356-9"/>
            </fig>
            <fig id="F10">
               <title>
                  <p>Figure 10</p>
               </title>
               <caption>
                  <p>Performance of SATlotyper with real data sets from tetraploid potato genotypes</p>
               </caption>
               <text>
                  <p><b>Performance of SATlotyper with real data sets from tetraploid potato genotypes</b>. Testing of SATlotyper (Method 1) with two sets of unphased SNP data from the locus <it>BA213c14t7 </it>of <it>Solanum tuberosum </it>(Figure <figr fid="F9">9</figr>). Analysis of 103 genotypes from breeder 1 and 91 genotypes from breeder 2 took place. The running time was determined when the first haplotype inference was reported. The logarithm of the running time (mean value of ten runs each) was plotted against the number of SNP sites.</p>
               </text>
               <graphic file="1471-2164-9-356-10"/>
            </fig>
         </sec>
         <sec>
            <st>
               <p>Comparison of SATlotyper results with experimentally determined haplotypes</p>
            </st>
            <p>In order to evaluate SATlotyper further, we compared computed haplotypes with experimentally determined haplotypes at the <it>BA213c14t7 </it>locus using a subset of nineteen heterozygous tetraploid individuals out of the two populations described above. We identified the haplotypes for twelve SNP sites both computationally and experimentally. The sequence of the <it>BA213c14t7 </it>locus and the SNP sites analysed are shown in Figure <figr fid="F9">9</figr>.</p>
            <sec>
               <st>
                  <p>Computational haplotype inference</p>
               </st>
               <p>The unphased SNP data from the nineteen individuals were used as input for the computational haplotype inference with SATlotyper analysis (Method 2). Up to 250 alternative most parsimonious sets of haplotypes and the corresponding haplotype inferences were calculated. On the basis of the calculated haplotypes bootstrapping was performed (250 samples) in order to score the alternative haplotype inferences. The haplotype inference with the highest score was selected. SATlotyper identified 114 alternative most parsimonious sets of haplotypes for this data set with a minimal number of twelve explaining haplotypes. Additional file <supplr sid="S1">1</supplr> (XML output of SATlotyper) gives the input data, the bootstrapping results for all haplotypes and the different scored haplotype inferences which are in order of score. For each alternative haplotype inference the first corresponding genotype inference is given. In Figure <figr fid="F9">9</figr>, the twelve haplotypes obtained from the haplotype inference with the highest bootstrapping score are listed, together with the experimentally determined haplotypes. In addition, an optimisation with regard to genotype inference was performed for all alternative haplotype inferences (Method 3).</p>
            </sec>
            <sec>
               <st>
                  <p>Experimental haplotype inference</p>
               </st>
               <p>The inference of haplotypes by SATlotyper from experimental SNP data requires the scoring of the SNP allele dosage (zero, one, two, three or four in a tetraploid individual) in PCR amplicons derived from partially heterozygous individuals. Preferential amplification of one allele versus the other may occur at heterozygous loci, resulting in erroneous scores of the allele dosage <abbrgrp><abbr bid="B25">25</abbr></abbrgrp>, which leads to the calculation of erroneous haplotypes by SATlotyper. Even with a low percentage of erroneous scores of allele dosage per single SNP site, the combination of errors from several SNP sites can lead to an inflated number of haplotypes that do not exist. To verify haplotype models computed by SATlotyper from experimental SNP data, which are not error free, we performed an independent experimental haplotyping. The number and dosage of haplotypes present at a specific locus in a given individual can be experimentally determined by cloning and sequencing a sufficient number of PCR fragments generated from genomic DNA of that individual at that specific locus. The number of different haplotypes is inferred from the number of consensus sequence variants found in the clone sample, and the haplotype dosage is inferred from the frequency of each consensus sequence variant in the clone sample.</p>
               <p>For the subset of nineteen individuals, the haplotypes at the <it>BA213c14t7 </it>locus with respect to the twelve SNP sites were determined experimentally (Additional file <supplr sid="S2">2</supplr>) by the sequencing of at least twenty-four cloned amplicons from each of the nineteen individuals. The number of sequenced clones per tetraploid individual was raised from sixteen, as proposed by Simko <abbrgrp><abbr bid="B2">2</abbr></abbrgrp>, to twenty-four per individual, in order to accept as real only haplotypes that could be detected at least twice. This was necessary owing to the possible sequence errors introduced by PCR and Sanger sequencing. In total, 590 amplicon derived clones were sequenced, which revealed ten distinct haplotypes present in the population of nineteen individuals (Table <tblr tid="T4">4</tblr>, Figure <figr fid="F9">9</figr>). On the basis of the haplotypes observed and the frequency of each haplotype sequence per tetraploid individual, the most likely genotype for each individual was determined (Table <tblr tid="T5">5</tblr>). The genotype models also allowed determination of haplotype frequencies in the subset of nineteen individuals. Chi-square statistics revealed significant deviation of the observed frequency distribution of haplotype sequences from the numbers expected based on the genotype model in five individuals. Haplotypes H1, H5 and H8 with a frequency of 84% altogether were the most abundant ones (Table <tblr tid="T4">4</tblr>). The other seven haplotypes had a frequency of less than 5% each. Interestingly, haplotype H4 present in individual S25 shared high similarity (100%, e value: 1<sup>-69</sup>) with the sequence of BAC clone PGEC472P22 originated from the wild potato species <it>Solanum demissum </it><abbrgrp><abbr bid="B26">26</abbr></abbrgrp>. This indicated that haplotype H4 corresponds to an introgression from <it>Solanum demissum </it>containing the <it>R1 </it>resistance gene <abbrgrp><abbr bid="B26">26</abbr></abbrgrp>.</p>
               <tbl id="T4">
                  <title>
                     <p>Table 4</p>
                  </title>
                  <caption>
                     <p>Experimental haplotypes H1 to H10</p>
                  </caption>
                  <tblbdy cols="14">
                     <r>
                        <c ca="left">
                           <p>Hapl.</p>
                        </c>
                        <c ca="center">
                           <p>SNP139</p>
                        </c>
                        <c ca="center">
                           <p>SNP143</p>
                        </c>
                        <c ca="center">
                           <p>SNP152</p>
                        </c>
                        <c ca="center">
                           <p>SNP157</p>
                        </c>
                        <c ca="center">
                           <p>SNP178</p>
                        </c>
                        <c ca="center">
                           <p>SNP214</p>
                        </c>
                        <c ca="center">
                           <p>SNP218</p>
                        </c>
                        <c ca="center">
                           <p>SNP236</p>
                        </c>
                        <c ca="center">
                           <p>SNP244</p>
                        </c>
                        <c ca="center">
                           <p>SNP253</p>
                        </c>
                        <c ca="center">
                           <p>SNP273</p>
                        </c>
                        <c ca="center">
                           <p>SNP274</p>
                        </c>
                        <c ca="center">
                           <p>Fr. [%]</p>
                        </c>
                     </r>
                     <r>
                        <c cspan="14">
                           <hr/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>H1</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="right">
                           <p>26.3</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>H2</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="right">
                           <p>1.3</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>H3</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="right">
                           <p>2.6</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>H4</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="right">
                           <p>2.6</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>H5</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="right">
                           <p>19.7</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>H6</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="right">
                           <p>2.6</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>H7</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="right">
                           <p>1.3</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>H8</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="right">
                           <p>38.1</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>H9</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="right">
                           <p>1.3</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>H10</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>C</p>
                        </c>
                        <c ca="center">
                           <p>T</p>
                        </c>
                        <c ca="center">
                           <p>G</p>
                        </c>
                        <c ca="center">
                           <p>A</p>
                        </c>
                        <c ca="right">
                           <p>3.9</p>
                        </c>
                     </r>
                  </tblbdy>
                  <tblfn>
                     <p>Experimental haplotypes for potato locus <it>BA213c14t7 </it>resulting from the analysis of nineteen tetraploid individuals (Table <tblr tid="T5">5</tblr>). SNP sites 139&#8211;274 (Figure <figr fid="F9">9</figr>). Values for allele frequency of each haplotype within the nineteen genotypes are based on the model for the most probable genotypes (Table 5) with a maximum of seventy-six possible alleles in this sub-population (100%). Hapl., haplotype. Fr., frequency.</p>
                  </tblfn>
               </tbl>
               <tbl id="T5">
                  <title>
                     <p>Table 5</p>
                  </title>
                  <caption>
                     <p>Haplotypes found in nineteen tetraploid potato individuals and resulting genotype model</p>
                  </caption>
                  <tblbdy cols="14">
                     <r>
                        <c ca="left">
                           <p>Individual</p>
                        </c>
                        <c ca="center">
                           <p>H1</p>
                        </c>
                        <c ca="center">
                           <p>H2</p>
                        </c>
                        <c ca="center">
                           <p>H3</p>
                        </c>
                        <c ca="center">
                           <p>H4</p>
                        </c>
                        <c ca="center">
                           <p>H5</p>
                        </c>
                        <c ca="center">
                           <p>H6</p>
                        </c>
                        <c ca="center">
                           <p>H7</p>
                        </c>
                        <c ca="center">
                           <p>H8</p>
                        </c>
                        <c ca="center">
                           <p>H9</p>
                        </c>
                        <c ca="center">
                           <p>H10</p>
                        </c>
                        <c ca="center">
                           <p>Genotype model</p>
                        </c>
                        <c ca="center">
                           <p><it>&#967;</it><sup>2</sup>-value</p>
                        </c>
                        <c ca="center">
                           <p>p-value</p>
                        </c>
                     </r>
                     <r>
                        <c cspan="14">
                           <hr/>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>S9</p>
                        </c>
                        <c ca="center">
                           <p>19</p>
                        </c>
                        <c ca="center">
                           <p>2</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>3</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>1/1/2/5</p>
                        </c>
                        <c ca="right">
                           <p>8.25</p>
                        </c>
                        <c ca="right">
                           <p>0.02</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>S25</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>21</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>27</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>
                              <b>4/4/8/8</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>0.75</p>
                        </c>
                        <c ca="right">
                           <p>0.39</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>S50</p>
                        </c>
                        <c ca="center">
                           <p>18</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>3</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>3</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>1/1/3/6</p>
                        </c>
                        <c ca="right">
                           <p>6.00</p>
                        </c>
                        <c ca="right">
                           <p>0.05</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>S73</p>
                        </c>
                        <c ca="center">
                           <p>18</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>14</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>
                              <b>1/1/8/8</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>0.50</p>
                        </c>
                        <c ca="right">
                           <p>0.48</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>S83</p>
                        </c>
                        <c ca="center">
                           <p>26</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>2</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>1/1/1/5</p>
                        </c>
                        <c ca="right">
                           <p>4.76</p>
                        </c>
                        <c ca="right">
                           <p>0.03</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>S89</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>7</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>2</p>
                        </c>
                        <c ca="center">
                           <p>14</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>
                              <b>8/8/5/7</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>3.26</p>
                        </c>
                        <c ca="right">
                           <p>0.20</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>S93</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>26</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>
                              <b>8/8/8/8</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>0</p>
                        </c>
                        <c ca="right">
                           <p>1</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>B1</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>7</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>17</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>
                              <b>8/8/8/5</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>0.22</p>
                        </c>
                        <c ca="right">
                           <p>0.64</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>B4</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>4</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>19</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>
                              <b>8/8/8/5</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>0.71</p>
                        </c>
                        <c ca="right">
                           <p>0.40</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>B26</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>24</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="right">
                           <p>0</p>
                        </c>
                        <c ca="right">
                           <p>1</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>B30</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>79</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>
                              <b>5/5/5/5</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>0</p>
                        </c>
                        <c ca="right">
                           <p>1</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>B37</p>
                        </c>
                        <c ca="center">
                           <p>7</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>16</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>
                              <b>8/8/8/1</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>0.36</p>
                        </c>
                        <c ca="right">
                           <p>0.55</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>B43</p>
                        </c>
                        <c ca="center">
                           <p>28</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>2</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>1/1/1/3</p>
                        </c>
                        <c ca="right">
                           <p>5.38</p>
                        </c>
                        <c ca="right">
                           <p>0.02</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>B52</p>
                        </c>
                        <c ca="center">
                           <p>9</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>14</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>
                              <b>1/1/8/8</b>
                           </p>
                           <p>
                              <b>1/8/8/8</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>1.09 or 2.45</p>
                        </c>
                        <c ca="right">
                           <p>0.30 0.12</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>B63</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>2</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>17</p>
                        </c>
                        <c ca="center">
                           <p>2</p>
                        </c>
                        <c ca="center">
                           <p>8</p>
                        </c>
                        <c ca="center">
                           <p>5/8/9/10</p>
                        </c>
                        <c ca="right">
                           <p>20.79</p>
                        </c>
                        <c ca="right">
                           <p>0.0001</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>B75</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>2</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>9</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>13</p>
                        </c>
                        <c ca="center">
                           <p>
                              <b>10/10/5/8</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>4.25</p>
                        </c>
                        <c ca="right">
                           <p>0.12</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>B80</p>
                        </c>
                        <c ca="center">
                           <p>10</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>12</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>
                              <b>1/1/5/5</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>0.18</p>
                        </c>
                        <c ca="right">
                           <p>0.67</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>B86</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>5</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>19</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>
                              <b>8/8/8/5</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>0.22</p>
                        </c>
                        <c ca="right">
                           <p>0.64</p>
                        </c>
                     </r>
                     <r>
                        <c ca="left">
                           <p>B108</p>
                        </c>
                        <c ca="center">
                           <p>20</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>3</p>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c>
                           <p/>
                        </c>
                        <c ca="center">
                           <p>
                              <b>1/1/1/5</b>
                           </p>
                        </c>
                        <c ca="right">
                           <p>1.75</p>
                        </c>
                        <c ca="right">
                           <p>0.19</p>
                        </c>
                     </r>
                  </tblbdy>
                  <tblfn>
                     <p>For nineteen individuals, the number of clones obtained per individual for each of the ten haplotypes (Table <tblr tid="T4">4</tblr>) and the resulting genotype model are shown. For each genotype model, the goodness of fit (chi-square) and the p-values for the deviation of the number of observed clones from the expectation based on the genotype model are calculated. Genotype models which do not significantly deviate from the observed haplotype distribution are shown in bold (significance level: 5%). It is assumed that haplotype frequencies deviate <it>&#967;</it><sup>2 </sup>distributed from the genotype model, with # of different alleles -1 degrees of freedom. In the first row of Table 5, the <it>&#967;</it><sup>2</sup>-value is calculated as follows: <inline-formula><m:math name="1471-2164-9-356-i78" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mfrac><m:mn>1</m:mn><m:mrow><m:mn>24</m:mn></m:mrow></m:mfrac><m:mo stretchy="false">(</m:mo><m:mn>2</m:mn><m:msup><m:mrow><m:mo stretchy="false">(</m:mo><m:mfrac><m:mn>1</m:mn><m:mn>2</m:mn></m:mfrac><m:mo>&#8901;</m:mo><m:mn>24</m:mn><m:mo>&#8722;</m:mo><m:mn>19</m:mn><m:mo stretchy="false">)</m:mo></m:mrow><m:mn>2</m:mn></m:msup><m:mo>+</m:mo><m:mn>4</m:mn><m:msup><m:mrow><m:mo stretchy="false">(</m:mo><m:mfrac><m:mn>1</m:mn><m:mn>4</m:mn></m:mfrac><m:mo>&#8901;</m:mo><m:mn>24</m:mn><m:mo>&#8722;</m:mo><m:mn>2</m:mn><m:mo stretchy="false">)</m:mo></m:mrow><m:mn>2</m:mn></m:msup><m:mo>+</m:mo><m:mn>4</m:mn><m:msup><m:mrow><m:mo stretchy="false">(</m:mo><m:mfrac><m:mn>1</m:mn><m:mn>4</m:mn></m:mfrac><m:mo>&#8901;</m:mo><m:mn>24</m:mn><m:mo>&#8722;</m:mo><m:mn>3</m:mn><m:mo stretchy="false">)</m:mo></m:mrow><m:mn>2</m:mn></m:msup><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mn>8.25</m:mn></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqcfa4aaSaaaeaacqaIXaqmaeaacqaIYaGmcqaI0aanaaGccqGGOaakcqaIYaGmcqGGOaakjuaGdaWcaaqaaiabigdaXaqaaiabikdaYaaakiabgwSixlabikdaYiabisda0iabgkHiTiabigdaXiabiMda5iabcMcaPmaaCaaaleqabaGaeGOmaidaaOGaey4kaSIaeGinaqJaeiikaGscfa4aaSaaaeaacqaIXaqmaeaacqaI0aanaaGccqGHflY1cqaIYaGmcqaI0aancqGHsislcqaIYaGmcqGGPaqkdaahaaWcbeqaaiabikdaYaaakiabgUcaRiabisda0iabcIcaOKqbaoaalaaabaGaeGymaedabaGaeGinaqdaaOGaeyyXICTaeGOmaiJaeGinaqJaeyOeI0IaeG4mamJaeiykaKYaaWbaaSqabeaacqaIYaGmaaGccqGGPaqkcqGH9aqpcqaI4aaocqGGUaGlcqaIYaGmcqaI1aqnaaa@5DE5@</m:annotation></m:semantics></m:math></inline-formula>. The p-value represents the probability of obtaining haplotype frequencies at least as extreme as the observed ones, given that the genotype model (null hypothesis) is true.</p>
                  </tblfn>
               </tbl>
            </sec>
            <sec>
               <st>
                  <p>Comparison of computed and experimental haplotype and genotype models</p>
               </st>
               <p>From the nineteen individuals analysed, nine haplotypes were identified by both methods (Figure <figr fid="F9">9</figr>). The only experimental haplotype not detected computationally was haplotype H2 (Table <tblr tid="T4">4</tblr>). H2 was identified only in individual S9, in only two out of twenty-four analysed clones (Table <tblr tid="T5">5</tblr>). Haplotype H2 did not occur in any of the 114 alternative computed inferences (Additional file <supplr sid="S1">1</supplr>), which leads to the conclusion that the unphased data do not support haplotype 2 in the most parsimonious set of explaining haplotypes. Three haplotypes were identified computationally but not experimentally. This may result from imperfect input data, for example, from erroneous assignment of SNP allele dosage, which leads to the creation of additional "non real" haplotypes by SATlotyper, which are needed to satisfy the input data. Alternatively, the experimental haplotype inference may have missed rare but real haplotypes owing to underrepresentation of the sequence in the cloned amplicons.</p>
               <p>The high concordance between the experimental results and the prediction is shown in Figure <figr fid="F11">11</figr>. Here, the bootstrapping score is compared with the experimentally determined frequency of the nine common haplotypes.</p>
               <fig id="F11">
                  <title>
                     <p>Figure 11</p>
                  </title>
                  <caption>
                     <p>Comparison of the experimental haplotype frequency with the bootstrapping score of the 9 common haplotypes</p>
                  </caption>
                  <text>
                     <p><b>Comparison of the experimental haplotype frequency with the bootstrapping score of the 9 common haplotypes</b>. The nine common haplotypes are taken from Figure <figr fid="F9">9</figr>. Haplotype frequency is drawn from Table <tblr tid="T4">4</tblr>. The bootstrapping score according to Additional file <supplr sid="S1">1</supplr> is displayed in percent (100% corresponds to the sum of the bootstrapping scores of the nine common haplotypes). Haplotypes are valued and ordered according to bootstrapping scores.</p>
                  </text>
                  <graphic file="1471-2164-9-356-11"/>
               </fig>
               <p>For the nineteen genotypes, we also compared the computed genotype inferences with the experimental ones (Figure <figr fid="F12">12</figr>). The minimal Hamming distance between a predicted genotype and the corresponding experimentally determined genotype was computed as described in Section "Implementation". For every genotype the correctness was derived from the Hamming distance as follows:</p>
               <fig id="F12">
                  <title>
                     <p>Figure 12</p>
                  </title>
                  <caption>
                     <p>Correctness of computed phased genotypes compared to the experimental result</p>
                  </caption>
                  <text>
                     <p><b>Correctness of computed phased genotypes compared to the experimental result</b>. 100% is equivalent with the experimentally determined phased genotype. The correctness was calculated from the Hamming distance, as explained in the text. For individual B52 the experimental genotype model 1/1/8/8 (Table 5) was used for the comparison.</p>
                  </text>
                  <graphic file="1471-2164-9-356-12"/>
               </fig>
               <p>
                  <display-formula id="M31">
                     <m:math name="1471-2164-9-356-i79" xmlns:m="http://www.w3.org/1998/Math/MathML">
                        <m:semantics>
                           <m:mrow>
                              <m:mn>100</m:mn>
                              <m:mo>&#8901;</m:mo>
                              <m:mfrac>
                                 <m:mrow>
                                    <m:mn>48</m:mn>
                                    <m:mo>&#8722;</m:mo>
                                    <m:mtext>minimal&#160;Hamming&#160;distance</m:mtext>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mn>48</m:mn>
                                 </m:mrow>
                              </m:mfrac>
                              <m:mo>.</m:mo>
                           </m:mrow>
                           <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeGymaeJaeGimaaJaeGimaaJaeyyXICDcfa4aaSaaaeaacqaI0aancqaI4aaocqGHsislcqqGTbqBcqqGPbqAcqqGUbGBcqqGPbqAcqqGTbqBcqqGHbqycqqGSbaBcqqGGaaicqqGibascqqGHbqycqqGTbqBcqqGTbqBcqqGPbqAcqqGUbGBcqqGNbWzcqqGGaaicqqGKbazcqqGPbqAcqqGZbWCcqqG0baDcqqGHbqycqqGUbGBcqqGJbWycqqGLbqzaeaacqaI0aancqaI4aaoaaGaeiOla4caaa@569E@</m:annotation>
                        </m:semantics>
                     </m:math>
                  </display-formula>
               </p>
               <p>Formula 31 is motivated analogously to Formula 30, except that the amount of noise is not known. As a result, the denominator represents the total number of nucleotides. As shown in Figure <figr fid="F12">12</figr>, we obtained for 80% of the genotypes a correctness of at least 90% when compared with the experimental data. For two individuals (B43, B4) the predicted and experimental haplotypes were exactly the same. For twelve of the nineteen individuals at least three of the four predicted haplotypes were confirmed by the experimental data (Additional file <supplr sid="S1">1</supplr>, Table 5). The additional optimisation with regard to genotype inference according to Method 3 did not result in a further improvement of the Hamming distance and correctness between predicted and experimental phased genotypes for the nineteen individuals analysed.</p>
            </sec>
         </sec>
      </sec>
      <sec>
         <st>
            <p>Discussion</p>
         </st>
         <p>Existing approaches for inferring haplotypes from unphased SNP data are only applicable to biallelic and diploid species. This study therefore aimed at the development of an approach for calculating haplotypes in heterozygous polyploid species. Generalising the approach from <abbrgrp><abbr bid="B7">7</abbr></abbrgrp>, a Java based program was developed which formulates HIPP for the Boolean satisfiability problem. Instead of giving the constraints for combinatorial sub problems explicitly, SATlotyper generates constraints for summing such that the complexity decreases from exponential to polynomial for polyploid and polyallelic data sets. Other methods for summing based on the SAT approach have been described <abbrgrp><abbr bid="B17">17</abbr></abbrgrp>, which are possibly easier to solve by the SAT solver so that a future version of SATlotyper will be further optimised. SATlotyper is able to handle missing SNP information by omitting constraints for such sites so that no unjustified assumptions about nucleotide frequencies have to be made.</p>
         <p>For a given data set of unphased genotypes, it is possible by means of SATlotyper to calculate the first most parsimonious set of explaining haplotypes and corresponding phased genotypes (Method 1). One drawback of the parsimony approach is the sparsity of statistical information. A bootstrapping procedure can therefore be used to score haplotype inferences, in case there is more than one possible haplotype inference (Method 2). Since unphased genotypes can also have alternative inferences, it is possible to optimise the phased genotypes in respect to a most parsimonious set of haplotypes and the corresponding bootstrapping scores (Method 3). It is also possible to score the haplotypes without bootstrapping simply by their frequencies in the phased genotypes, which can be used for selecting the best haplotype inference in the case of alternative inferences and for performing an optimisation with regard to alternative genotype inferences (Method 4).</p>
         <p>In this study, SATlotyper was tested and evaluated with simulated and experimental data sets of unphased SNP sites from tetraploid individuals. The different SATlotyper methods were compared with the simulated data (Figure <figr fid="F8">8</figr>). Prior to analysis, noise from 0% to 10% was added to the data, to account for erroneous SNP scores in the input data.</p>
         <p>Without noise all methods were able to predict the correct set of haplotypes which were used in the simulation (Figure <figr fid="F8">8</figr>). Compared with the original simulation, the haplotype compositions of the phased genotypes were close to the composition of the simulated genotypes (> 99% correctness). With noise added, Method 3 using bootstrapping and optimisation gave the best results (Figure <figr fid="F8">8</figr>). It is likely that the relatively small difference between Method 2 with bootstrapping and Method 1 without bootstrapping (Figure <figr fid="F8">8</figr>) can be explained by the simulation. Because the haplotypes are uniformly distributed, it is very likely that &#8211; even in case of noise &#8211; all original haplotypes are present in the first found haplotype inference. Thus, an analysis of different distributions of haplotypes in populations is still missing. In the case of real data we would expect a larger difference between the applications of Method 1 and Method 2.</p>
         <p>The results obtained when Method 4 (Figure <figr fid="F8">8</figr>) was applied suggest that for some purposes it could be sufficient simply to score the haplotypes corresponding to their frequencies in the phased genotypes for optimising genotype inference. This suggests that data sets that are time consuming to infer can be optimized by Method 4 such that also time consuming bootstrapping can be omitted.</p>
         <p>SATlotyper was also applied to an experimental data set of twelve unphased SNP markers, which were scored by sequencing of the amplicons of a 500 bp-region at potato locus <it>BA213c14t7</it>. As we have verified only one locus so far, it is not possible to make a firm conclusion how representative the data set of the <it>BA213c14t7 </it>locus is. Some variation is expected between different loci with respect to the quality of an amplicon <abbrgrp><abbr bid="B2">2</abbr></abbrgrp> for direct sequencing and whether the amplicon is representative for the genotype at the amplified locus. The performance of the approach was much higher with the experimental data than with simulated data. Nevertheless, the running time increased exponentially with the linearly increasing number of SNP sites (Figure <figr fid="F10">10</figr>).</p>
         <p>In addition to performance, the quality of the prediction was evaluated by comparison of predicted haplotypes with experimental haplotypes that were determined by amplicon cloning and sequencing <abbrgrp><abbr bid="B2">2</abbr></abbrgrp>. Unfortunately, the experimental validation of haplotypes is time consuming and expensive. Thus, only a subset of nineteen heterozygous unphased individuals was available for the direct comparison. Furthermore, it has to be taken into account that the evaluation of predicted haplotypes based on comparison with experimentally determined haplotypes is slightly restricted by the fact that the experimental haplotypes are not error-free. In this study, new insights were gained in the experimental set-up for haplotype inference in autotetraploid species by molecular cloning and sequencing of amplicons. In several cases, the observed frequency of amplicon sequences deviated from the expected frequency (0.25, 0.50 or 0.75). One reason could be a difference in the G/C-content of the alleles resulting in altered performances of the PCR-reaction <abbrgrp><abbr bid="B25">25</abbr><abbr bid="B26">26</abbr></abbrgrp>.</p>
         <p>Even slight differences in the initial PCR cycles are enhanced further on in the downstream reactions. This first comparison of computed with experimental haplotypes gave promising results: nine of the ten experimental haplotypes were also identified by SATlotyper prediction out of the sub-population of nineteen individuals (Figure <figr fid="F9">9</figr>). With respect to the phased genotypes, the SATlotyper analysis achieved a correctness of at least 90% (for 80% of the individuals) compared with the experimental result (Figure <figr fid="F12">12</figr>). With the exception of Method 1, all SATlotyper methods gave similar results with this data set.</p>
      </sec>
      <sec>
         <st>
            <p>Conclusion</p>
         </st>
         <p>The study demonstrates that HIPP can efficiently be solved for data sets of unphased SNP sites from heterozygous polyploids by a generalisation of the SAT approach from <abbrgrp><abbr bid="B7">7</abbr></abbrgrp>. Our results are encouraging for the future application and further development of SATlotyper. Existing or newly generated unphased SNP data can be analysed by SATlotyper to infer haplotypes. Haplotype information can be used instead of individual SNP sites in association mapping that exploits the biodiversity in existing cultivars and breeding lines <abbrgrp><abbr bid="B2">2</abbr></abbrgrp>. Compared with methods based on individual SNP sites, the haplotype mapping method significantly improves the power and robustness of gene mapping techniques <abbrgrp><abbr bid="B27">27</abbr></abbrgrp> as there are fewer haplotypes than SNP sites <abbrgrp><abbr bid="B2">2</abbr></abbrgrp>.</p>
      </sec>
      <sec>
         <st>
            <p>Availability and requirements</p>
         </st>
         <p>SATlotyper was developed in the scope of GABI (Genome analysis of the plant biological system) projects and can be downloaded from the SATlotyper project page <abbrgrp><abbr bid="B28">28</abbr></abbrgrp> of GabiPD, The GABI Primary Database <abbrgrp><abbr bid="B29">29</abbr></abbrgrp>. The software is distributed as a Java JAR file and requires Java Runtime Environment 1.5.0 or higher. For the user's convenience, the downloadable archive contains statically linked versions of MiniSat <abbrgrp><abbr bid="B11">11</abbr><abbr bid="B12">12</abbr></abbrgrp> and MiraXT <abbrgrp><abbr bid="B13">13</abbr></abbrgrp>. The software is accessed from command line. Under UNIX like systems the program runs out of the box with MiniSat <abbrgrp><abbr bid="B11">11</abbr><abbr bid="B12">12</abbr></abbrgrp>, MiraXT <abbrgrp><abbr bid="B13">13</abbr></abbrgrp> and the Sat4J solver <abbrgrp><abbr bid="B14">14</abbr></abbrgrp>. Users with Microsoft<sup>&#174; </sup>Windows are restricted on running the Sat4J solver. SATlotyper is freeware for scientific use and is distributed under the SATlotyper licence, which is also included in the downloadable package.</p>
      </sec>
      <sec>
         <st>
            <p>Authors' contributions</p>
         </st>
         <p>JN developed and implemented SATlotyper, performed all computational haplotype inferences and wrote most of the paper together with BK. GG performed the experimental haplotyping and participated in writing. RB contributed to the design and the implementation of SATlotyper. SD and CG initiated the prediction of haplotypes for potato and provided ideas. UA generated the SNP data and initially supervised the experimental part of the study together with CG, who also provided ideas for the development of SATlotyper and participated in writing. JS initiated the development of SATlotyper based on the SAT approach, he supervised and co-ordinated with BK the computational part of the study. BK also compared the results of computational and experimental haplotypings and co-ordinated the study. All authors read, edited and approved the final manuscript.</p>
      </sec>
   </bdy>
   <bm>
      <ack>
         <sec>
            <st>
               <p>Acknowledgements</p>
            </st>
            <p>We are very grateful to the potato breeding companies Saka-Ragis, Windeby, Germany, and B&#246;hm-Nordkartoffel Agrarproduktion, Ebstorf, Germany, who kindly provided the analysed potato individuals. We thank Prof. Knut Reinert, Axel Nagel, Zoran Nikoloski, Liam Childs and Stefanie Hartmann for helpful discussions. This study was supported by grants from the German Federal Ministry of Education and Research (BMBF grants 0313112, 0313114A, 0315046), by the Max-Planck-Society and the former RZPD.</p>
         </sec>
      </ack>
      <refgrp>
         <bibl id="B1">
            <title>
               <p>SNP frequency, haplotype structure and linkage disequilibrium in elite maize inbred lines</p>
            </title>
            <aug>
               <au>
                  <snm>Ching</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Caldwell</snm>
                  <fnm>KS</fnm>
               </au>
               <au>
                  <snm>Jung</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Dolan</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Smith</snm>
                  <fnm>OS</fnm>
               </au>
               <au>
                  <snm>Tingey</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Morgante</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Rafalsk</snm>
                  <fnm>AJ</fnm>
               </au>
            </aug>
            <source>BMC Genetics</source>
            <pubdate>2002</pubdate>
            <volume>3</volume>
            <fpage>19</fpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">130040</pubid>
                  <pubid idtype="pmpid" link="fulltext">12366868</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B2">
            <title>
               <p>One potato, two potato: haplotype association mapping in autotetraploids</p>
            </title>
            <aug>
               <au>
                  <snm>Simko</snm>
                  <fnm>I</fnm>
               </au>
            </aug>
            <source>Trends in Plant Science</source>
            <pubdate>2004</pubdate>
            <volume>9</volume>
            <issue>9</issue>
            <fpage>441</fpage>
            <lpage>448</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">15337494</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B3">
            <title>
               <p>A comprehensive literature review of haplotyping software and methods for use with unrelated individuals</p>
            </title>
            <aug>
               <au>
                  <snm>Salem</snm>
                  <fnm>RM</fnm>
               </au>
               <au>
                  <snm>Wessel</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Schork</snm>
                  <fnm>NJ</fnm>
               </au>
            </aug>
            <source>Human Genomics</source>
            <pubdate>2005</pubdate>
            <volume>2</volume>
            <fpage>39</fpage>
            <lpage>66</lpage>
            <xrefbib>
               <pubid idtype="pmpid">15814067</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B4">
            <title>
               <p>From crop domestication to super-domestication</p>
            </title>
            <aug>
               <au>
                  <snm>Vaughan</snm>
                  <fnm>DA</fnm>
               </au>
               <au>
                  <snm>Balazs</snm>
                  <fnm>E</fnm>
               </au>
               <au>
                  <snm>Heslop-Harrison</snm>
                  <fnm>JS</fnm>
               </au>
            </aug>
            <source>Annals of Botany</source>
            <pubdate>2007</pubdate>
            <volume>100</volume>
            <issue>5</issue>
            <fpage>893</fpage>
            <lpage>901</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">17940074</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B5">
            <title>
               <p>Haplotype inference by Pure Parsimony</p>
            </title>
            <aug>
               <au>
                  <snm>Gusfield</snm>
                  <fnm>D</fnm>
               </au>
            </aug>
            <source>Proceedings of the 14th annual Symposium on Combinatorial Pattern Matching</source>
            <pubdate>2003</pubdate>
            <fpage>144</fpage>
            <lpage>155</lpage>
         </bibl>
         <bibl id="B6">
            <title>
               <p>The complexity of theorem-proving procedures</p>
            </title>
            <aug>
               <au>
                  <snm>Cook</snm>
                  <fnm>SA</fnm>
               </au>
            </aug>
            <source>Proceedings of the third annual ACM symposium on Theory of computing</source>
            <pubdate>1971</pubdate>
            <fpage>151</fpage>
            <lpage>158</lpage>
         </bibl>
         <bibl id="B7">
            <title>
               <p>Efficient haplotype inference with Boolean Satisfiability</p>
            </title>
            <aug>
               <au>
                  <snm>Lynce</snm>
                  <fnm>I</fnm>
               </au>
               <au>
                  <snm>Marques-Silva</snm>
                  <fnm>JP</fnm>
               </au>
            </aug>
            <source>National Conference on Artificial Intelligence (AAAI)</source>
            <pubdate>2006</pubdate>
         </bibl>
         <bibl id="B8">
            <title>
               <p>Breaking symmetries in SAT matrix models</p>
            </title>
            <aug>
               <au>
                  <snm>Lynce</snm>
                  <fnm>I</fnm>
               </au>
               <au>
                  <snm>Marques-Silva</snm>
                  <fnm>JP</fnm>
               </au>
            </aug>
            <source>Theory and Applications of Satisfiability Testing &#8211; SAT Volume 4501 of Lecture Notes in Computer Science</source>
            <publisher>Springer Berlin/Heidelberg</publisher>
            <editor>Marques-Silva JP, Sakallah K</editor>
            <pubdate>2007</pubdate>
            <fpage>22</fpage>
            <lpage>27</lpage>
         </bibl>
         <bibl id="B9">
            <title>
               <p>A new Integer Programming formulation for the Pure Parsimony Problem in haplotype analysis</p>
            </title>
            <aug>
               <au>
                  <snm>Brown</snm>
                  <fnm>DG</fnm>
               </au>
               <au>
                  <snm>Harrower</snm>
                  <fnm>IM</fnm>
               </au>
            </aug>
            <source>WABI</source>
            <pubdate>2004</pubdate>
            <fpage>254</fpage>
            <lpage>265</lpage>
         </bibl>
         <bibl id="B10">
            <title>
               <p>Integer Programming approaches to haplotypes inference by Pure Parsimony</p>
            </title>
            <aug>
               <au>
                  <snm>Brown</snm>
                  <fnm>DG</fnm>
               </au>
               <au>
                  <snm>Harrower</snm>
                  <fnm>IM</fnm>
               </au>
            </aug>
            <source>IEEE/ACM Trans Comput Biol Bioinform</source>
            <pubdate>2006</pubdate>
            <volume>3</volume>
            <issue>2</issue>
            <fpage>141</fpage>
            <lpage>154</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">17048400</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B11">
            <title>
               <p>An extensible SAT-solver</p>
            </title>
            <aug>
               <au>
                  <snm>E&#233;n</snm>
                  <fnm>N</fnm>
               </au>
               <au>
                  <snm>S&#246;rensson</snm>
                  <fnm>N</fnm>
               </au>
            </aug>
            <pubdate>2003</pubdate>
            <url>http://minisat.se/Papers.html</url>
         </bibl>
         <bibl id="B12">
            <title>
               <p>The MiniSat Page</p>
            </title>
            <url>http://minisat.se/</url>
         </bibl>
         <bibl id="B13">
            <title>
               <p>Multithreaded SAT Solving</p>
            </title>
            <aug>
               <au>
                  <snm>Lewis</snm>
                  <fnm>M</fnm>
               </au>
               <au>
                  <snm>Schubert</snm>
                  <fnm>T</fnm>
               </au>
               <au>
                  <snm>Becker</snm>
                  <fnm>B</fnm>
               </au>
            </aug>
            <source>Proceedings of the 2007 conference on Asia South Pacific design automation</source>
            <pubdate>2007</pubdate>
            <fpage>926</fpage>
            <lpage>931</lpage>
         </bibl>
         <bibl id="B14">
            <title>
               <p>SAT4J, the satisfiability library for java</p>
            </title>
            <aug>
               <au>
                  <snm>Berre</snm>
                  <fnm>DL</fnm>
               </au>
            </aug>
            <pubdate>2004</pubdate>
            <url>http://www.sat4j.org/</url>
         </bibl>
         <bibl id="B15">
            <title>
               <p>A SAT-based system for haplotype inference from genotype data, using the pure parsimony criterion</p>
            </title>
            <url>http://users.ecs.soton.ac.uk/jpms/soft/</url>
         </bibl>
         <bibl id="B16">
            <title>
               <p>On the complexity of derivation in propositional calculus</p>
            </title>
            <aug>
               <au>
                  <snm>Tseitin</snm>
                  <fnm>GS</fnm>
               </au>
            </aug>
            <source>Studies in Constructive Mathematics and Mathematical Logic, Part II</source>
            <pubdate>1968</pubdate>
         </bibl>
         <bibl id="B17">
            <title>
               <p>Translating Pseudo-Boolean constraints into SAT</p>
            </title>
            <aug>
               <au>
                  <snm>E&#233;n</snm>
                  <fnm>N</fnm>
               </au>
               <au>
                  <snm>S&#246;rensson</snm>
                  <fnm>N</fnm>
               </au>
            </aug>
            <source>Journal on Satisfiability, Boolean Modeling and Computation</source>
            <pubdate>2006</pubdate>
            <volume>2</volume>
            <fpage>1</fpage>
            <lpage>25</lpage>
         </bibl>
         <bibl id="B18">
            <aug>
               <au>
                  <snm>Felsenstein</snm>
                  <fnm>J</fnm>
               </au>
            </aug>
            <source>Inferring Phylogenies</source>
            <publisher>Sunderland, Massachusetts: Sinauer Associates, Inc</publisher>
            <pubdate>2004</pubdate>
         </bibl>
         <bibl id="B19">
            <title>
               <p>Efficient and tight upper bounds for haplotype inference by Pure Parsimony using delayed haplotype selection</p>
            </title>
            <aug>
               <au>
                  <snm>Marques-Silva</snm>
                  <fnm>JP</fnm>
               </au>
               <au>
                  <snm>Lynce</snm>
                  <fnm>I</fnm>
               </au>
               <au>
                  <snm>Gra&#231;a</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Oliveira</snm>
                  <fnm>AL</fnm>
               </au>
            </aug>
            <source>Progress in Artificial Intelligence, Volume 4874 of LectureNotes in Computer Science, Springer Berlin/Heidelberg</source>
            <publisher/>
            <pubdate>2007</pubdate>
            <volume>4874</volume>
            <fpage>621</fpage>
            <lpage>632</lpage>
         </bibl>
         <bibl id="B20">
            <title>
               <p>Efficient Haplotype Inference with Pseudo-Boolean Optimization</p>
            </title>
            <aug>
               <au>
                  <snm>Gra&#231;a</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Marques-Silva</snm>
                  <fnm>JP</fnm>
               </au>
               <au>
                  <snm>Lynce</snm>
                  <fnm>I</fnm>
               </au>
               <au>
                  <snm>Oliveira</snm>
                  <fnm>AL</fnm>
               </au>
            </aug>
            <source>Algebraic Biology, Second International Conference, AB 2007, Castle of Hagenberg, Austria, July 2&#8211;4, 2007, Proceedings, Volume 4545 of Lecture Notes in Computer Science</source>
            <publisher>Springer Berlin/Heidelberg</publisher>
            <editor>Anai H, Horimoto K, Kutsia T</editor>
            <pubdate>2007</pubdate>
            <fpage>125</fpage>
            <lpage>139</lpage>
         </bibl>
         <bibl id="B21">
            <title>
               <p>Efficient Haplotype Inference with Combined CP and OR Techniques</p>
            </title>
            <aug>
               <au>
                  <snm>Gra&#231;a</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Marques-Silva</snm>
                  <fnm>JP</fnm>
               </au>
               <au>
                  <snm>Lynce</snm>
                  <fnm>I</fnm>
               </au>
               <au>
                  <snm>Oliveira</snm>
                  <fnm>AL</fnm>
               </au>
            </aug>
            <source>Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, Volume 5015 of Lecture Notes in Computer Science, Springer Berlin/Heidelberg</source>
            <pubdate>2008</pubdate>
            <fpage>308</fpage>
            <lpage>312</lpage>
         </bibl>
         <bibl id="B22">
            <title>
               <p>Comparative sequence analysis of Solanum and Arabidopsis in a hot spot for pathogen resistance on potato chromosome V reveals a patchwork of conserved and rapidly evolving genome segments</p>
            </title>
            <aug>
               <au>
                  <snm>Ballvora</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>J&#246;cker</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Vieh&#246;ver</snm>
                  <fnm>P</fnm>
               </au>
               <au>
                  <snm>Ishihara</snm>
                  <fnm>H</fnm>
               </au>
               <au>
                  <snm>Paal</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Meksem</snm>
                  <fnm>K</fnm>
               </au>
               <au>
                  <snm>Bruggmann</snm>
                  <fnm>R</fnm>
               </au>
               <au>
                  <snm>Schoof</snm>
                  <fnm>H</fnm>
               </au>
               <au>
                  <snm>Weisshaar</snm>
                  <fnm>B</fnm>
               </au>
               <au>
                  <snm>Gebhardt</snm>
                  <fnm>C</fnm>
               </au>
            </aug>
            <source>BMC Genomics</source>
            <pubdate>2007</pubdate>
            <volume>8</volume>
            <fpage>112</fpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">17474978</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B23">
            <title>
               <p>The Potato Maps and More Database PoMaMo</p>
            </title>
            <url>http://www.gabipd.org/projects/Pomamo/</url>
         </bibl>
         <bibl id="B24">
            <title>
               <p>PoMaMo &#8211; a comprehensive database for potato genome data</p>
            </title>
            <aug>
               <au>
                  <snm>Meyer</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Nagel</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Gebhardt</snm>
                  <fnm>C</fnm>
               </au>
            </aug>
            <source>Nucleic Acids Res</source>
            <pubdate>2005</pubdate>
            <volume>33</volume>
            <fpage>D666</fpage>
            <lpage>D670</lpage>
            <xrefbib>
               <pubidlist>
                  <pubid idtype="pmcid">539972</pubid>
                  <pubid idtype="pmpid" link="fulltext">15608284</pubid>
               </pubidlist>
            </xrefbib>
         </bibl>
         <bibl id="B25">
            <title>
               <p>Single nucleotide polymorphism (SNP) genotyping as basis for developing a PCR-based marker highly diagnostic for potato varieties with high resistance to Globodera pallida pathotype Pa2/3</p>
            </title>
            <aug>
               <au>
                  <snm>Sattarzadeh</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Achenbach</snm>
                  <fnm>U</fnm>
               </au>
               <au>
                  <snm>L&#252;beck</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Strahwald</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Tacke</snm>
                  <fnm>E</fnm>
               </au>
               <au>
                  <snm>Hofferbert</snm>
                  <fnm>HR</fnm>
               </au>
               <au>
                  <snm>Rothsteyn</snm>
                  <fnm>T</fnm>
               </au>
               <au>
                  <snm>Gebhardt</snm>
                  <fnm>C</fnm>
               </au>
            </aug>
            <source>Molecular Breeding</source>
            <pubdate>2006</pubdate>
            <volume>18</volume>
            <issue>4</issue>
            <fpage>301</fpage>
            <lpage>312</lpage>
         </bibl>
         <bibl id="B26">
            <title>
               <p>The R1 resistance gene cluster contains three groups of independently evolving, type I R1 homologues and shows substantial structural variation among haplotypes of Solanum demissum</p>
            </title>
            <aug>
               <au>
                  <snm>Kuang</snm>
                  <fnm>HH</fnm>
               </au>
               <au>
                  <snm>Wei</snm>
                  <fnm>FS</fnm>
               </au>
               <au>
                  <snm>Marano</snm>
                  <fnm>MR</fnm>
               </au>
               <au>
                  <snm>Wirtz</snm>
                  <fnm>U</fnm>
               </au>
               <au>
                  <snm>Wang</snm>
                  <fnm>XX</fnm>
               </au>
               <au>
                  <snm>Liu</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Shum</snm>
                  <fnm>WP</fnm>
               </au>
               <au>
                  <snm>Zaborsky</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Tallon</snm>
                  <fnm>LJ</fnm>
               </au>
               <au>
                  <snm>Rensink</snm>
                  <fnm>W</fnm>
               </au>
               <au>
                  <snm>Lobst</snm>
                  <fnm>S</fnm>
               </au>
               <au>
                  <snm>Zhang</snm>
                  <fnm>PF</fnm>
               </au>
               <au>
                  <snm>Tornqvist</snm>
                  <fnm>CE</fnm>
               </au>
               <au>
                  <snm>Tek</snm>
                  <fnm>A</fnm>
               </au>
               <au>
                  <snm>Bamberg</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Helgeson</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Fry</snm>
                  <fnm>W</fnm>
               </au>
               <au>
                  <snm>You</snm>
                  <fnm>F</fnm>
               </au>
               <au>
                  <snm>Luo</snm>
                  <fnm>MC</fnm>
               </au>
               <au>
                  <snm>Jiang</snm>
                  <fnm>JM</fnm>
               </au>
               <au>
                  <snm>Buell</snm>
                  <fnm>CR</fnm>
               </au>
               <au>
                  <snm>Baker</snm>
                  <fnm>B</fnm>
               </au>
            </aug>
            <source>Plant Journal</source>
            <pubdate>2005</pubdate>
            <volume>44</volume>
            <fpage>37</fpage>
            <lpage>51</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">16167894</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B27">
            <title>
               <p>Haplotypes vs single marker linkage disequilibrium tests: what do we gain?</p>
            </title>
            <aug>
               <au>
                  <snm>Akey</snm>
                  <fnm>J</fnm>
               </au>
               <au>
                  <snm>Jin</snm>
                  <fnm>L</fnm>
               </au>
               <au>
                  <snm>Xiong</snm>
                  <fnm>M</fnm>
               </au>
            </aug>
            <source>European Journal of Human Genetics</source>
            <pubdate>2001</pubdate>
            <volume>9</volume>
            <fpage>291</fpage>
            <lpage>300</lpage>
            <xrefbib>
               <pubid idtype="pmpid" link="fulltext">11313774</pubid>
            </xrefbib>
         </bibl>
         <bibl id="B28">
            <title>
               <p>The GABI Primary Database GabiPD &#8211; SATlotyper</p>
            </title>
            <url>http://www.gabipd.org/projects/satlotyper/</url>
         </bibl>
         <bibl id="B29">
            <title>
               <p>The GABI Primary Database GabiPD</p>
            </title>
            <url>http://www.gabipd.org/</url>
         </bibl>
      </refgrp>
   </bm>
</art>
