Patent Publication Number: US-7917297-B2

Title: Methods, software arrangements, storage media, and systems for genotyping or haplotyping polymorphic genetic loci or strain identification

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a national stage application of PCT Application No. PCT/US2004/024766 which was filed on Aug. 1, 2004 and published in English on Feb. 10, 2005 as International Publication No. WO 2005/013091 (the “International Application”), This application also claims priority from U.S. Patent Application Ser. No. 60/492,210, filed on Aug. 1, 2003 (the “&#39;210 Application”). The entire disclosures of these applications are incorporated herein by reference. This application claims priority from the International Application pursuant to 35 U.S.C. §365, and from the &#39;210 Application pursuant to 35 U.S.C. §§119(e) and 365. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to systems, methods, and software arrangements for genotyping or haplotyping polymorphic genetic loci or strain identification. 
     BACKGROUND OF THE INVENTION 
     The human leukocyte antigen (“HLA”) region on chromosome 6 is highly polymorphic. In particular, the sequence of this region varies from person to person. See, e.g., Consolandi et al.,  Human Immunology  2003, 64:168. Approximately 1,750 different sequence variants or “alleles” have been identified to date at the HLA locus. There are many biological implications of the high degree of heterogeneity of this region. For example, the presence or absence of a given HLA allele or “HLA type” may predict the presence or absence of diseases, dictate the course of treatment for a patient, or, most notably, determine the compatibility of a potential transplant recipient with the donor organ or bone marrow. 
     One of the approaches to finding the right allele is to design a microarray experiment that provides the allele as an answer. In fact, HLA typing by sequence hybridization with sequence-specific oligonucleotide probes (“SSOP”) is currently practiced by the National Marrow Donor Program (“NMDP”) for donor-recipient matching, along with more traditional serological-based methods. See, e.g., Cao et al.,  Reviews in Immunogenetics  1999, 1:177; and Noreen et al.,  Tissue Antigens  2001, 57:221. In a format that is popular in many current test methods, the DNA samples to be classified are amplified with locus-specific primers, and spotted onto the microarray chips, thus resulting in multiple copies of identical chips; each chip is then hybridized to a different probe. See Balazs et al.,  Human Immunology  2001, 62:850; Consolandi et al.,  Human Immunology  2003, 64:168. This methodology necessitates a new design process every time a new set of patient samples must be classified. Moreover, most of the currently used techniques are both time-consuming and lack optimality. 
     The system, process, storage medium and software arrangement according to one exemplary embodiment of present application provides a graph model on the set of potential probes in which the HLA typing problem is formulated mathematically as an optimization problem. According to the present application, it is also possible to utilize an algorithm for solving the optimization problem. The processes of translating the typing problem to the graph model and translating the optimizing probe set back to an experimental design for HLA typing are also described. Extensions of the graph model to more detailed physical models are discussed as well. 
     SUMMARY OF THE INVENTION 
     Embodiments of systems, processes, storage media and software arrangements for genotyping or haplotyping the polymorphic genetic loci or strain identification according to the present invention may optimize the design of one or more microarrays, each containing a set of oligonucleotides that are capable of detecting known genotypes or haplotypes at given polymorphic genetic loci. This can be done by optimizing the set of oligonucleotides to be incorporated into the microarrays and/or by optimizing the arrangement of a set of oligonucleotides on the microarrays. Such optimization may also be achieved through the application of one or more optimization algorithms. The present invention may be useful in typing individuals at the HLA loci or other polymorphic genetic loci, and/or may be employed to quickly identify viral or bacterial pathogens from which genome sequence information is available. 
     In contrast to the conventional systems and methods according to the present invention, the sequence-specific probes may be placed on a microarray chip, and each patient sample can be applied to the chip to allow the hybridization with one or more of the chip-bound probes to occur. With an appropriate selection of probes, the same chip can be used for all classifications. However, the number of probes to be used, their sequence compositions, and their arrangement on the chip are some of the design variables that should preferably be considered in preparing the microarray. A general solution to solving these design problems is preferably one that allows the “recognition” of all existing alleles at a target locus, and/or that can decide that the given DNA sequence contains an allele that is not in the “known” list. Such an allele may be a new, previously unknown allele, or one of the very rare alleles that occur so infrequently that they are not considered HLA types. For example, an exemplary embodiment of the present invention is directed toward systems, processes, storage media and software arrangements for genotyping or haplotyping a DNA sample at one or more polymorphic loci contained in the sample through the use of microarray μA, which can be defined by a set of oligonucleotide hybridization probes configured on the surface of the microarray in a two-dimensional arrangement. The process of querying a given polymorphic locus in a DNA sample (hereafter referred to as a “target” sequence) by a hybridization experiment can be denoted by the expression
 
(T j ,μA k )→D→{circumflex over (T)} j   (1)
 
where T j  is the true allele contained in the target sequence, μA k  is the microarray used in the query, D is the data output of the hybridization experiment, and {circumflex over (T)} j  is the allele inferred from the data. Both processes in equation (1) are described below.
 
     The problem of genotyping or haplotyping then can be formulated as that of designing, e.g., the “best” microarray, namely, the set and arrangement of oligonucleotide probes that “works” for all known alleles (i.e., ∀j). In the notation employed herein, this means finding μA k  which solves the optimization 
                     min   ⁢           ⁢       ∑     type   ⁢           ⁢   j       ⁢       w   j     ⁢           ⁢     E   ⁡     [     Π       T   j     ≠       T   ^     j         ]             ⇔     min   ⁢           ⁢       ∑     type   ⁢           ⁢   j       ⁢       w   j     ⁢           ⁢       Pr   ⁡     (       T   j     ≠       T   ^     j       )       .                   (   2   )               
Here, Π X  is the indicator function
 
               Π   X     =     {           1   ,           if   ⁢           ⁢   X   ⁢           ⁢   is   ⁢           ⁢   true               0   ,         otherwise         }           
and w j  is the weight assigned to type j. Initially, w j  can be set such that w j =1∀j. At a later point it may be desirable to weigh different HLA types differently, based on the frequency of their occurrence in human population or some other criteria.
 
     According to another exemplary embodiment of the present invention, a pseudocode can be provided to select an optimal set of oligonucleotide probes to be incorporated into the one or more microarray devices to be used to genotype or haplotype polymorphic loci or identify the strain present in a DNA sample. According to this exemplary embodiment, vertex boosting weights (initially set to probe information weights) can be used to define a probability distribution on a vertex set present in a graphical representation of “response vectors” derived from each potential probe sequence. On each iteration of a boosting loop, a random subset of a specified size can be selected according to the current probability distribution. All edges in the induced subgraph on this random subset are broken, with one of the terminal vertices removed. The boosting weights of the elements of the subset can then be modified so that the vertices that stayed in the subset are more likely, and the vertices that were thrown out are less likely to be chosen on the next iteration. The boosting loop may be terminated after a predetermined number of iterations have been performed without further improvement to the list of top independent sets. In addition, the boosting loop can be restarted several times with original probe information weights, which prevents convergence to a local optimum. 
     The exemplary embodiments of the systems, processes, storage media and software arrangements of the present invention are generally more beneficial in comparison to conventional methods in that they require fewer probes, thereby minimizing the cost associated with the use of such probes. The exemplary embodiments of the systems, processes, storage media and software arrangements of the present invention are also preferable to conventional methods in that they can minimize competition among neighboring probes, thereby reducing or eliminating the occurrence of systematic biases in the error process. 
     For a better understanding of the present invention, together with other and further objects, reference is made to the following description, taken in conjunction with the accompanying drawings, and its scope will be pointed out in the appended claims. 
    
    
     
       DETAILED DESCRIPTION OF THE DRAWINGS 
       For a more complete understanding of the present invention and its advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which: 
         FIG. 1A  is an exemplary embodiment of a system according to the present invention for determining an optimal set of oligonucleotide probes for use in a microarray designed to perform genotyping or haplotyping of polymorphic genetic loci; 
         FIG. 1B  is an exemplary embodiment of a procedure according to the present invention for determining an optimal set of oligonucleotide probes for use in a microarray designed to perform genotyping or haplotyping of polymorphic genetic loci; 
         FIG. 2  is a first exemplary embodiment of a probe selection procedure (Shown in  FIG. 1B ) of the present invention for determining an optimal set of oligonucleotide probes for use in a microarray designed to perform genotyping or haplotyping of polymorphic genetic loci; 
         FIG. 3  is a second exemplary embodiment of the probe selection procedure shown in  FIG. 1B  of the present invention for determining an optimal set of oligonucleotide probes for use in a microarray designed to perform genotyping or haplotyping of polymorphic genetic loci, in which exemplary embodiments of certain steps of  FIG. 2  are further illustrated. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     An exemplary embodiment of the present invention is directed to systems, processes, storage media and software arrangements for genotyping or haplotyping polymorphic genetic loci (e.g., an HLA locus, in a subject) or strain identification. HLA haplotyping or genotyping may assist in, e.g., a prediction of a presence or absence of diseases, selecting a course of treatment for a patient, and/or determining the compatibility of a potential transplant recipient with the donor organ or bone marrow. The systems, processes, storage media and software arrangements of the present invention also may be useful for e.g., identifying the presence of an unknown pathogen, including but not limited to a virus or a bacterium, in a sample. 
     By providing a relatively rapid, inexpensive, and potentially highly accurate way of genotyping or haplotyping polymorphic genetic loci or strain identification, the exemplary systems, processes, storage media and software arrangements of the present invention also can be useful in elucidating genotype/phenotype correlations in complex genetic disorders, i.e., those in which more than one gene may play a significant role, or in genetic diseases characterized by the presence of a relatively large number of genotypes or haplotypes at polymorphic loci. The knowledge obtained from the exemplary systems, processes, storage media, and software arrangements of the present invention therefore may assist in facilitating the diagnosis, treatment, and prognosis of individuals bearing a given phenotype. 
       FIG. 1A  shows an exemplary embodiment of a system according to the present invention for determining a particular set of oligonucleotide probes for a use in a microarray designed to perform genotyping and/or haplotyping of at least one polymorphic genetic locus. For example, the system includes a processing arrangement  10  (e.g., a computer), which stores a computer program on a storage arrangement  15  (e.g., memory, hard drive, etc.) to execute the exemplary techniques described herein below. In particular, the computer program, when executed by the processing arrangement  10 , causes the processing arrangement to obtain known sequences representing classes, e.g., HLA allele sequences, from an external source  20  or any source (as described below). Then the processing arrangement  10  applies a probe selection technique according to the present invention. Thereafter, the processing arrangement  10  outputs the results of the execution of this technique. 
       FIG. 1B  illustrates a first exemplary embodiment of a process for determining an optimal set of oligonucleotide probes for use in a microarray designed to perform genotyping or haplotyping of polymorphic genetic loci or strain identification which can use the exemplary system shown in  FIG. 1A . In this exemplary embodiment, the process executes a first step  100  in which nucleotide sequences of known genotypes or haplotypes at predetermined polymorphic loci, or strain-specific sequences, may be obtained. Such information can be obtained from a number of sources. For example, this data can be obtained from genetic databases including, but not limited to, GenBank and/or other databases maintained by public or private (commercial and noncommercial) institutions. The databases suitable for use with the systems, processes, storage media and software arrangements of the present invention will be readily apparent to those of ordinary skill in the art of DNA sequencing. Alternatively, such information may-be obtained from the prior direct, sequencing of one or more test samples. 
     Once a set of known sequences corresponding to genotypes or haplotypes at polymorphic genetic loci or strains is assembled, the probe selection procedure  200  of the present invention may be applied to this set to identify an optimal subset of oligonucleotide probes required to genotype or haplotype the polymorphic genetic loci or identify the strain. This can be executed by the processing arrangement of  FIG. 1A . The optimization of the set of oligonucleotide probes may include, but is not limited to, the determination of the overall lengths of the various probes, their sequence compositions, and the minimum number of probes required to identify all selected target genotypes or haplotypes or strains. Many if not all selected target genotypes or haplotypes or strains may include all known genotypes or haplotypes at predetermined polymorphic genetic loci or strains, or a subset thereof. For example, the identification may be limited only to those alleles that are most prevalent in the population from which the DNA sample to be genotyped and/or haplotyped has been obtained. 
     In another step of the process for determining the optimal set of oligonucleotide probes of  FIG. 1B , an optimal subset of oligonucleotide probes preferred for genotyping and/or haplotyping polymorphic genetic loci or strain identification may be generated by the probe selection technique  200  and processing arrangement  10 . The optimal probe set  300  may then be arranged on one or more microarray devices to determine the genotype or haplotype of polymorphic genetic loci or identify the strain present in a DNA sample. 
     Another exemplary embodiment of the present invention further relates to the optimal arrangement of the optimal set of oligonucleotide probes on the one or more microarray devices. The exemplary arrangement of the probes may be based on one or more “conceptual” measures of probe distance. The “conceptual” probe distance can use available biological knowledge about the portions of the genome containing the probes in question, as well as a measure of competition between these probes, as described in Chapter 3 of Cherepinsky,  Ph.D. Thesis , New York University 2003. An exemplary recursive technique according to the present invention can facilitate a separation between the “nearest” probe pairs by at least a specified minimum physical distance on the chip. This optimized arrangement can be designed to be disruptive to neighborhoods, defined with respect to the “conceptual” probe distance. Thus, the exemplary arrangement can place conceptually nearby probes far apart on the surface, thereby minimizing the likelihood for competitive interactions between neighboring probes. 
       FIG. 2  illustrates a first exemplary embodiment of the probe selection algorithm  200  of the present invention for determining the optimal set of oligonucleotide probes. In this exemplary embodiment, the biological problem to be solved, e.g., designing an optimal set of probes to be used on a microarray for determining the genotype or haplotype of polymorphic genetic loci, such as the human HLA region, or strain, variation may first be translated into a graph optimization problem  210 . The graph optimization problem can then be solved (item  220 ) through an application of the exemplary technique according to the present invention. The graph optimization solution  230  can then be translated back into the context of the biological problem to be solved. 
       FIG. 3  shows a second exemplary embodiment of the probe selection technique (see process  200  of  FIG. 1B ) according to the present invention for determining the optimal set of oligonucleotide probes, in which the exemplary embodiments of the processes  210  and  220  of  FIG. 2  are further illustrated. In this exemplary embodiment, selected target genotypes and/or haplotypes, which may include all known genotypes or haplotypes at one or more predetermined polymorphic genetic loci or a subset thereof, depending on whether pre-processing has been performed, may be used to generate potential probe sequences  211 . The potential probe sequences  211  can then be used to generate probe response vectors (PRVs)  212 . Using the PRVs  212 , a complete edge-weighted and vertex-weighted graph G=(V,E)  213  may be constructed and the algorithm parameters estimated and set. Said parameters include the following: M, the upper bound on the size of the independent set sought; a, the scaling factor used to modify boosting weights of vertices on each iteration of the algorithm; ρ, the edge threshold; parameters minRestartNum and noImprovements, used to set loop termination conditions; as well as unnamed parameters such as the size of the “current-best” list of independent sets. Criteria for estimating M are obtained via probabilistic analysis, discussed in section C.6 of present application. Other parameters are chosen by trial and error. 
     Once the graph G is constructed, the exemplary technique of the present invention may be applied to identify one or more optimal subsets of PRVs (step  221 ), which are output from this exemplary technique. In a post-processing procedure, one or more of the candidate optimal subsets  222  can be selected for a maximum discriminatory power by testing allele coding vectors for redundancy. 
     The PRVs present in the optimal subset may then be converted back into probe nucleotide sequences by reporting the DNA sequence associated with the probe used to generate each PRV contained in the optimal-subset (item  231 ). This exemplary procedure may be equivalent to translating the solution of the graph optimization problem back into a biological context. 
     Overall Process Description According to the Present Invention 
     A. Mathematical Formulation 
     1. Definitions 
     Let the different HLA types, or alleles, be denoted by T j , j=1, . . . , N. (Here, N=1750, the approximate number of known HLA types.) Let a given microarray be denoted by μA k ,k ε  , where a microarray is defined by a set of hybridization probes and their two-dimensional arrangement on the chip surface. The process of querying the given DNA sequence (hereafter referred to as a “target” sequence) by hybridization can be denoted by the expression
 
(T j ,μA k )→D→{circumflex over (T)} j   (1)
 
where {circumflex over (T)} j  is the true allele contained in the target sequence, μA k  is the microarray used in the query, D is the data output of the hybridization experiment, and {circumflex over (T)} j  is the allele inferred from the data. Both processes in (1) are described below.
 
     The problem of HLA typing can then be formulated as that of designing the best microarray, namely, the set and arrangement of probes, which “works” for all known HLA types (i.e., ∀j). In the present notation, this can mean finding μA k  which solves the optimization problem 
                     min   ⁢           ⁢       ∑     type   ⁢           ⁢   j       ⁢       w   j     ⁢           ⁢     E   ⁡     [     Π       T   j     ≠       T   ^     j         ]             ⇔     min   ⁢           ⁢       ∑     type   ⁢           ⁢   j       ⁢       w   j     ⁢           ⁢       Pr   ⁡     (       T   j     ≠       T   ^     j       )       .                   (   2   )               
Here, Π X  is the indicator function
 
               Π   X     =     {           1   ,           if   ⁢           ⁢   X   ⁢           ⁢   is   ⁢           ⁢   true               0   ,         otherwise         }           
and w j  is the weight assigned to type j. Initially, w j  can be set such that w j =1∀j. At a later point, it may be desirable to weigh different HLA types differently, based on the frequency of their occurrence in human population or some other criteria.
 
     There are several procedures that should be considered in detail: obtaining data D from an experiment based on allele T j  and microarray μA k  (described below in Section A.2), inferring allele {circumflex over (T)} j  from the data (described below in Section A.3), generating potential microarrays for the typing experiments (described below in Section A.4), and selecting the optimal microarray (Section B). 
     2. (T j ,μA k )→D 
     Consider the set of probes {P 1 , k , . . . , P n(k),k } constituting microarray μA k , initially neglecting their arrangement. Ideally, the outcome of the hybridization of the target sequence with each probe P would be binary: 1, if the target contains a subsequence complementary to P, and 0, otherwise. Using n=n(k) probes then yields a binary string of length n, or, alternately, a vector of length n, as a code for the target sequence. In practice, hybridization results may not necessarily be binary. In particular, the measurements are the analog intensity values corresponding to the amount of formed probe-target complex for each probe. In addition, in an attempt to “factor out” the non-specific signal, each probe can often be present in two versions: one (e.g., a perfect match, or “pm”) perfectly complementary to a region on the target, and the other (e.g., a mismatch, or “mm”) slightly mismatched, the latter usually containing a single base mismatch near the center of the probe. This is the case, for example, in Affymetrix GeneChips. In such setup, the signal from probe P may be the match-to-mismatch ratio, i.e., the ratio of the intensities corresponding to the matched and mismatched probe-target complexes. Furthermore, the signal can be log-transformed, so that the hybridization outcome for probe P is really the value of 
     
       
         
           
             log 
             ⁡ 
             
               ( 
               
                 
                   TP 
                   pm 
                 
                 
                   TP 
                   mm 
                 
               
               ) 
             
           
         
       
     
     The situation may further be complicated because the probes may hybridize to positions on the target other than those they were designed to detect—this is known as “cross-hybridization.” In addition, the fact that many probes are present in the system may cause the signal (i.e., the hybridization outcome) from a given probe to differ from the signal of the same probe in the absence of other probes. This is described in more detail in Cherepinsky,  Ph.D. Thesis , New York University 2003, Chapter 3. 
     Thus, the actual result of a hybridization experiment is a vector of n measurements, D ε    n . 
     3. D→{circumflex over (T)} j    
     To infer the allele from the n-vector, the ideal process should be referred to again, where the outcome is D ε {0,1} n . If the probes are selected in such a way so as to provide a distinct binary string for each known allele (so that the Hamming distance d H  between any pair of data vectors D i , D k  is at least 1), then these n probes can be sufficient to identify the allele of the target sequence. What is preferred is to query the sequence with the n probes and read off the allele to which the pattern corresponds. Furthermore, if it is required that d H  (D i , D k )≧α for some α&gt;1, then the discrimination power can be increased and error-correction is possible. This is discussed in greater detail below (e.g., Section B.6). 
     In a practical setting, D ε    n . Thus, as a first procedure, some thresholding process must be applied to D to reduce it to a binary string. 
     4. Generating Potential Microarrays
         a. Selection of Informative Probes. A set of n probes, each of length L, that are at least d letters apart (pairwise), must be provided for optimal discrimination among the allele sequences.       

     If L is not specified, it can be chosen arbitrarily (say, 20), or allowed to vary from probe to probe. 
     With no restrictions, a very large n can be chosen; for example, every possible 20-mer could be used as a probe. However, this would result in 4 20 =2 40 =(2 10 ) 4 &gt;(10 3 ) 4 =10 12 , or over a trillion, probes. Such a large set may not be desirable, since many of these probes would give the same results, and it is too expensive to produce all of them. Allowing both n and L to vary may give an even larger number of potential probe sequences. 
     The probe design problem relates to selecting which of the probes are most useful in discriminating among the given allele sequences, and how many (or rather, how few) one can use appropriately.
         b. Arrangement of Probes on the Chip. When a set of probes has been selected using techniques described herein above, a question still remains of how to arrange these probes on the microarray chip. Several studies indicate that the patterns observed in the results of chip experiments may be due to the arrangement of probes on the chip. See e.g., Kluger et al., submitted to  Nature Genetics,  2004 at URL http://bioinfo.mbb.yale.edu/˜kluger/pipeline/KLUGERetal_NG.pdf; Yu et al., submitted to  Nature Biotechnology,  2004 at URL http://bioinfo.mbb.yale.edu/˜kluger/pipeline/YQK_NB.pdf; and Qian et al., submitted to  Biotechniques,  2004 at URL http://bioinfo.mbb.yale.edu/˜kluger/pipeline/QYK_artifact.pdf. In particular, it has been observed that the probes are arranged on a chip based on the labels of the genes they represent, and a gene label is often related to the function and/or disorder in which the gene is involved. As a result, genes of shared function have similar labels and are coexpressed, generating monochromatic bands on microarray chip scans.       

     These studies indicate that additional consideration should be given to the arrangement of the probes on the chip, based on certain “conceptual” measure of probe distance. The “conceptual” probe distance can use available biological knowledge about the portions of the genome containing the probes in question, as well as a measure of competition between these probes, as discussed Chapter 3 of Cherepinsky,  Ph.D. Thesis , New York University 2003. The recursive technique described below can ensure that the “nearest” probe pairs would be separated by at least a specified minimum physical distance on the chip. It is designed to be disruptive to neighborhoods, defined with respect to the “conceptual” probe distance. Thus, the exemplary technique places conceptually nearby probes far apart on the surface. 
     Consider a bijective function f: {0, . . . , N 2 −1}→{0, . . . ,N−1}×{0, . . . ,N−1} that maps every pair of “nearby” points in the domain space to a pair of “distant” points in the range space. In particular, the following devised function ƒ with the following property should be considered: For every x, y, if |x−y|≦4 α , then ∥ƒ(x)−ƒ(y)∥ 1 ≧N/(2 α+1 ). This function likely gives an optimal placement. If the elements of the domain space satisfy other distance properties, this technique can be suitably generalized to handle similar properties with respect to the new distance metric. 
     This function can play an important role in determining how to place a set of oligonucleotide probes on a microarray surface in such a manner that if two probes are close to one another in their genome locations then they are reasonably far apart on the array. Thus, a placement determined by the function can minimize the competition among the probes for the genomic targets, as well as the systematic biases in the error processes. 
     Inductively, a uniform family of functions ƒ k  may be defined as follows. Let k&lt;lg N. 
                     f     k   +   1       :       ⁢       {     0   ,   …   ⁢           ,       N   2     -   1       }     →       {     0   ,   …   ⁢           ,     N   -   1       }     ×     {     0   ,   …   ⁢           ,     N   -   1       }                     :       ⁢     x   ↦       〈     i   ,   j     〉     .                   
f k+1  is defined in terms of f k ,
 
ƒ k :{0, . . . ,N 2 /4−1}→
 
{0, . . . ,N/2−1}×{0, . . . ,N/2−1},
 
as follows:
 
     
       
         
           
             
               
                 
                   
                     
                       f 
                       
                         k 
                         + 
                         1 
                       
                     
                     ⁡ 
                     
                       ( 
                       x 
                       ) 
                     
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               
                                 f 
                                 k 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   [ 
                                   
                                     x 
                                     4 
                                   
                                   ] 
                                 
                                 ) 
                               
                             
                             , 
                           
                         
                         
                           
                             
                               if 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               x 
                             
                             ≡ 
                             
                               0 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               mod 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               4 
                             
                           
                         
                       
                       
                         
                           
                             
                               
                                 
                                   f 
                                   x 
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     [ 
                                     
                                       x 
                                       4 
                                     
                                     ] 
                                   
                                   ) 
                                 
                               
                               + 
                               
                                 〈 
                                 
                                   0 
                                   , 
                                   
                                     N 
                                     2 
                                   
                                 
                                 〉 
                               
                             
                             , 
                           
                         
                         
                           
                             
                               if 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               x 
                             
                             ≡ 
                             
                               1 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               mod 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               4 
                             
                           
                         
                       
                       
                         
                           
                             
                               
                                 
                                   f 
                                   x 
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     [ 
                                     
                                       x 
                                       4 
                                     
                                     ] 
                                   
                                   ) 
                                 
                               
                               + 
                               
                                 〈 
                                 
                                   
                                     N 
                                     2 
                                   
                                   , 
                                   0 
                                 
                                 〉 
                               
                             
                             , 
                           
                         
                         
                           
                             
                               if 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               x 
                             
                             ≡ 
                             
                               2 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               mod 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               4 
                             
                           
                         
                       
                       
                         
                           
                             
                               
                                 
                                   f 
                                   x 
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     [ 
                                     
                                       x 
                                       4 
                                     
                                     ] 
                                   
                                   ) 
                                 
                               
                               + 
                               
                                 〈 
                                 
                                   
                                     N 
                                     2 
                                   
                                   , 
                                   
                                     N 
                                     2 
                                   
                                 
                                 〉 
                               
                             
                             , 
                           
                         
                         
                           
                             
                               if 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               x 
                             
                             ≡ 
                             
                               3 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               mod 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               4 
                             
                           
                         
                       
                     
                     } 
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
     This function can be generalized, without its general properties being affected, by including a random permutation π k+1 : {0, . . . ,3}→{0, . . . ,3} as follows: 
     
       
         
           
             
               
                 f 
                 
                   k 
                   + 
                   1 
                 
               
               ⁡ 
               
                 ( 
                 x 
                 ) 
               
             
             = 
             
               { 
               
                 
                   
                     
                       
                         
                           f 
                           k 
                         
                         ⁡ 
                         
                           ( 
                           
                             [ 
                             
                               x 
                               4 
                             
                             ] 
                           
                           ) 
                         
                       
                       , 
                     
                   
                   
                     
                       
                         if 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         x 
                       
                       ≡ 
                       
                         
                           
                             π 
                             
                               k 
                               + 
                               1 
                             
                           
                           ⁡ 
                           
                             ( 
                             0 
                             ) 
                           
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         mod 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         4 
                       
                     
                   
                 
                 
                   
                     
                       
                         
                           f 
                           k 
                         
                         ⁡ 
                         
                           ( 
                           
                             [ 
                             
                               x 
                               4 
                             
                             ] 
                           
                           ) 
                         
                       
                       + 
                       
                         〈 
                         
                           0 
                           , 
                           
                             N 
                             2 
                           
                         
                         〉 
                       
                     
                   
                   
                     
                       
                         if 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         x 
                       
                       ≡ 
                       
                         
                           
                             π 
                             
                               k 
                               + 
                               1 
                             
                           
                           ⁡ 
                           
                             ( 
                             1 
                             ) 
                           
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         mod 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         4 
                       
                     
                   
                 
                 
                   
                     
                       
                         
                           f 
                           k 
                         
                         ⁡ 
                         
                           ( 
                           
                             [ 
                             
                               x 
                               4 
                             
                             ] 
                           
                           ) 
                         
                       
                       + 
                       
                         〈 
                         
                           
                             N 
                             2 
                           
                           , 
                           
                             N 
                             2 
                           
                         
                         〉 
                       
                     
                   
                   
                     
                       
                         if 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         x 
                       
                       ≡ 
                       
                         
                           
                             π 
                             
                               k 
                               + 
                               1 
                             
                           
                           ⁡ 
                           
                             ( 
                             2 
                             ) 
                           
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         mod 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         4 
                       
                     
                   
                 
                 
                   
                     
                       
                         
                           f 
                           k 
                         
                         ⁡ 
                         
                           ( 
                           
                             [ 
                             
                               x 
                               4 
                             
                             ] 
                           
                           ) 
                         
                       
                       + 
                       
                         〈 
                         
                           
                             N 
                             2 
                           
                           , 
                           
                             N 
                             2 
                           
                         
                         〉 
                       
                     
                   
                   
                     
                       
                         if 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         x 
                       
                       ≡ 
                       
                         
                           
                             π 
                             
                               k 
                               + 
                               1 
                             
                           
                           ⁡ 
                           
                             ( 
                             3 
                             ) 
                           
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         mod 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         4 
                       
                     
                   
                 
               
               } 
             
           
         
       
     
     Herein below, k may take the value (lg N−1), and the base case is given by the function
 
ƒ 2 :{0, . . . ,15}→{0, . . . ,3}×{0, . . . ,3}
 
where
 
0   0,0  1   0,2  2   2,0  3   2,2 4   0,1  5   0,3  6   2,1  7   2,3 8   1,0  9   1,2  10   3,0  11   3,2 12   1,1  13   1,3  14   3,1  15   3,3   (4)
 
This base map can be described in matrix format as follows:
 
                   [         0       4       1       5           8       12       9       13           2       6       3       7           10       14       11       15         ]           (   5   )               
Taking N=2 l , N 2 =4 l  probes can be placed by applying ƒ l : {0, . . . ,4 l −1}, which after l −2 recursive steps, defined in equation (3), may reduce to the base case ƒ 2 : {0, . . . ,15} shown in equations (4) and (5).
 
     Function ƒ l  can have the following distance properties. Let D(i, j) be the distance between probes p i  and p j , when arrayed on a line (by relabeling the probes, one can view this as the index separation |i−j|). Let d(i, j) be their distance when arrayed on the surface. Then, the mapping ƒ l  may guarantee that for all p i , p j  for which D(i, j)≦4 k , d(i, j)≧2 l−k−1 , where k=0, . . . ,l−1. Furthermore, if d(i, j)=1, that is p i  is placed next to p j  on the surface, then D(i, j) ≧3·4 l−2 . 
     For example, let l=3. There are N 2 =4 l =64 probes, which are placed by ƒ 3  according to 
               [         0       16       4       20                   1       17       5       21           32       48       36       52                   33       49       37       53           8       24       12       28                   9       25       13       29           40       56       44       60                   41       57       45       61                                                                                                                           2       18       6       22                   3       19       7       23           34       50       38       54                   35       51       39       55           10       26       14       30                   11       27       15       31           42       58       46       62                   43       59       47       63         ]               
The probe distances
 
                   k       D       d           0       1       4           1       4       2           2       16       1                   
likely satisfy the condition that if D≦4 k , then d≧N/2 k+1 =2 l−k−1 .
 
     The problem of an automatic generation of probe sets for DNA microarrays is described in Krause et al.,  Second IEEE International Workshop on High Performance Computational Biology  ( HiCOMB  2003), online proceedings at URL http://hpc.eece.unm.edu/HiCOMB/proceedings.html. However, the work described by Krause et al. aims for a probe set that is, even in ideal circumstances, asymptotically much larger than the one generated by the exemplary embodiments of the present invention. 
     Other biological problems, such as identifying an unknown pathogen as a member of a list of known pathogens, be they viral (see Rash and Gusfield, in  Proceedings of the Sixth Annual International Conference on Computational Biology  ( RECOMB &#39; 02), ACM Press, pp. 254-261) or bacterial (see Borneman et al.,  Bioinformatics  2001, 17:S39), likely have the same mathematical formulation as the problem of HLA typing discussed here. Those applications can also benefit from the improvements to existing approaches provided by the exemplary embodiments of the present invention. 
     B. Definitions 
     The exemplary problem of selecting the optimal microarray is described below. The problem of selecting the constituent probes can be reduced to a “best independent set” problem. The following sections can define the graph model employed, as well as the meaning of the term “best independent set,” and describe the optimizing algorithm. 
     1. Notation 
     There are N known alleles, and n potential probes. Each probe can be described by a “response vector” {right arrow over (v)} j ε{ 0,1} N , j=1, . . . ,n. The response vector data can be represented in tabular form: 
                                         v   →     1             v   →     2         ⋯           v   →     n               HLA   1         1       0       ⋯       1             HLA   2         1       1       ⋯       0           ⋮       ⋮       ⋮                   ⋮             HLA   N         0       0       ⋯       1                     (   6   )               
Column j is the response vector for probe {right arrow over (v)} j :
 
 {right arrow over (v)}   j =( v   j [1],  v   j [2], . . . , v   j   [N ]) T ,  (7)
 
and row i is the code for allele i, which we will call HLA i :
 
 HLA   i =( v   1   [i], v   2   [i], . . . ,v   n   [i ])  (8)
 
     2. Original Graph 
     Each potential probe can form a vertex in the graph. Conceptually, an edge in the graph should connect two probes with shared characteristics. 
     First, essentially a complete edge- and vertex-weighted undirected graph G=(V,E) on n vertices is constructed, where n is the number of potential probes. In a general problem formulation, n can be very large. For each probe length L, there are likely 4 L  possible probes. For instance, as shown in above in Section A.4, there may be over a trillion possible probes of length 20. Thus, the graph in the probe interaction model can be very large. 
     Second, weights are assigned to each vertex v and to each edge e, 0≦w(v), w(e)≦1. The weight of a vertex can be initially set to the “information content” of the corresponding probe response vector (PRV) with respect to the HLA typing problem:
 
 w ( v )=min {percentage of 0&#39;s, percentage of 1&#39;s}/100.   (9)
 
The term “information content” can be used here differently than defined in information theory, where it may mean the minimum amount of information needed to send a string. See e.g., Cover and Thomas.  Elements of Information Theory . John Wiley and Sons, New York. 1991. Ideally, if possible, all vertices should have weight 0.5. A vertex with a weight too close to zero can be uninformative, and the corresponding probe should only be used if it serves to differentiate an allele that is not distinguishable by using other, more informative probes.
 
     The weight of an edge is initially set to the scaled Hamming distance of the probe response vectors represented by its endpoints:
 
 w ( e )=Hamming distance/vector length  (10)
 
with values close to zero corresponding to sequence-similar probes.
 
     3. Thresholded Graph 
     Third, the graph G is transformed by thresholding the edges. A threshold ρ, is selected and used to generate a modified graph G mod =(V, E mod ), where
 
 E   mod   ={e ε E: w ( e )≦ρ}
 
is a set of unweighted edges, and the set of weighted vertices V is unchanged. The choice of threshold ρ will be discussed in further detail below in section D. Hereafter, this modified vertex-weighted graph is employed and denoted by G.
 
     An independent set can be defined on the graph. An independent set is defined as a set of vertices such that for any pair of vertices, there is no edge between them. See Dictionary of Algorithms and Data Structures at NIST at URL http://www.nist.gov/dads/. In particular, a set of vertices V′⊂V can be an independent set if (u ε V′ and v ε V′) implies that {u, v} ∉ E. 
     4. Exemplary Goal 
     The best microarray can be defined above in Section A. The corresponding concept is now formulated on the graph model. The best independent set can be defined as a maximum weight yet minimum size independent set. Thus, such a set S ⊂ V must be an independent set, have maximum weight w(S)=Σ vεS w(v), and minimum cardinality |S|. The condition of independence is meant to preclude any unintended interaction among the chosen probes. Maximum weight provides S with maximum discrimination power. Minimum size likely ensures that the smallest collection of probes is used to perform the preferred functions. 
     Since all vertex weights are nonnegative, the requirements of maximum weight and minimum cardinality are clearly contradictory. The definition can be relaxed somewhat by specifying a priori the desired size M of the set, and looking instead for the maximum weight independent set of size ≦M. 
     C. Optimization Procedure 
     To achieve this goal, a modification of a Maximal Independent Set procedure, described in Luby,  Proceedings of the Seventh Annual ACM Symposium on Theory of Computing  ( STOC &#39; 85), pp. 1-10, is utilized. 
     1. Procedure Pseudocode 
     Given graph G and set size M: 
     
         
         
           
             a) Initialization:
           (i) Initialize a “current-best” list of independent sets, with associated information weights. It stores a list of the best, say, 20, independent sets seen so far, sorted by information weight.   
         
             b) Restart Loop: Execute at least minRestartNum times; if the “current-best list” is not full (i.e., does not have 20 independent sets) by then, keep repeating until the list is filled.
           (i) Initialize boosting weights; this was accomplished by setting the boosting weights to the information weights of the vertices:
 
∀v ε V, w b (v)←w(v).
   (ii) Boosting Loop: Repeat until no improvements have been made to the “current-best” list for a fixed number of iterations (say, five iterations).
               aa. Choose a set S of M vertices randomly from V, with   
               
         
           
         
       
    
     
       
         
           
             
               P 
               ⁡ 
               
                 ( 
                 
                   v 
                   ∈ 
                   S 
                 
                 ) 
               
             
             = 
             
               
                 
                   
                     w 
                     b 
                   
                   ⁡ 
                   
                     ( 
                     v 
                     ) 
                   
                 
                 
                   
                     ∑ 
                     
                       u 
                       ∈ 
                       V 
                     
                   
                   ⁢ 
                   
                     
                       w 
                       b 
                     
                     ⁡ 
                     
                       ( 
                       u 
                       ) 
                     
                   
                 
               
               . 
             
           
         
       
         
         
           
             
               
                 
                   
                     bb. For each edge {u,v} in G| s  (the induced subgraph on S), eliminate one of the endpoint vertices. This leaves a set, S 1 , of K≦M independent vertices. 
                     cc. Adjust the boosting weights of vertices in S; for example, increase the boosting weights of the vertices in S 1 :
 
w b (v)←a w b (v) ∀v ε S 1  
 
                      and decrease the boosting weights of the vertices in S-S 1 : 
                   
                 
               
             
           
         
       
    
     
       
         
           
             
               
                 
                   
                     
                       w 
                       b 
                     
                     ⁡ 
                     
                       ( 
                       v 
                       ) 
                     
                   
                   ← 
                   
                     
                       1 
                       a 
                     
                     ⁢ 
                     
                       
                         w 
                         b 
                       
                       ⁡ 
                       
                         ( 
                         v 
                         ) 
                       
                     
                   
                 
               
               
                 
                   ∀ 
                   
                     v 
                     ∈ 
                     
                       S 
                       - 
                       
                         S 
                         1 
                       
                     
                   
                 
               
             
           
         
       
         
         
           
             
               
                 
                   
                      where a≧1 is some previously selected constant. 
                     dd. If S 1  is not already in the “current-best” list and provides an improvement over some current member of the list, reset the noImprovements counter, locate an appropriate location for S 1  in the list, and update the list. Otherwise, make a note that no changes to “current-best” list were made on this iteration (ie., increment the noImprovements counter). 
                   
                 
                 (iii) If the condition for continuing the restart loop holds (namely, minRestartNum restarts have not yet been executed or the “current-best” list is not yet full), reset the noImprovements counter and repeat step (b). 
               
             
           
         
       
    
     2. Procedure Description 
     The procedure can utilize vertex boosting weights (e.g., initially set to probe information weights) to define a probability distribution on the vertex set. On each iteration of the boosting loop (step b.ii above), a random subset of a specified size can be selected according to the current probability distribution (step b.ii.aa). All edges in the induced subgraph on this random subset may be broken, with one of the terminal vertices removed (step b.ii.bb). The boosting weights of the elements of the subset can then be modified (step b.ii.cc), so that the vertices that stayed in the subset are more likely, and the vertices that were removed are less likely to be selected on the next iteration. The boosting loop can terminate after a certain number of iterations with no improvement to the list of top independent sets (to allow some flexibility, the algorithm keeps track of several of the top independent sets instead of only storing the best one seen so far). 
     The procedure can also restart the boosting loop several times with original probe information weights. This feature can be used to prevent convergence to a local optimum, which is possible for high values of the boosting factor. 
     3. Detailed Explanation of Procedure 
     The boosting procedure (as a whole) can be viewed as operating on the probability space of all subsets of our graph. Step b.ii.bb provides that the selected subset is independent, so that the probability distribution can only be supported on independent sets (i.e., the distribution is zero on all non-independent sets). In this view, the procedure can converge to a probability distribution where the best independent set has the highest probability. Each iteration of the boosting loop adjusts the probabilities associated with each vertex in the graph. The subset of interest is always drawn randomly according to the current probability distribution. 
     If the solution S* is known a priori, its selection by the procedure can possibly be guaranteed by initializing the boosting weights in step b.i to be
 
∀v ε S* , w b (v)←1,
 
∀v ε V−S*, w b (v)←0.
 
     In other words, the associated probability distribution may have a probability of 1 for each vertex v ε S*, and a probability of 0 for each remaining vertex v ε V−S*. 
     Given an unlimited time for obtaining a solution (and an appropriate set of parameters), the boosting procedure can converge to this ideal distribution. However, when time is limited, a “good” (i.e., informative) independent set of size ≦M is only “more likely” than other independent sets of similar size. The procedure is provided to give an effective solution in a limited time, and yet be able to improve on it iteratively when more time is permitted (with minimal modifications to the loop terminating conditions). 
     For example, the best independent set may be, ideally, a fixed point for the algorithm, in the sense that if the procedure starts at a perturbed location in the subset probability space, it should converge to the optimal set. In particular, if the initial probability distribution is heavily favored towards a set that does not differ from the best set in many vertices, the procedure likely converges to the best set. 
     4. Breaking Edges 
     In step b.ii.bb of the boosting procedure can keep the vertex that has the higher boosting weight. If vertices have equal boosting weights, one at random (with probability ½) can be selected. 
     5. Selecting Scaling Factor a 
     In step b.ii.cc of the boosting algorithm, the weights of those vertices that were selected and kept are boosted (scaled up) by a factor of a≧1, while the weights of discarded vertices are scaled down by the same factor. This has the effect of noting which vertices are selected for membership in the independent set, and increasing the likelihood that these vertices will be selected in the future, with the reverse effect on the discarded vertices. The manner in which the value of the scaling factor a affects the “memory” of the probability space evolution is discussed below. A single “restart” of the procedure (namely, step b.ii) is described. 
     a) Extreme cases:
         a=1: No memory of previous selections. Ignore the current selection, and choose anew on the next iteration. The boosting procedure performs an exhaustive search.   a=∞: Perfect memory. Once a set S of vertices is selected and pruned, and its elements&#39; boosting weights are modified, each of the vertices remaining in the independent set S 1  will have a boosting weight of ∞ and each of those thrown out of the independent set due to conflicts will have a boosting weight of 0. Thereafter, the boosting procedure will always choose the independent set selected on the first run.       

     b) Real values: 
     The boosting procedure is executed on the same graph model with several values of a ε {2, 1.5, 1.2, 1.1}. The executions with higher values of a were observed to terminate a single “restart” after a smaller number of iterations than those with lower values of a. Values of a can be chosen by many methods, known to those with ordinary skill in the art. 
     6. Choosing M: the Maximum Size of the Independent Set 
     This section contains a probabilistic analysis of an answer to the following question: What are the bounds on the number of probes, k, that is sufficient to distinguish N known alleles? In order to answer this question, certain assumptions can be made on the random distribution from which the known alleles are assumed to be drawn. 
     a) Similar PRV Entries 
     Assume that each probe, at each index i=1, . . . ,N, assumes values 0 and 1 independently and with equal probability. Consider k such probes and two alleles (HLA l  and HLA m ). Thus, if HLA l  is fixed:
 
 HLA   l =( HLA   l [1], . . . , HLA   l   [k] ),
 
then for each j,
 
 Pr ( HLA   m   [j]=HLA   l   [j] )=½
 
 Pr ( HLA   m   [j]≠HLA   l   [j ])=½
 
then, for these two HLA vectors,
 
                       Pr   ⁢           ⁢     (       The   ⁢           ⁢   Hamming   ⁢           ⁢   distance   ⁢           ⁢   between   ⁢           ⁢   2   ⁢           ⁢   HLA   ⁢           ⁢   vectors     =   x     )       =       (         k           x         )     ⁢     2     -   k           ,           (   11   )               
which can easily be seen as follows:
 
                     Pr   ⁢           ⁢     (               The   ⁢           ⁢   Hamming   ⁢           ⁢   dist   ⁢           ⁢   bet     ’     ⁢   n                 2   ⁢           ⁢   HLA   ⁢           ⁢   vectors     =   x           )       =       ⁢     Pr   ⁢           ⁢     (           HLA   ⁢           ⁢   vectors   ⁢           ⁢   differ   ⁢           ⁢   in               exactly   ⁢           ⁢   x   ⁢           ⁢   positions           )                   =       ⁢     Pr   ⁢           ⁢     (           x   ⁢           ⁢   successes   ⁢           ⁢   in   ⁢           ⁢   k   ⁢           ⁢   Bernoulli               trials   ,   where               success   =     {         HLA   m     ⁡     [   j   ]       ≠       HLA   l     ⁡     [   j   ]         }                   and   ⁢           ⁢   p     =       Pr   ⁢           ⁢     (   success   )       =     1   2               )                   =       ⁢       (         k           x         )     ⁢           ⁢       (     1   2     )     x     ⁢       (     1   2     )       k   -   x                     =       ⁢       (         k           x         )     ⁢     2     -   k                     
Thus, for a fixed pair of alleles,
 
                           Pr   ⁡     (     x   ≥   1     )       =       ⁢     1   -     Pr   ⁡     (     x   =   0     )                             =       ⁢     1   -       (         k           0         )     ⁢     2     -   k                       ⁢     (     by   ⁢           ⁢     (   11   )       )                   =       ⁢     1   -     2   k         ,                         (   12   )             and                                 Pr   ⁡     (       ∀   pairs     ⁢           ⁢     x   ≥   1       )       =       ⁢       ∏   pairs     ⁢     Pr   ⁡     (     x   ≥   1     )                     ⁢     (     by   ⁢           ⁢     indep   .       )                 =       ⁢       ∏   pairs     ⁢     (     1   -     2     -   k         )                           =       ⁢       (     1   -     2     -   k         )       #   ⁢           ⁢   pairs                   ⁢     (     by   ⁢           ⁢     (   12   )       )                 =       ⁢       (     1   -     2     -   k         )       (         N           2         )                             (   13   )               
since there are N distinct allele vectors and pairs are unordered.
 
     This probability ideally should be greater than (1−ε) for some fixed small 0&lt;ε&lt;&lt;1, i.e., 
                       (     1   -     2     -   k         )       (         N           2         )       ⁢     &gt;   want     ⁢     1   -     ε   ⁢           .               (   14   )               
First, the left-hand side term is bound:
 
                       (     1   -     2     -   k         )       (         N           2         )       =       ⁢       [       (     1   -     2     -   k         )       2   k       ]         (         N           2         )     ⁢     2     -   k                       &gt;       ⁢       (     ⅇ       -   1     -     2     -   k           )         (         N           2         )     ⁢     2     -   k                       =       ⁢     ⅇ       -     (         N           2         )       ⁢     (     1   +     2     -   k         )     ⁢           ⁢     2     -   k                       
where the inequality comes from the bound (appendix A)
 
                             (     1   -     1   n       )     n     &gt;     ⅇ       -   1     -     1   n                             for   ⁢           ⁢   large   ⁢           ⁢     n   .                   (   15   )               
For the inequality in (14) to operate, the bound (15) should be in the correct direction. Suppose a&gt;b is desired. If instead a&gt;c is demonstrated and the parameter is selected such that c&gt;b, then it can be concluded from a&gt;c&gt;b that a&gt;b. Therefore, the above inequality chain would work if found (15) holds.
 
     Hereafter, the symbol   is used to indicate the steps in the inequality reduction that can satisfy the previous statements whenever the parameter in question is selected to satisfy the current statement. 
     Thus, an inequality (14) can be reduced to the following: 
                     ⅇ       -     (         N           2         )       ⁢     (     1   +     2     -   k         )     ⁢     2     -   k           &gt;     1   -       ε   ⁢           ⟺           ⁢     -     (         N           2         )         ⁢     (     1   +     2     -   k         )     ⁢     2     -   k           &gt;     ln   ⁡     (     1   -   e     )               (   16   )               
Next, consider the right-hand term: ln (1−x)&lt;−x for 0&lt;x&lt;1. Again, a&gt;b can be desired. If b&lt;d is demonstrated and the parameter is selected such that a&gt;d, it can be concluded from a&gt;d&gt;b that a&gt;b. This permits the reduction of the inequality (16) to the following:
 
                       -     (         N           2         )       ⁢     (     1   +     2     -   k         )     ⁢           ⁢     2     -   k         &gt;     -   ε             (   17   )                 ⟺           ⁢   ε     &gt;       (         N           2         )     ⁢           ⁢     (     1   +     2     -   k         )     ⁢           ⁢     2     -   k                                     ⟺           ⁢       4   k         2   k     +   1         &gt;       (     1   /   ε     )     ⁢           ⁢     (         N           2         )         ,           (   18   )             since                             (     1   +     2     -   k         )     ⁢           ⁢     2     -   k         =         (       2   k     +   1     )     ⁢           ⁢     2       -   2     ⁢   k         =       (       2   k     +   1     )     ⁢           ⁢       4     -   k       .                 (   19   )               
Furthermore,
 
                             β   2       β   +   1       =         β   2     +   β   -   β   -   1   +   1       β   +   1                               =       β   -   1   +     1     β   +   1         &gt;     β   -   1               ∀     β   &gt;     -   1.                                                 (   20   )               
Hence, taking β=2 k  yields
 
                       4   k         2   k     +   1       &gt;       2   k     -   1.             (   21   )               
Thus, (18) follows if k is chosen to satisfy
 
                     ⁢     (   22   )                         ⁢         2   k     -   1     &gt;       (     1   /   ε     )     ⁢           ⁢       (         N           2         )     ⁢     
     ⁢           ⟺           ⁢       2   k     &gt;         (     1   /   ε     )     ⁢           ⁢     (         N           2         )       +   1                   
The remaining chain of inequalities, from “desired” to “obtained,” can now be verified. For example, the inequality (17) can be extended
 
                   -     (         N           2         )       ⁢           ⁢     (     1   +     2     -   k         )     ⁢           ⁢     2     -   k         &gt;     -   ε     ⁢           &gt;       ln   ⁡     (     1   -   ε     )       ⁢     
     ⟹           ⁢     ⅇ       -     (         N           2         )       ⁢           ⁢     (     1   +     2     -   k         )     ⁢           ⁢     2     -   k             &gt;     1   -   ε       ,         
which in turn can be extended
 
                 (     1   -     2     -   k         )       (         N           2         )       &gt;     ⅇ       -     (         N           2         )       ⁢           ⁢     (     1   +     2     -   k         )     ⁢           ⁢     2     -   k           &gt;     1   -     ε   ⁢     
     ⁢               ⟹           ⁢       (     1   -     2     -   k         )       (         N           2         )         &gt;     1   -   ε       ,           as   ⁢           ⁢     desired   .                       
Therefore, k (given ε, N) is selected to satisfy (22):
 
               2   k     &gt;         (     1   /   ε     )     ⁢     (         N           2         )       +   1           
A simpler bound on k can be obtained by imposing a stronger condition
 
                       2   k     ⁢     &gt;   want     ⁢       (     2   /   ε     )     ⁢     (         N           2         )         ,           (   23   )               
which implies (22) since
 
                 (       1   /     ∈     )     ⁢     (         N           2         )       &gt;   1.         
The right-hand side of equation (23) simplifies to
 
                   (     2   /   ε     )     ⁢           ⁢     (         N           2         )       =         (     2   /   ε     )     ⁢           ⁢       N   ⁡     (     N   -   1     )       2       =       (     1   /   ε     )     ⁢           ⁢   N   ⁢           ⁢     (     N   -   1     )           ,         
so that
 
 k &gt;lg  N +lg ( N− 1)−lg ε  (24)
 
is equivalent to equation (23). Furthermore, since 2 lg N&gt;lg N+lg (N−1), selecting
 
 k&gt; 2 lg  N−lg ε 
 
certainly gives a value of k that satisfies (23). Therefore, requiring
 
                   k   &gt;       2   ⁢           ⁢   lg   ⁢           ⁢   N     -     lg   ⁢           ⁢   ε               (   25   )               
imposes the strongest condition of those listed above. Hence, a value of k that satisfies equation (25) also satisfies equation (22), and therefore the original desired inequality (14).
 
     b) Dissimilar PRV Entries. A violation of the similarity assumptions may be modeled by an error term δ. Suppose a probe fails to contribute to a Hammning distance with probability (1+δ)/2. As discussed previously, each position of the HLA code vector can be considered as a Bernoulli trial, where success is defined as the event that j th  entry of a code vector contributes to the Hamming distance, i.e., {HLA m [j]≠HLA l [j]}, so that
 
 q=Pr (failure)=(1+δ)/2
 
 p=Pr (success)=(1−δ)/2
 
Therefore,
 
                           Pr   ⁢           ⁢     (       The   ⁢           ⁢   Hamm   ⁢           ⁢   dist     =   x     )       =       ⁢       (         k           x         )     ⁢           ⁢       (       1   -   δ     2     )     x     ⁢       (       1   +   δ     2     )       k   -   x                     =       ⁢       (         k           x         )     ⁢           ⁢       (     1   -   δ     )     x     ⁢       (     1   +   δ     )       k   -   x       ⁢     2     -   k                       (   26   )               
Continuing as before, the following condition can be obtained.
 
                         Pr   ⁢           ⁢     (     x   ≥   1     )       =       1   -     Pr   ⁢           ⁢     (     x   =   0     )         ⁢     
     ⁢           =       1   -       (         k           0         )     ⁢           ⁢       (     1   -   δ     )     0     ⁢       (     1   +   δ     )       k   -   0       ⁢     2     -   k           ⁢     
     ⁢           =     1   -         (     1   +   δ     )     k     ⁢           ⁢     2     -   k                 ,     
     ⁢   and     ⁢     
     ⁢       Pr   ⁢           ⁢     (       ∀   pairs     ⁢     x   ≥   1       )       =         (     1   -         (     1   +   δ     )     k     ⁢     2     -   k           )       (         N           2         )       .               (   27   )               
This probability should be bigger than (1−ε). In other words,
 
                       (     1   -         (     1   +   δ     )     k     ⁢     2     -   k           )       (         N           2         )       ⁢           ⁢     &gt;   want     ⁢           ⁢     1   -   ε             (   28   )                 LHS   ⁡     (   28   )       ⁢           ⁢     &gt;     by   ⁢           ⁢     (   15   )         ⁢           ⁢     ⅇ       -     (         N           2         )       ⁢           ⁢     (     1   +       (       (     1   +   δ     )     /   2     )     k       )     ⁢           ⁢       (       (     1   +   δ     )     /   2     )     k                 (   29   )               ⟸           ⁢       &gt;   want     ⁢           ⁢     1   -   ε                                   ⟺           ⁢     -       (         N           2         )     ⁢           [     1   +       (       1   +   δ     2     )     k       ]         ⁢           ⁢       (       1   +   δ     2     )     k       &gt;     ln   ⁡     (     1   -   ε     )               (   30   )                   ⟸           ⁢     -       (         N           2         )     ⁢           [     1   +       (       1   +   δ     2     )     k       ]         ⁢           ⁢       (       1   +   δ     2     )     k       ⁢           ⁢     &gt;   want     ⁢           ⁢     -   ε                               ⟺           ⁢   ε     &gt;         (         N           2         )     ⁢           [     1   +       (       1   +   δ     2     )     k       ]     ⁢           ⁢       (       1   +   δ     2     )     k                                   ⟺           ⁢         (     2     1   +   δ       )       2   ⁢   k             (     2     1   +   δ       )     k     +   1         &gt;       (     1   /   ε     )     ⁢           ⁢     (         N           2         )         ,                           
where the last transformation is obtained as in equation (19), replacing 2 by 2/(1+δ). The same substitution in (21) (i.e., taking β=(2/(1+δ) k  in (20)) yields
 
                               (     2     1   +   δ       )       2   ⁢   k             (     2     1   +   δ       )     k     +   1       &gt;         (     2     1   +   δ       )     k     -   1                         ∀     k   ∈   ℕ                   (   31   )               
Thus, equation (30) follows if k is chosen to satisfy
 
                     ⁢     (   32   )                         ⁢           (     2     1   +   δ       )     k     -   1     &gt;       (     1   /   ε     )     ⁢           ⁢       (         N           2         )     ⁢     
     ⁢           ⟺           ⁢             ⁢         (     2     1   +   δ       )     k     &gt;         (     1   /   ε     )     ⁢           ⁢     (         N           2         )       +   1                     
Again, a simpler bound on k can be obtained by imposing a stronger condition
 
                         (     2     1   +   δ       )     k     ⁢     &gt;   want     ⁢       (     2   /   ε     )     ⁢           ⁢     (         N           2         )         =       (     1   /   ε     )     ⁢     N   ⁡     (     N   -   1     )                 (   33   )               
so that
 
     
       
         
           
             
               
                 
                   
                     lg 
                     ⁢ 
                     
                         
                     
                     [ 
                     
                       
                         ( 
                         
                           2 
                           
                             1 
                             + 
                             δ 
                           
                         
                         ) 
                       
                       k 
                     
                     ] 
                   
                   = 
                   
                     k 
                     ⁡ 
                     
                       ( 
                       
                         1 
                         - 
                         
                           lg 
                           ⁡ 
                           
                             ( 
                             
                               1 
                               + 
                               δ 
                             
                             ) 
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   34 
                   ) 
                 
               
             
             
               
                 
                   
                       
                   
                   ⁢ 
                   
                     
                       &gt; 
                       want 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                         lg 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         N 
                       
                       + 
                       
                         lg 
                         ⁡ 
                         
                           ( 
                           
                             N 
                             - 
                             1 
                           
                           ) 
                         
                       
                       - 
                       
                         lg 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         ε 
                       
                     
                   
                 
               
               
                 
                     
                 
               
             
             
               
                 
                   
                     ⟸ 
                     
                         
                     
                     ⁢ 
                     
                       k 
                       ⁡ 
                       
                         ( 
                         
                           1 
                           - 
                           
                             lg 
                             ⁡ 
                             
                               ( 
                               
                                 1 
                                 + 
                                 δ 
                               
                               ) 
                             
                           
                         
                         ) 
                       
                     
                   
                   &gt; 
                   
                     
                       2 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       lg 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       N 
                     
                     - 
                     
                       lg 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ε 
                         . 
                       
                     
                   
                 
               
               
                 
                     
                 
               
             
             
               
                 
                   k 
                   &gt; 
                   
                     
                       1 
                       
                         ( 
                         
                           1 
                           - 
                           
                             lg 
                             ⁡ 
                             
                               ( 
                               
                                 1 
                                 + 
                                 δ 
                               
                               ) 
                             
                           
                         
                         ) 
                       
                     
                     ⁡ 
                     
                       [ 
                       
                         
                           2 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           lg 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           N 
                         
                         - 
                         
                           lg 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           ε 
                         
                       
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   35 
                   ) 
                 
               
             
           
         
       
     
     c) Non-unit Minimum Hamming Distance. Further, the preferable size k can be estimated for (almost) any desired minimum Hamming distance between allele code vectors. As demonstrated above, the Hamming distance between a pair of HLA vectors is a binomial random variable x˜S (n, p) where # trials ≡n=k, Pr (success)≡p=(1−δ)/2, and Pr (failure)≡q=(1+δ)/2: 
               Pr   ⁡     (   x   )       =       (         k           x         )     ⁢       (     1   -   δ     )     x     ⁢       (     1   +   δ     )       k   -   x       ⁢     2     -   k               
Its mean is np=k(1−δ)/2 and variance is npq=k(1−δ)/4. The following estimate can be obtained (using Chernoff bounds):
 
 Pr ( x≦k (1−δ)/4)≦ e   −k(1−δ)/16   (36)
 
Chernoff inequality states (see Appendix B for the proof):
 
                     Pr   ⁢           ⁢     (       S   ⁡     (     n   ,   p     )       ≤       (     1   -   λ     )     ⁢           ⁢   np       )       ≤     e       -       λ   2     2       ⁢   np               (   37   )               
n=k, p=(1−δ)/2, and let λ=½. Then by equation (37),
 
                     Pr   ⁢           ⁢     (     x   ≤       k   ⁡     (     1   -   δ     )       /   4       )       ≤       ⁢     ⅇ       -         (     1   -   2     )     2     2       ⁢   k   ⁢           ⁢       1   -   δ     2                     =       ⁢     ⅇ       -     1   8       ⁢   k   ⁢           ⁢       1   -   δ     2                     =       ⁢     ⅇ       -     k   ⁡     (     1   -   δ     )         /   16                   
Thus, it can be estimated for which k
 
 Pr (∀ pairs   x≧k (1−δ)/4)≧1−ε  (38)
 
From equation (36), it is possible to obtain
 
 Pr ( x≧k (1−δ)/4)≧1 −e   −k(1−δ)/16  
 
and hence,
 
                           Pr   ⁢           ⁢     (       ∀   pairs     ⁢     x   ≥       k   ⁡     (     1   -   δ     )       /   4         )       =     Pr   ⁢           ⁢       (     x   ≥       k   ⁡     (     1   -   δ     )       /   4       )       (         N           2         )                             ⁢     ≥       (     1   -     ⅇ       -     k   ⁡     (     1   -   δ     )         /   16         )       (         N           2         )                             ⁢       &gt;   want     ⁢           ⁢     1   -   ε                     ⟸           ⁢     (     expression   ⁢           ⁢     (   39   )       )       &gt;                       ⁢       exp   ⁢     {       -     (         N           2         )       ⁢     (     1   +     ⅇ       -     k   ⁡     (     1   -   δ     )         /   16         )     ⁢           ⁢     ⅇ       -     k   ⁡     (     1   -   δ     )         /   16         }       ⁢     &gt;   want     ⁢           ⁢     1   -   ε                       ⟺           ⁢     -     (         N           2         )         ⁢     (     1   +     ⅇ       -     k   ⁡     (     1   -   δ     )         /   16         )     ⁢     ⅇ       -     k   ⁡     (     1   -   δ     )         /   16         &gt;     ln   ⁡     (     1   -   ε     )                       ⟸           ⁢     -     (         N           2         )         ⁢     (     1   +     ⅇ       -     k   ⁡     (     1   -   δ     )         /   16         )     ⁢           ⁢     ⅇ       -     k   ⁡     (     1   -   δ     )         /   16         &gt;     -   ε                 (     see   ⁢           ⁢     (   17   )       )                 ⟺           ⁢   ε     &gt;       (         N           2         )     ⁢     (     1   +     ⅇ       -     k   ⁡     (     1   -   δ     )         /   16         )     ⁢     ⅇ       -     k   ⁡     (     1   -   δ     )         /   16                       ⟺           ⁢       ⅇ       k   ⁡     (     1   -   δ     )       /   8         ⅇ       k   ⁡     (     1   -   δ     )       /   16           &gt;       (     1   /   ε     )     ⁢     (         N           2         )                       ⟸           ⁢     ⅇ       k   ⁡     (     1   -   δ     )       /   16         -   1     &gt;             (     1   /   ε     )     ⁢     (         N           2         )                         (     by   ⁢           ⁢     (   20   )       )                         ⟺           ⁢     ⅇ       k   ⁡     (     1   -   δ     )       /   16         &gt;         (     1   /   ε     )     ⁢     (         N           2         )       +   1                     ⟸           ⁢     ⅇ       k   ⁡     (     1   -   δ     )       /   16         &gt;       (     2   /   ε     )     ⁢     (         N           2         )         =       (     1   /   ε     )     ⁢     N   ⁡     (     N   -   1     )                     (     see   ⁢           ⁢     (   23   )       )                   ⟺           ⁢     k   ⁡     (     1   -   δ     )         /   16     &gt;       ln   ⁢           ⁢   N     +     ln   ⁡     (     N   -   1     )       -     ln   ⁢           ⁢   ε                       ⟸           ⁢     k   ⁡     (     1   -   δ     )         /   16     &gt;       2   ⁢           ⁢   ln   ⁢           ⁢   N     -     ln   ⁢           ⁢   ε                     ⟺           ⁢   k     &gt;       16     1   -   δ       ⁡     [       2   ⁢           ⁢   ln   ⁢           ⁢   N     -     ln   ⁢           ⁢   ε       ]                     (   39   )               
Therefore if,
 
                     ⁢     (   40   )                         ⁢     k   &gt;       16     1   -   δ       ⁡     [       2   ⁢           ⁢   ln   ⁢           ⁢   N     -     ln   ⁢           ⁢   ε       ]                             ⁢   then                       ⁢       Pr   ⁢           ⁢     (       ∀   pairs     ⁢     x   ≥       k   ⁡     (     1   -   δ     )       /   4         )       ≥     1   -   ε             
For this exemplary probe set (with k=k(ε, N, δ)), an arbitrarily high probability can be obtained, by the selection of ε in (38), that all BLA coding vectors have pairwise Hamming distance of at least k(1−δ)/4. Thus, this exemplary probe set is able to correct k(1−δ)/8 errors by choosing the coding vector closest to that obtained.
 
     The error term δ should then be estimated. This can be accomplished on a given set S of probes by sampling pairs {l, m} of indices on probes from S and examining the resulting 2-vectors on {0, 1}. The probability of a failure to contribute to the Hamming distance (given by (1+δ)/2) can be estimated by the frequency f =  of observing equal entries in the 2-vector, since each probe with equal entries in the 2-vector fails to contribute to the Hamming distance between alleles l and m. Therefore,
 
{circumflex over (δ)}=2 f   = −1  (41)
 
Let f ≠  denote the frequency of observing unequal entries in the same setting. Thus, f = +f ≠ =1, and it is possible to obtain
 
1−δ=1−(2f = −1)=2(1−f = )=2f ≠ .  (42)
 
The bound in equation (40) becomes
 
     
       
         
           
             
               
                 
                   
                     
                       
                         k 
                         &gt; 
                           
                         ⁢ 
                         
                           
                             16 
                             
                               2 
                               ⁢ 
                               
                                 f 
                                 ≠ 
                               
                             
                           
                           ⁡ 
                           
                             [ 
                             
                               
                                 2 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 ln 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 N 
                               
                               - 
                               
                                 ln 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 ε 
                               
                             
                             ] 
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                         ⁢ 
                         
                           
                             8 
                             
                               f 
                               ≠ 
                             
                           
                           ⁡ 
                           
                             [ 
                             
                               
                                 2 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 ln 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 N 
                               
                               - 
                               
                                 ln 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 ε 
                               
                             
                             ] 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   43 
                   ) 
                 
               
             
           
         
       
     
     Thus, to generate distinct coding vectors for all alleles (e.g., to guarantee a Hamming distance d H (c i , c j )≧1 w.p. &gt;1−ε), it is possible to select M&gt;k, where k satisfies (35) with δ estimated as in (41). It is also possible to choose M to allow for error correction of up to D/2 errors (guaranteeing w.p.&gt;(1−ε) a minimum Hamming distance d H (c i , c j )≧D): set
 
 D=k (1−δ)/4 =kf   ≠ /2
 
in equation (38), so that k=2D/f ≠  should satisfy equation (40), and, again, select M&gt;k.
 
D. Pre-Processing
 
     1. Initial Probe Selection 
     In section B.2, it was described that starting with all possible probes results in a graph that has many vertices. The discussion below provides certain pre-processing steps that allow the elimination of a large portion of this probe set. 
     a. Probes that do not hit the BLA region on any allele. Many of the possible length-L probes generally do not provide sequence-specific information about the target. As such, they may be safely left out of our probe selection process. This would allow for a reduction of the starting (perfectly matched) probe set to those probes that are complementary to a subsequence of at least one of the alleles. A way to obtain such set can be as follows. Assume that the allele sequences are provided in the 5′ to 3′ orientation. 
     A window of length L can be considered along allele T 1 . Denote the length of the allelic sequence by len(T 1 ), and index elements of the sequence starting with 1, so that the entire allele sequence can be denoted by
 
T 1 [1] . . . T 1 [len(T 1 )].
 
A probe complementary to the allele subsequence seen through the window [1 . . . L] can be constructed and placed in the set. The window then may be shifted by one nucleotide in the direction of the 3′-end. This process can be repeated until the last window [k . . . (L+k−1)] reaches the end of the target sequence:
 
 L+k− 1=len( T   1 )
 
 k =len( T   1 )− L+ 1,
 
thus, generating a set of (len(T 1 )−L+1) probes, each perfectly complementary to T 1 .
 
     The procedure described above can generate all probes of length L that are, e.g., perfectly complementary to a length-L subsequence of the target (ie., allele) sequence. Depending on the form in which the allele sequences are given, it may also be desirable to include probes corresponding to windows that are partially shifted off the allele, i.e., windows showing a portion of the given allele sequence together with the corresponding 5′-tail of the sequence, if the window is shifted to the left, or the 3′-tail, if the window is shifted to the right. There are 2(L−1) such probes, corresponding to indices
 
[(len(T 1 )−L+2) . . . (len(T 1 )+1)] , . . . ,
 
[len(T 1 ) . . . (len(T 1 )+L−1)]
 
for the right-shifted windows and “indices”
 
[0 . . . (L−1)], . . . , [(2−L) . . . 1]
 
for the left-shifted windows.
 
     This process can be repeated for the other alleles T 2 , . . . ,T N . To avoid placing duplicate probes in the set, a generated probe can be added to the set if its sequence is not already present. Alternately, the duplicates can be weeded out subsequently. It should be noted that this may have the added advantage of eliminating probes hitting sequence repeats. 
     The above-described exemplary process has the effect of eliminating probes that hit genomic sequences outside the target region, including probes that hit introns (if allelic sequences are provided in genomic DNA form) from the original collection of all possible probes of length L. The resulting set may contain only those probes complementary to subsequences of the HLA region, or sub-words of the pool of all allele sequences. 
     b. Non-informative probes. In the set created as described in the previous section, some (and perhaps many) of the probes would not be able to give any information useful for distinguishing among the alleles. These are the probes that may be drawn from the windows that are shared among the alleles—they hybridize to a common subsequence of the alleles. Any such probe may be useless for discriminating alleles: to such a probe, all alleles will look alike. Therefore, these probes can be safely eliminated from the potential probe set.
         To locate all such probes, it is necessary to find the common subsequences of length≧L of all the alleles, identify the probes complementary to these subsequences, and remove these probes from the set. This can be done as the next step in the “refinement” of the starting probe set, and/or included as a condition in the process for probe addition specified in the previous section.       

     c. Potential for cross-hybridization. The probes that are likely to hit multiple sites on the target sequence(s), such as those hitting a repeated region, should be eliminated, as is usually done in microarray design, as their use is likely to produce a high level of noise. Each probe is usually expected to have a unique site on the target. See e.g., Lockhart et al.,  Nature Biotechnology  1996, 14:1675; Kaderali and Schliep, An algorithm to select target specific probes for DNA chips at URL http://citeseer.nj.nec.com/kaderali01algorithm.html; Li and Stormo,  Bioinformatics,  2001, 17:1067. 
     2. Graph Generation 
     a. Generating Probe Response Vectors. Once a set of initial probes is selected, as described above, a probe response vector (7) must be generated for each of these probes. To do that, given probe j, string-matching is performed on each of the N alleles for the Watson-Crick complement of probe j, and the results are used to set 
     
       
         
           
             
               
                 v 
                 j 
               
               ⁡ 
               
                 [ 
                 i 
                 ] 
               
             
             = 
             
               { 
               
                 
                   
                     
                       1 
                       , 
                     
                   
                   
                     
                       if 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       there 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       is 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       a 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       match 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       with 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       allele 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         T 
                         i 
                       
                     
                   
                 
                 
                   
                     
                       0 
                       , 
                     
                   
                   
                     otherwise 
                   
                 
               
             
           
         
       
     
     b. Choice of Edge Threshold. The edge threshold parameter ρ was used in section B.3 to transform the initial complete edge-weighted graph. Its value determines how many edges remain in the graph, as well as how “independent” each independent set on the graph really is.
         If ρ is too small, there will be very few edges in the graph. Most of the random sets selected by the boosting algorithm will prove to be independent. However, upon examination in post-processing, described in section B.3, it may be found that many of these sets do not possess enough discrimination power to discern all N known alleles.   If, on the other hand, ρ is too large (e.g., ρ&gt;0.5), the graph will be very dense (i.e., have a lot of edges). The algorithm will then have a much harder time finding an independent set of large enough size. The output sets will likely contain much fewer than M vertices, and there may not be enough probes in the candidate sets to discern all N alleles.   A reasonable value of ρ is obtained by trial and error on a given set of potential probes.
 
E. Post-Processing
       

     The procedure (as described in section C.1) can return a list of 20 best independent sets, sorted by the total information weight of the constituent vertices. Each set may be composed of e.g., at most M vertices (probes). While the independence and maximum weight conditions can be selected to steer each selected set towards maximum discrimination power, this desired outcome may not be guaranteed. Thus, each of these best independent sets should be checked for redundancy of the allele coding vectors. Given a set S of probe response vectors, the N allele coding vectors generated by S (the rows in (6)) may be extracted and their pairwise Hamming distances d H (c i ,c j ), 1≦i≦j≦|S| may be computed. If min {ij}  d H (c i , c j )=0, the set lacks discrimination power: at least two of the codes are the same, so the set will not be able to discern all known alleles. Such a set should not be used “as is”, and should either be discarded or supplemented by additional probes. This may indicate that the set is not truly independent, so the choice of edge threshold ρ, discussed in Section D.2.b, was inappropriate. 
     It is possible to make the testing more stringent, in order to allow for up to D/2 errors in the data, as discussed in Section C.6. Those independent sets of the list of best sets that pass the redundancy testing (by satisfying min {ij}  d H (c i , c j )≧D), in fact satisfy a definition stronger than that formulated for the best independent set. D-best independent set denotes a best independent set with the additional condition min {i,j}  d H (c i , c j )≧D. 
     Those sets that pass the redundancy test can be reordered by aveHamDist=ave {i,j}  d H (c i ,c j ): once the minimum allele code separation is guaranteed, the usefulness of a probe set to the HLA typing problem can be judged by the metric aveHamDist. 
     F. Interpreting Results 
     Given the best independent set generated by the above-described procedure a determination regarding how it can be converted into a microarray for genotyping or haplotyping experiments must be made. 
     In order to generate the microarray corresponding to an independent set of vectors yielded by the procedure (followed by post-processing steps from Section E), the DNA sequence for each probe, which was used to generate the probe response vector used in the analysis, should be recalled. The spatial arrangement of these probes on the chip surface can be decided as discussed above in Section A.4.b. 
     G. Additional Applications 
     Many extensions of the approaches presented herein are possible within the scope of the present invention. Two exemplary approaches are discussed below. 
     1. Extending Weight Functions in the Graph Model 
     The graph model discussed herein relies on the characteristics of the probe response vectors to define the weights of vertices and edges. While this model can generate certain interesting results, it can be extended to a more meaningful model by incorporating the physical properties of the probe sequences and their interactions, some of which are described in Cherepinsky,  Ph.D. Thesis , New York University 2003, Chapter 3. 
     In particular, the annotation of all potential probes with physical properties, such as melting temperature, free energy, entropy, and enthalpy of hybridization, for perfect matches and for closest matches in other alleles can be used to define cost functions that determine the weights. While the vertex weight may provide a measure of the performance of the corresponding probe in discriminating among known alleles, the pairwise probe interaction and the resulting competition effects, as described in Cherepinsky,  Ph.D. Thesis , New York University 2003, Chapter 3, can be reflected in the edge weights. 
     2. Pooling Real Data from Previously Tested Chips 
     Another extension of the procedure discussed herein involves the use of data from microarray chips used for HLA typing by different companies. Many biotechnology companies are working on the HLA typing problem in the hope of designing probe sets that give the answer more quickly and with greater accuracy. The sequences of the probes may generally be considered to be proprietary information and thus not shared. As a result, the collection of experimental data from testing the various probes in different combinations and arrangements on the microarray chips generated by different companies may almost never be examined as a whole. 
     It is possible to employ the probe interaction model presented herein to make use of the aggregate experimental data. Suppose the following information can be obtained: a set of microarray chips along with some identifiers, if not the actual sequences, of the probes comprising each chip, and values measuring the performance of each chip in all previously conducted HLA typing experiments. That is, for each chip, there is a list of unique probe identifiers and some measure of how well this chip performed in HLA typing. It may not be necessary to know the sequence of each probe, so long as the uniqueness of the identifiers can be verified by the company providing the data. It is possible to combine the information from a large number of such previously tested chips to generate a plan for a new microarray chip (i.e., a collection of probe identifiers and their spatial arrangement) with a performance value higher than that of “input” chips by the following process. The probe content and arrangement for each chip, together with its performance value, can be used to build the graph model. Vertex weights can be inferred from chip membership information. Edge weights can be estimated from conditional probabilities using pairwise membership information—that is, by considering two chips at a time, quantities such as the conditional probability that probe P i  was used on chip C j , given that it was used on chip C k , can be estimated. Once the graph is constructed, the boosting-algorithm can be used to generate the best set of probes, as discussed in Section C.1. 
     All publications cited above are incorporated herein by reference in their entireties. 
     APPENDIX 
     Appendix A: Exponential Limit Inequality: Proof 
     Claim: For large n, 
     
       
         
           
             
               
                 
                   
                     
                       ( 
                       
                         1 
                         - 
                         
                           1 
                           n 
                         
                       
                       ) 
                     
                     n 
                   
                   &gt; 
                   
                     
                       ⅇ 
                       
                         
                           - 
                           1 
                         
                         - 
                         
                           1 
                           n 
                         
                       
                     
                     . 
                   
                 
               
               
                 
                   ( 
                   A1 
                   ) 
                 
               
             
           
         
       
     
     Proof: 
     Inequality (A1) is equivalent to 
     
       
         
           
             
               
                 
                   
                     ln 
                     ⁡ 
                     
                       [ 
                       
                         
                           ( 
                           
                             1 
                             - 
                             
                               1 
                               n 
                             
                           
                           ) 
                         
                         n 
                       
                       ] 
                     
                   
                   ⁢ 
                   
                     &gt; 
                     want 
                   
                   ⁢ 
                   
                     
                       - 
                       1 
                     
                     - 
                     
                       
                         1 
                         n 
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   A2 
                   ) 
                 
               
             
           
         
       
     
     Since the series expansion of the logarithm is given by 
                       ln   ⁡     (     1   -   x     )       =       -       ∑     j   =   1     ∞     ⁢       x   j     j         =         -   x     -       x   2     2     -       x   3     3     -     …   ⁢           ⁢   for   ⁢           ⁢        x            &lt;   1         ,           (   A3   )               
we can expand the left-hand side of (A2) as follows.
 
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           ln 
                           ⁡ 
                           
                             [ 
                             
                               
                                 ( 
                                 
                                   1 
                                   ⁢ 
                                   
                                       
                                   
                                   - 
                                   
                                       
                                   
                                   ⁢ 
                                   
                                     1 
                                     n 
                                   
                                 
                                 ) 
                               
                               n 
                             
                             ] 
                           
                         
                         = 
                         
                           n 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             ln 
                             ⁡ 
                             
                               ( 
                               
                                 1 
                                 ⁢ 
                                 
                                     
                                 
                                 - 
                                 
                                     
                                 
                                 ⁢ 
                                 
                                   1 
                                   n 
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                         
                           n 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             { 
                             
                               - 
                               
                                 
                                   ∑ 
                                   
                                     j 
                                     ⁢ 
                                     
                                         
                                     
                                     = 
                                     
                                         
                                     
                                     ⁢ 
                                     1 
                                   
                                   ∞ 
                                 
                                 ⁢ 
                                 
                                   
                                     
                                       ( 
                                       
                                         1 
                                         n 
                                       
                                       ) 
                                     
                                     j 
                                   
                                   j 
                                 
                               
                             
                             ⁢ 
                             
                                 
                             
                             } 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             ( 
                             
                               by 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   A 
                                   ⁢ 
                                   
                                       
                                   
                                   ⁢ 
                                   3 
                                 
                                 ) 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                         
                           
                             - 
                             n 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             { 
                             
                               
                                 ∑ 
                                 
                                   j 
                                   ⁢ 
                                   
                                       
                                   
                                   = 
                                   
                                       
                                   
                                   ⁢ 
                                   1 
                                 
                                 ∞ 
                               
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 1 
                                 
                                   jn 
                                   j 
                                 
                               
                             
                             ⁢ 
                             
                                 
                             
                             } 
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                         
                           - 
                           
                             
                               ∑ 
                               
                                 j 
                                 ⁢ 
                                 
                                     
                                 
                                 = 
                                 
                                     
                                 
                                 ⁢ 
                                 1 
                               
                               ∞ 
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               1 
                               
                                 jn 
                                 
                                   j 
                                   ⁢ 
                                   
                                       
                                   
                                   - 
                                   
                                       
                                   
                                   ⁢ 
                                   1 
                                 
                               
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                         
                           
                             - 
                             1 
                           
                           ⁢ 
                           
                               
                           
                           - 
                           
                               
                           
                           ⁢ 
                           
                             1 
                             
                               2 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               n 
                             
                           
                           ⁢ 
                           
                               
                           
                           - 
                           
                               
                           
                           ⁢ 
                           
                             1 
                             
                               3 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 n 
                                 2 
                               
                             
                           
                           ⁢ 
                           
                               
                           
                           - 
                           
                               
                           
                           ⁢ 
                           
                             1 
                             
                               4 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 n 
                                 3 
                               
                             
                           
                           ⁢ 
                           
                               
                           
                           - 
                           
                               
                           
                           ⁢ 
                           … 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   
                     A 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     4 
                   
                   ) 
                 
               
             
           
         
       
     
     Thus, inequality (A2) reduces to 
                         -   1     -     1     2   ⁢   n       -     1     3   ⁢     n   2         -     1     4   ⁢     n   3         -   …     ⁢           ⁢     &gt;   want     ⁢       -   1     -     1   n         ⁢     
     ⁢     or   ,           ⁢   equivalently   ,             (     A   ⁢           ⁢   5     )                     ⟺           ⁢     1             ⁢     3   ⁢           ⁢     n             ⁢   2               +     1     4   ⁢     n   3         +     1     5   ⁢     n   4         +   …     ⁢     &lt;   want     ⁢       -     1     2   ⁢   n         +     1   n         =     1     2   ⁢   n               (   A6   )               
Now,
 
                       1     3   ⁢     n   2         +     1     4   ⁢     n   3         +     1     5   ⁢     n   4         +   …     &lt;       ⁢       1     3   ⁢     n   2         +     1     3   ⁢     n   3         +     1     3   ⁢     n   4         +   …                         =       ⁢       1     3   ⁢     n   2         ⁢     (     1   +     1   n     +     1     n   2       +   …     ⁢           )                           =       ⁢       1     3   ⁢     n   2         ·     1     1   -     1   n                       ⁢     (     geometric   ⁢           ⁢   sum     )                     ⁢         1     3   ⁢   n       ·     1     n   -   1         ⁢     &lt;   want     ⁢     1     2   ⁢   n                     ⁢     (     by   ⁢           ⁢     (     A   ⁢           ⁢   6     )       )                 
Simplifying yields
 
                   ⟺           ⁢     1     3   ⁢     (     n   -   1     )           ⁢     &lt;   want     ⁢       1   2     ⁢     
     ⟺           ⁢   2     &lt;     3   ⁢     (     n   -   1     )         =         3   ⁢   n     -     3   ⁢     
     ⟺           ⁢   5       &lt;     3   ⁢   n         ,         
which holds for every n≧2. Retracing the chain of inequalities, we obtain
 
                       (     1   -     1   n       )     n     &gt;       ⅇ       -   1     -     1   n         ⁢           ⁢     ∀     n   ≥   2                 (   A7   )               
as desired.
 
Appendix B: Chernoff&#39;s Inequality: Proof
 
     Claim: 
     
       
         
           
             
               
                 
                   
                     
                       Pr 
                       ⁡ 
                       
                         ( 
                         
                           
                             S 
                             ⁡ 
                             
                               ( 
                               
                                 n 
                                 , 
                                 p 
                               
                               ) 
                             
                           
                           ≤ 
                           
                             
                               ( 
                               
                                 1 
                                 - 
                                 ε 
                               
                               ) 
                             
                             ⁢ 
                             n 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             p 
                           
                         
                         ) 
                       
                     
                     ≤ 
                     
                       e 
                       
                         
                           - 
                           s 
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           2 
                           2 
                         
                         ⁢ 
                         n 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         p 
                       
                     
                   
                   , 
                   
                     ε 
                     ∈ 
                     
                       
                         ( 
                         
                           0 
                           , 
                           1 
                         
                         ) 
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   B1 
                   ) 
                 
               
             
           
         
       
     
     Proof: 
     S is a Binomial random variable:
 
 S ( n,p )= X   1   + . . . +X   n ,  (B2)
 
where X i  are i.i.d.r.v.&#39;s with
 
                     X   i     =     {           1         w   .   p   .           ⁢   p             0         w   .   p   .           ⁢     (     1   -   p     )             ,           ⁢     i   =   1     ,   …   ⁢           ,   n               (     B   ⁢           ⁢   3     )               
Therefore,
 
                     E   ⁡     (   S   )       =         ∑     i   =   1     n     ⁢     E   ⁡     (     X   i     )         =         ∑     i   =   1     n     ⁢   p     =     np   .                 (   B4   )               
Since
 
                     S   ≤         (     1   -   ε     )     ⁢     np   ⁢     
     ⟺           ⁢   S       -   np     ≤       -   ε     ⁢           ⁢     np   ⁢     
     ⟺             λ   ⁢     (     S   -   np     )       ≤       -   λ     ⁢           ⁢   ε   ⁢           ⁢   np                         ∀     λ   &gt;   0             ⁢     
     ⟺               -   λ     ⁢     (     S   -   np     )       ≥     λ   ⁢           ⁢   ε   ⁢           ⁢   np                         ∀     λ   &gt;   0             ⁢     
     ⟺           ⁢     e     -     λ   ⁡     (     S   -   np     )               ≥       e     λε   ⁢           ⁢   np       ⁢           ⁢     ∀     λ   &gt;   0           ,                       (   B5   )               
it follows that
 
                     Pr   ⁢           ⁢     (     S   ≤       (     1   -   ε     )     ⁢   np       )       =     Pr   ⁡     (       e     -     λ   ⁡     (     S   -   np     )           ≥     e     λ   ⁢           ⁢   ε   ⁢           ⁢   np         )               (   B6   )                       ⁢                   ⁢     ≤       E   ⁡     [     e     -     λ   ⁡     (     S   -   np     )           ]         e     λ   ⁢           ⁢   ε   ⁢           ⁢   np                       (     by   ⁢           ⁢   Markov     ’     ⁢   s   ⁢           ⁢   inequality     )                   (   B7   )               
For a proof of Markov&#39;s inequality, see, e.g., [24].
 
     From (B2) and (B3), we know that 
                     S   -   np     =           ∑     i   =   1     n     ⁢     X   i       -   np     =       ∑     i   =   1     n     ⁢       (       X   i     -   p     )     .                 (   B8   )               
Therefore,
 
                     E   ⁡     [     e     -     λ   ⁡     (     S   -   np     )           ]       =       ⁢     E   ⁡     [     e       -   λ     ⁢           ⁢       ∑   i     ⁢     (       X   i     -   p     )           ]               (   B9   )                       ⁢     =       ⁢     E   [       ∏     i   =   1     n     ⁢     e     -     λ   ⁡     (       X   i     -   p     )             ]                                             ⁢     =       ⁢       ∏     i   =   1     n     ⁢     E   ⁡     [     e     -     λ   ⁡     (       X   i     -   p     )           ]                       ⁢     (     by   ⁢           ⁢   independence     )                                           ⁢           =       ⁢       {     E   ⁡     [     e     -     λ   ⁡     (       X   i     -   p     )           ]       }     n                 ⁢     (     by   ⁢           ⁢     (   B3   )       )                                       E   ⁡     [     e     -     λ   ⁡     (       X   1     -   p     )           ]       =       p   ⁢           ⁢     e     -     λ   ⁡     (     1   -   p     )             +       (     1   -   p     )     ⁢           ⁢     e     -     λ   ⁡     (     -   p     )                       (   B10   )                       ⁢     =       e     λ   ⁢           ⁢   p       ⁢           ⁢     (       p   ⁢           ⁢     e     -   λ         +     (     1   -   p     )       )                                         ⁢     =       e     λ   ⁢           ⁢   p       (     1   +       p   ⁡     (       e     -   λ       -   1     )         ︸   u         )                                       ⁢           ≤       e     λ   ⁢           ⁢   p       (     e     p   ⁡     (       e     -   λ       -   1     )         )             (         since   ⁢           ⁢   1     +   u     ≤       e   u     ⁢           ⁢     ∀   u         )                                           ⁢     =     e     p   ⁡     (       e     -   λ       -   1   +   λ     )                   (   B11   )                       ⁢       ≤     e     p   ⁢           ⁢       λ   2     2           ,                             
where the last inequality follows from
 
                                 e     -   λ       ≤     1   -   λ   +       λ   2     2               ∀     λ   &gt;   0             ⁢     
     ⟹           ⁢     e     -   λ         -   1   +   λ     ≤       λ   2     2             (   B12   )               
Therefore, by (B9) and (B11),
 
                       E   ⁡     [     e     -     λ   ⁡     (     S   -   np     )           ]       ≤       (     e     p   ⁢           ⁢       λ   2     2         )     n       =     e         λ   2     2     ⁢   np               (   B13   )             and                           Pr   ⁡     (     S   ≤       (     1   -   ε     )     ⁢   np       )       ≤       e       -   λ     ⁢           ⁢   ε   ⁢           ⁢   np       ⁢           ⁢     E   ⁡     [     e     -     λ   ⁡     (     S   -   np     )           ]                 (   B14   )                       ⁢     ≤       e       -   λ     ⁢           ⁢   ε   ⁢           ⁢   np       ⁢     e         λ   2     2     ⁢   np                                           ⁢           =     e     np   (         λ   2     2     -     λ   ⁢           ⁢   ε       )               ∀     λ   &gt;   0                                     
so that
 
               f   ⁡     (     λ   *     )       =       e     np   (         ε   2     2     -           ⁢     ε   2       )       =     e       -       ε   2     2       ⁢   np               
and, from (B14),
 
                           Pr   ⁢           ⁢     (     S   ≤       (     1   -   ε     )     ⁢   np       )       ≤     e       -       ε   2     2       ⁢   np               ∀     ε   ∈     (     0   ,   1     )                     (   B16   )               
as desired.
 
     It remains to check that the optimizing λ=λ* is a minimum of f(λ), that is, f″(λ*)&gt;0. By (B15), 
     
       
         
           
             
               
                 
                   
                     
                       f 
                       ″ 
                     
                     ⁡ 
                     
                       ( 
                       
                         λ 
                         * 
                       
                       ) 
                     
                   
                   = 
                     
                   ⁢ 
                   
                     
                       f 
                       ′ 
                     
                     ( 
                     
                       
                         
                           
                             ( 
                             λ 
                             ) 
                           
                           · 
                           
                             np 
                             ⁡ 
                             
                               ( 
                               
                                 λ 
                                 - 
                                 ε 
                               
                               ) 
                             
                           
                         
                         + 
                         
                           
                             f 
                             ⁡ 
                             
                               ( 
                               λ 
                               ) 
                             
                           
                           · 
                           np 
                         
                       
                       ⁢ 
                       
                         | 
                         
                           λ 
                           = 
                           
                             λ 
                             * 
                           
                         
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                   ⁢ 
                   
                     
                       
                         
                           
                             f 
                             ′ 
                           
                           ⁡ 
                           
                             ( 
                             
                               λ 
                               * 
                             
                             ) 
                           
                         
                         
                           ︸ 
                           0 
                         
                       
                       · 
                       
                         
                           np 
                           ⁡ 
                           
                             ( 
                             0 
                             ) 
                           
                         
                         ′ 
                       
                     
                     + 
                     
                       
                         f 
                         ⁡ 
                         
                           ( 
                           
                             λ 
                             * 
                           
                           ) 
                         
                       
                       · 
                       np 
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                   ⁢ 
                   
                     
                       np 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         e 
                         
                           
                             - 
                             
                               
                                 ε 
                                 2 
                               
                               2 
                             
                           
                           ⁢ 
                           np 
                         
                       
                     
                     &gt; 
                     0. 
                   
                 
               
             
             
               
                 
                   
                     ∴ 
                       
                     ⁢ 
                     
                       λ 
                       * 
                     
                   
                   = 
                   
                     ε 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     is 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     a 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       minimum 
                       .