Patent ID: 8296075

Claim:
A method for determining an optimal alignment between a first polynucleotide sequence (I) and second polynucleotide sequence (II), wherein said method employs a device that is programmed to perform steps comprising: (A) receiving said sequences (I) and (II) into memory and processing said received sequences to generate a set of possible alignments between said sequences; (B) applying an initial alignment rule to said set of possible alignments in order to select a set of compliant alignments from said set of possible alignments, wherein a compliant alignment is a possible alignment that complies with said applied initial alignment rule and wherein said initial alignment rule is a member of a hierarchical set of alignment rules composed of the initial alignment rule and one or more hierarchically ordered additional alignment rules, and wherein said additional alignment rules comprise a rule preferring a nucleotide substitution instead of a nucleotide insertion or deletion; (C) (1) where the set of compliant alignments contains only a single compliant alignment, designating said single compliant alignment as said optimal alignment; or (2) where the set of compliant alignments contains more than one compliant alignment, applying the next additional alignment rule from the hierarchical set of alignment rules to said set of compliant alignments, removing alignment(s) that do not comply with said applied next additional alignment rule from the set of compliant alignments, and repeating step (C); and (D) reporting said optimal alignment.