Sequence information signal processor for local and global string comparisons
First Claim
1. A computational apparatus for dynamically comparing against one another a first element sequence having a first number of elements and a second element sequence having a second number of elements by providing a plurality of scores indicative of the degree of similarity of respective segments of the sequences;
- the apparatus comprising;
a plurality of processors segregated into distinct groups of processors, each such processor having means for generating respective ones of said scores for said segments ending at selected elements of said respective sequences, said means for generating said scores including means for processing responsive to insertion of an additional element into one of said sequences during said dynamic comparison a signal indicative of said additional element insertion;
means for determining the maximum one of said processor-generated scores and the ending elements of segments at which such maximum score occurs; and
means in each of said groups for establishing a threshold score and for ignoring all said scores below said threshold score, the threshold score in each said group being independently selected from the threshold score in all of the remaining groups.
4 Assignments
0 Petitions
Accused Products
Abstract
A sequence information signal processing integrated circuit chip designed to perform high speed calculation of a dynamic programming algorithm based upon the algorithm defined by Waterman and Smith. The signal processing chip of the present invention is designed to be a building block of a linear systolic array, the performance of which can be increased by connecting additional sequence information signal processing chips to the array. The chip provides a high speed, low cost linear array processor that can locate highly similar global sequences or segments thereof such as contiguous subsequences from two different DNA or protein sequences. The chip is implemented in a preferred embodiment using CMOS VLSI technology to provide the equivalent of about 400,000 transistors or 100,000 gates. Each chip provides 16 processing elements, and is designed to provide 16 bit, two'"'"'s compliment operation for maximum score precision of between -32,768 and +32,767. It is designed to provide a comparison between sequences as long as 4,194,304 elements without external software and between sequences of unlimited numbers of elements with the aid of external software.
Each sequence can be assigned different deletion and insertion weight functions. Each processor is provided with a similarity measure device which is independently variable. Thus, each processor can contribute to maximum value score calculation using a different similarity measure.
77 Citations
48 Claims
-
1. A computational apparatus for dynamically comparing against one another a first element sequence having a first number of elements and a second element sequence having a second number of elements by providing a plurality of scores indicative of the degree of similarity of respective segments of the sequences;
- the apparatus comprising;
a plurality of processors segregated into distinct groups of processors, each such processor having means for generating respective ones of said scores for said segments ending at selected elements of said respective sequences, said means for generating said scores including means for processing responsive to insertion of an additional element into one of said sequences during said dynamic comparison a signal indicative of said additional element insertion; means for determining the maximum one of said processor-generated scores and the ending elements of segments at which such maximum score occurs; and means in each of said groups for establishing a threshold score and for ignoring all said scores below said threshold score, the threshold score in each said group being independently selected from the threshold score in all of the remaining groups. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
- the apparatus comprising;
-
13. An apparatus of the type having a plurality of VLSI circuit devices for receiving signals representative of at least two data sequences A and B, where A=a1, a2 . . . an B=b1, b2 . . . bm, and for dynamically comparing sequences A and B by generating score signals representative of the degree to which segments of A and B are similar;
- each such device comprising;
a plurality of processors, each such processor having means for periodically generating respective ones of said scores for said segments ending at selected elements of said respective sequences, said means for periodically generating said scores including means for processing responsive to insertion of an additional element into one of said sequences during said dynamic comparison a signal indicative of said additional element insertion; and means for determining the maximum one of said processor-generated scores and the ending elements of segments at which such maximum score occurs; each said device having a distinct selected score threshold which can be different from the score thresholds in the remaining devices. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
- each such device comprising;
-
25. An integrated circuit apparatus for dynamically comparing against one another a first element sequence having a first number of elements and a second element sequence having a second number of elements by providing a plurality of scores indicative of the degree of similarity of the sequences;
- the apparatus comprising;
a plurality of processors, each such processor having means for generating respective ones of said scores for segments ending at selected elements of said respective sequences, said means for generating said scores including means for processing responsive to insertion of an additional element into one of said sequences during said dynamic comparison a signal indicative of said additional element insertion; means for determining the maximum one of said processor-generated scores and the ending elements at which such maximum score occurs; each said processor having a similarity measuring memory which is independent of the similarity measuring memories of all of the remaining processors whereby each processor contributes to said maximum score determining means using an independent measure of similarity. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
- the apparatus comprising;
-
36. An electronic system for the dynamic comparison of a first sequence having a first number of character elements with a second sequence having a second number of character elements, the system comprising:
-
a plurality of data processors arranged in a series with each data processor being coupled to the next subsequent data processor in said series; means for storing representations of said first sequence of character elements in said series of data processors, with each character element being associated with a respective one of said data processors, a series of discrete independently variable digital similarity tables stored in a memory device associated respectively with each data processor and character elements included in said first sequence of character elements; said series of data processors including shift registers for storing representations of said second sequence of character elements, with one of said second sequence of character elements being associated with each data processor, and means for stepping said representations of said second sequence of character elements along said shift register, from one data processor to the next, along said series of data processors; the similarity tables stored in said data processors providing digital values for each pattern of representations of said second series of character elements in said shift registers; and means for determining the level of correspondence between said first and second sequence of character elements from said digital values, whereby each said data processor can contribute to said level of correspondence based upon a unique similarity table stored in a corresponding memory device, said means for determining the level of correspondence between said first and second sequences including means for processing responsive to insertion of an additional element into one of said first and second sequences during said dynamic comparison a signal indicative of said additional element insertion. - View Dependent Claims (37, 38, 39)
-
-
40. A multiprocessor apparatus for dynamically comparing against one another a first sequence having a first number of elements and a second sequence having a second number of elements comprising:
-
a plurality of computational processors arranged in an interconnected serial array;
each such processor being selectively associated with an element of said first sequence of elements;means for serially propagating said second sequence of elements through said processors; and means for generating a measure of the similarity of said sequences and alternatively for element segments thereof at each processor for each processor'"'"'s combination of elements from said first and second sequences substantially as said second sequence elements are propagated through said processors, said means for generating said measure of similarity including means for processing responsive to insertion of an additional element into one of said sequences during said dynamic comparison a signal indicative of said additional element insertion; means for identifying the respective elements of said first and second sequences for which said measure represents the greatest degree of such similarity; means for establishing a threshold measure and for ignoring all said measures below said threshold measure; means for storing all said measures above said threshold measure and for automatically stopping said propagating of said second sequence of elements through said processors when a selected number of said measures are stored. - View Dependent Claims (41, 42, 43, 44, 45, 46)
-
-
47. An integrated circuit apparatus for dynamically comparing at least one element sequence against a plurality of other element sequences by providing a plurality of scores indicative of the degree of similarity of respective segments of the one element sequence and the other element sequence;
- the apparatus comprising;
a plurality of processors, each such processor having means for generating respective ones of said scores for said segments ending at selected elements of said respective sequences, said means for generating said scores including means for processing responsive to insertion of an additional element into one of said sequences during said dynamic comparison a signal indicative of said additional element insertion; and means for determining the maximum ones of said processor generated scores for each of said other element sequences and the ending elements of segments at which such maximum scores occur; each said processor comprising a memory device for storing a similarity table upon which each said score is based, each such table being independently variable from all other such tables.
- the apparatus comprising;
-
48. A sequence information signal processing apparatus for dynamically comparing against one another a first sequence having a first number of elements and a second sequence having a second number of elements comprising a plurality of computational processors arranged in an interconnected serial array;
- each such processor being selectively associated with an element of said first sequence of elements;
means for serially propagating said second sequence of elements through said processors; and means for generating a measure of similarity of said sequences and for identifying the respective elements of said sequences for which a maximum measure of similarity occurs, said means for generating said measure of similarity including means for processing responsive to insertion of an additional element into one of said sequences during said dynamic comparison a signal indicative of said additional element insertion; wherein said processors are arranged in discrete, serially interconnected blocks of processors and wherein said apparatus further comprises means for providing one such maximum measure in each said block, means for comparing the maximum measures of all such blocks and means for automatically resetting the maximum measure in each said block to zero before such maximum measure is compared with the maximum measure of a subsequent block when said maximum measure exceeds a selected measure.
- each such processor being selectively associated with an element of said first sequence of elements;
Specification