US 6,983,274 B2
Multiple alignment genome sequence matching processor
Aaron Thomas Patzer, The Graduate College, 88 College Rd., West, Princeton, N.J. 08544 (US)
Filed on Sep. 23, 2002, as Appl. No. 10/252,965.
Prior Publication US 2004/0059721 A1, Mar. 25, 2004
Int. Cl. G06F 17/60 (2006.01)
U.S. Cl. 707—3 11 Claims
OG exemplary drawing
 
1. A method of multiple alignment sequence matching comprising:
(a) providing a first storage vector which is able to store a first series of digital sequence elements,
(b) providing a means for shifting the contents of said first storage vector one or more elements,
(c) providing a second storage vector which is able to store a second series of digital sequence elements,
(d) providing a comparison engine which is operatively connected between said first storage vector and said second storage vector which will:
(1) provide a plurity of comparison sets, said comparison sets providing a plurity of equivalence operators,
(2) provide a means of testing the bit-wise equivalence of an element from said first storage vector to an element from said second storage vector via said equivalence operators,
(3) provide the parallel operation of said comparison sets of said equivalence operators so that the equivalence of a plurity of elements in a plurity of possible alignments between said first storage vector and said second storage is tested,
(e) providing a plurity of logical AND operators, each of which can take a plurity of inputs,
(f) providing a means for moving the outputs of said equivalence operators in said comparison sets to the inputs of said logical AND operators,
(g) whereby the output of said logical AND operator is asserted if an exact match between all elements of the particular alignment tested by the associated comparison set occurs or is not asserted if one or more elements of that alignment does not match,
(h) providing a means for triggering the first storage vector to shift its elements by a predetermined amount with respect to the second storage vector,
(i) providing a means for triggering the first storage vector to accept additional elements from said first series of digital sequence elements,
whereby said first series of digital sequence elements represents the sequence to be searched, and
whereby said second series of digital sequence elements represents the query sequence to be matched against the first sequence, and
whereby the method can be used to look for exact matches of predetermined length between the search and query sequences by testing the equivalence of multiple elements from multiple alignments in parallel to improve speed over a sequential, element-by-element matching.