Dynamite: a flexible code generating language for dynamic programming methods used in sequence comparison.
We have developed a code generating language, called Dynamite, specialised for the production and subsequent manipulation of complex dynamic programming methods for biological sequence comparison. From a relatively simple text definition file Dynamite will produce a variety of implementations of a dynamic programming method, including database searches and linear space alignments. The speed of the generated code is comparable to hand written code, and the additional flexibility has proved invaluable in designing and testing new algorithms. An innovation is a flexible labelling system, which can be used to annotate the original sequences with biological information. We illustrate the Dynamite syntax and flexibility by showing definitions for dynamic programming routines (i) to align two protein sequences under the assumption that they are both poly-topic transmembrane proteins, with the simultaneous assignment of transmembrane helices and (ii) to align protein information to genomic DNA, allowing for introns and sequencing error.
Birney
E
E
Sanger Centre, Cambridge, UK. birney@sanger.ac.uk
Durbin
R
R
D000465:Algorithms; D000595:Amino Acid Sequence; D001483:Base Sequence; D004247:DNA / Q000235:genetics; D016208:Databases, Factual; D008390:Markov Chains; D008969:Molecular Sequence Data; D011506:Proteins / Q000235:genetics; D016415:Sequence Alignment / Q000379:methods* / Q000706:statistics & numerical data; D017386:Sequence Homology, Amino Acid; D012689:Sequence Homology, Nucleic Acid; D012984:Software
D011506:Proteins; D004247:DNA