A finite state machine algorithm for finding restriction sites and other pattern matching applications
The Public Health Research Institute 455 First Avenue, New York, NY 10016, USA
Existing algorithms for finding restriction endonuclease recognition sites use brute-force algorithms which run in time 0(NM) where N is the number of nucleotides in the sequence under analysis and M is the total number of nucleotides in all the different sites being searched for. This paper presents a deterministic finite state machine algorithm which runs in time 0(N). Memory use can be as high as 0(M4) but a slight modification to the basic algorithm can impose a theoretical upper bound of 0(M) at the cost of some added complexity in the execution of the state machine. The algorithm can operate with a single pass through the sequence under analysis, with no need to back up or (for non-circular sequences) store more than a single input character at a time. This type of algorithm can be adapted to many pattern-matching tasks and is simple enough to implement in hardware that it could, for example, be built into a disk controller as part of a specialized database machine.
Received on April 14, 1988; accepted on June 16, 1988
This article has been cited by other articles:
![]() |
K. Prufer, U. Stenzel, M. Dannemann, R. E. Green, M. Lachmann, and J. Kelso PatMaN: rapid alignment of short sequences to large databases Bioinformatics, July 1, 2008; 24(13): 1530 - 1531. [Abstract] [Full Text] [PDF] |
||||
