12 Algorithms in Bioinformatics I, WS 06, ZBIT, D. Huson, October 18, 2006

Size: px
Start display at page:

Download "12 Algorithms in Bioinformatics I, WS 06, ZBIT, D. Huson, October 18, 2006"

Transcription

1 12 Algorithms in Bioinformatics I, WS 06, ZBIT, D. Huson, October 18, Sequence comparison by compression This chapter is based on the following articles, which are all recommended reading: X. Chen, S. Kwong, and M. Li. A compression algorithm for DNA sequences and its application in genome comparisons. Genome Informatics, 10:51 61, C.H. Bennett, M. Li and B. Ma, Chain letters and evolutionary histories, Scientific American, 64-69, June 2003 C.H. Bennett, M. Li and B. Ma, Linking chain letters, manuscript, ca/~mli/chain.html. 3 Motivation We often use similarity as a marker for homology. And use homology to infer function. Sometimes, we are only interested in a numerical distance between two sequences. For example, to infer a phylogeny. Figure adapted from Text- vs DNA compression Programs such as compress, gzip or zip are routinely used to compress text files. Given a text file containing DNA, this can also be compressed using such programs. For example, a text file containing chromosome 19 of human in fasta format is approximately 61 MB. Application of unix compress produces a file of size 8.5 MB. In such a text file, 8 bits are used for each character. However, as DNA consists of only four different bases, encoding requires at most two bits per base, e.g. using: A = 00, C = 01, G = 10, and T = 11. Applying a standard compression algorithm to a file containing DNA encoded using two bits per base will usually not be able to compress the file further.

2 Algorithms in Bioinformatics I, WS 06, ZBIT, D. Huson, October 18, The repetitive nature of DNA Take advantage of the repetitive nature of DNA!! LINEs (Long Interspersed Nuclear Elements), SINEs.. UCSC Genome Browser: DNA compression Standard compression algorithms are aimed at natural language text and are not aimed at making use of the regularities in DNA sequences. However, we expect DNA sequences to be very compressible, especially for higher eukaryotes: they containing many repeats of different size, with different numbers of instances and different amounts of identity. A first simple idea. While processing the DNA string from left to right, detect exact repeats and/or palindromes (reverse-complemented repeats) that possess previous instances in the already processed text and encode them by the length and position of an earlier occurrence. For stretches of sequence for which no significant repeat is found, use two-bit encoding. (The program Biocompress is based on this idea.) Data structure for fast access to sequence patterns already encountered. Sliding window along unprocessed sequence. current position processed sequence segment unprocessed sequence segment data structure check for previous occurrences

3 14 Algorithms in Bioinformatics I, WS 06, ZBIT, D. Huson, October 18, 2006 A second simple idea. Build a suffix tree for the whole sequence and use it to detect maximal repeats of some fixed minimum size. Then code all repeats as above and use two-bit encoding for bases not contained inside repeats. (The program Cfact is based on this idea.) Both of these algorithms are lossless, meaning that the original sequences can be precisely reconstructed from their encodings. An number of lossy algorithms exist, which we will not discuss here. In the following we will discuss the GenCompress algorithm due to Xin Chen, Sam Kwong and Ming Li. 3.4 Edit operations The main idea of GenCompress is to use inexact matching, followed by edit operations. In other words, instances of inexact repeats are encoded by a reference to an earlier instance of the repeat, followed by some edit operations that modify the earlier instance to obtain the current instance. Three standard edit operations are considered: 1. Replace. This operation (R, i, char) consists of replacing the character at position i by character char. 2. Insert. This operation (I, i, char) consists of inserting character char at position i. 3. Delete. This operation (D, i) consists of deleting the character at position i. Let C denote copy. Here are two different ways to convert the string gaccgtcatt to gaccttcatt via different edit operation sequences: (a) (b) C C C C R C C C C C g a c c g t c a t t g a c c t t c a t t C C C C D C I C C C C g a c c g t c a t t g a c c t t c a t t Case (a) involves one replacement and case (b) involves a deletion and an insertion. Clearly, there are an infinite number of ways to convert one string into another. Given two strings q and p. An edit transcript λ(q, p) is a list of edit operations that transforms q into p. For example, in case (a) the edit transcript is: whereas in case (b) it is: λ(gaccgtcatt, gaccttcatt) = (R, 4, t), λ(gaccgtcatt, gaccttcatt) = (D, 4), (I, 4, g). (We are assuming that positions start at 0 and that positions are given relative to current state of the string, as obtained by application of any preceding edit operations.) If we know the string q and are given an edit transcript λ(q, p), then we can construct p correctly from q using the transcript. or 3.5 Encoding DNA We discuss four ways to encode a DNA string, e.g. gaccttcatt.

4 Algorithms in Bioinformatics I, WS 06, ZBIT, D. Huson, October 18, (1) Using the two-bit encoding method, gaccttcatt can be encoded in 20 bits: The following three encode gaccttcatt relative to gaccgtcatt: (2) In the exact matching method we use a pair of numbers (repeat position, repeat length) to represent an exact repeat. We can encode gaccttcatt as (0, 4), t, (5, 5), relative to gaccgtcatt. Let us use four bits to encode an integer, two bits to encode a base and one bit to indicate whether the next part is a pair (indicating a repeat) or a base. We obtain an encoding in 21 bits: (3) In the approximate matching method we can encode gaccttcatt as (0, 10), (R, 4, t) relative to gaccgtcatt. Let use encode R by 00, I by 01, D by 11 and use a single bit to indicate whether the next part is a pair or a triplet. We obtain an encoding in 18 bits: (4) For approximate matching, we could also use the edit sequence (D, 4), (I, 4, t), for example, yielding the relative encoding (0, 10), (D, 4), (I, 4, t), which uses 25 bits: The approximate matching method (3) uses the smallest number of bits. (Note that there is a mistake in the discussion of these cases in the paper by Chen et al.) 3.6 GenCompress: An algorithm based on approximate matching GenCompress is a one-pass algorithm based on approximate matching that processes as follows: For a given input string w, assume that a part v has already been compressed and the remaining part is u, with w = vu. The algorithm finds an optimal prefix p of u that approximately matches some substring of v such that p can be encoded economically. After outputting the encoding of p, remove the prefix p from u and append it to v. If no optimal prefix is found, output the next base and then move it from u to v. Repeat until u = ɛ. 3.7 The condition C How do we find a optimal prefix p? The following condition will be used to limit the search. Given two numbers k and b. Let p be a prefix of the unprocessed part u and q a substring of the processed part v. If the length of q > k, then any transcript λ(q, p) is said to satisfy the condition C = (k, b) for compression, if its number of edit operations is b. Experimental studies indicate that C = (k, b) = (12, 3) gives good results. In other words, when attempting to determine the optimal prefix for compression, we will only consider repeats of length k that require at most b edit operations.

5 16 Algorithms in Bioinformatics I, WS 06, ZBIT, D. Huson, October 18, The compression gain function We define a compression gain function G to determine whether a particular approximate repeat q, p and edit transcript λ are beneficial for the encoding: where p is a prefix of the unprocessed part u, G(q, p, λ) = max {2 p (i, q ) w λ λ(q, p) c, 0}. q is a substring of the processed part v of length q that starts at position i, 2 p is the number of bits that the two-bit encoding would use, (i, q ) is the encoding size of (i, q ), w λ is the cost of encoding an edit operation, λ(q, p) is the number of edit operations in λ(q, p), and c is the overhead proportional to the size of control bits. Let w = vu be an input sequence and assume that we have already processed v. Given G(q, p, λ) and C = (k, b), an optimal prefix is a prefix p of u such that G(q, p, λ) is maximized over all λ and q, where q is a substring of v and λ is an edit transcript from q to p satisfying condition C. In the algorithm, prefixes are encoding using the repeat representation only if the compression gain function yields a positive value, otherwise the two-bit encoding (or more advanced encoding of the individual bases) is used. 3.9 The GenCompress algorithm Here is a high-level description of the GenCompress algorithm: Algorithm (GenCompress) Input: A DNA sequence w, parameter C = (k, b) Output: A lossless compressed encoding of w Initialization: u = w and v = ɛ while u ɛ do Search for an optimal prefix p of u if an optimal prefix p with repeat q in v is found then Encode the repeat representation (i, q ), where i is the position of q in v, together with the shortest edit transcript λ(q, p). Output the code. else Set p equal to the first character of u, encode and output it. Remove the prefix p from u and append it to v end 3.10 Implementing the optimal prefix search An exhaustive search for the optimal prefix in the main step of the algorithm is practical only for very short sequences. The goal is to reduce the search space of possible repeats without significantly reducing the compression ratio of the algorithm. Some algorithm engineering is necessary to perform the optimal prefix search in reasonable time. We briefly discuss three ingredients that are used.

6 Algorithms in Bioinformatics I, WS 06, ZBIT, D. Huson, October 18, Lemma An optimal prefix p always ends right before a mismatch. Lemma Let λ(q, p) be an optimal edit sequence from q to p. If qi is copied onto pj in λ, then λ restricted to (q0:i, p0:j ) is an optimal transcript from q0:i = q0 q1... qi to p0:j = p0 p1..., pj. (Proof: see paper for details.) The search is simplified as follows: to find an approximate match for p in v, we look for an exact match of the first l bases in p, where l is a fixed small number. To speed this up, an integer is stored at each position i of v that is determined by the the word of length l starting at i. Here is an outline of the optimal prefix search: 1. Let w = vu where v has already been compressed. 2. Find all occurrences u0:l in v, for some small l. For each such occurrence, try to extend it, allowing mismatches, limited by the above observations and condition C. Return the prefix p with the largest compression gain value G Performance of GenCompress Since any nucleotide can be encoded canonically using 2 bits, we define the compression ratio of a compression algorithm as O 1, 2 I where I is the number of bases in the input DNA sequence and O is the length (number of bits) of the output sequence. Alternatively, if our DNA string is already encoded canonically, we can define the compression ratio of a compression algorithm as O, 1 I where I is the number of bits in the canonical encoding of the input DNA sequence and O is the length (number of bits) of the output sequence. The following table shows the performance of GenCompress on some standard benchmark data sets: (Source: Chen, Kwong and Li, 1999) 3.12 Conditional compression In conditional compression we want to compress a sequence w relative to a given sequence z. E.g., in the case of GenCompress, when compressing w we are also allowed to repeat-encode prefixes of w relative to approximate matches in z.

7 18 Algorithms in Bioinformatics I, WS 06, ZBIT, D. Huson, October 18, 2006 Let Compress(w z) denote the length of the compression of w, given z. Similarly, let Compress(w) = Compress(w ɛ). Note that, in general, Compress(w z) Compress(z w). This is not only a theoretical result, but also true in practice. For example, the Biocompress-2 program produces: CompressRatio(brucella rochalima) = 55.95%, and CompressRatio(rochalima brucella) = 34.56%. Let us consider two extreme cases. If z = w, then Compress(w z) will be very small, as w is obtained from z as a single repeat. On the other hand, if the relationship between w and z is random, then Compress(w z) Compress(w). This, and the fact that the approximate matching and edit operations employed in the compression algorithm seem biologically reasonable, raises the following question: Can one define a measure of evolutionary distance between sequences based on their conditional compressibility? One idea that has been proposed in the literature is to use D(w, z) := but there is no good reason to do so. Compress(w z) + Compress(z w), A symmetric measure of similarity Let K(w z) denote the Kolmogorov complexity of string w, given z. Informally, this is the length of the shortest program that outputs w given z. Similarly, set K(w) = K(w ɛ). The following result is due to Kolmogorov and Levin: Theorem Within an additive logarithmic factor, K(w z) + K(z) = K(z w) + K(w). This implies K(w) K(w z) = K(z) K(z w). Normalizing by the sequence length we obtain the following symmetric map: R(w, z) = K(w) K(w z) K(wz) = K(z) K(z w), K(wz) describing the mutual information or relatedness of two sequences. ( wz means concatenation of w and z) A distance between the two sequences w and z is given by 1 R(w, z). Unfortunately, the Kolmogorov complexity K(w z) is incomputable!

8 Algorithms in Bioinformatics I, WS 06, ZBIT, D. Huson, October 18, The authors of GenCompress propose to use Compress(w) to approximate K(w) and to use Compress(w z) to approximate K(w z). Hence, we obtain a mutual-information distance between any two DNA sequences w and z as: D(w, z) := 1 1 Compress(w) Compress(w z) Compress(wz) Compress(z) Compress(z w), Compress(wz) ranging between 0 for identical sequences and 1 for independent ones Application to genomic sequences One proposed domain of application is to DNA sequences (e.g. 16S rrna) of distantly related species. Given the following data: Archaea Bacteria: Archaeoglobus fulgidus, Pyrococcus abyssi and Pyrococcus horikoshii, and Bacteria: Eshcerichia coli K-12 MG1655, Haemophilus influenzae Rd, Helicobacter pylori and Helicbacter pylori, strain J99. Application of GenCompress gives rise to the following data: and, based on this, the following tree:

9 20 Algorithms in Bioinformatics I, WS 06, ZBIT, D. Huson, October 18, Chain letters Charles Bennet, Ming Li and Bin Ma studied 33 versions of a chain letter, collected These were in circulation when photocopiers, but not , were already widely used: This chain letter and its variants provide a good analogy to the evolution of genes: they have a similar length to genes, they provide some motivation for their replication (otherwise, you will have a lot of bad luck!), they are subject to copy errors or mutations, such mutations occur with different frequency in different parts of the string, depending on the meaning of the region, and they are attractive to study because they are human readable Differences between the letters The 33 letters can be downloaded from: They differ significantly, e.g. there are: 15 different titles, 23 different names for an office employee, 25 names for the author of the articles, and many misspellings, missing or added phrases, sentences and paragraphs, and swapped sentences. These mutations occurred whenever a photocopy of a photocopy of a photocopy etc became so illegible that a new copy had to be typed.

10 Algorithms in Bioinformatics I, WS 06, ZBIT, D. Huson, October 18, Chain letter phylogeny Bennet, Li and Ma have studied the phylogeny of the letters using the above described compressiondistance approach. First, they computed the mutual information distance between every pair of letters. Then they applied a number of different distance based methods to compute trees on the resulting distance matrix. See their article in Scientific American (June 2003) for a detailed discussion. The following result was obtained:

Lecture 9: Core String Edits and Alignments

Lecture 9: Core String Edits and Alignments Biosequence Algorithms, Spring 2005 Lecture 9: Core String Edits and Alignments Pekka Kilpeläinen University of Kuopio Department of Computer Science BSA Lecture 9: String Edits and Alignments p.1/30 III:

More information

Bioinformatics I, WS 09-10, D. Huson, February 10,

Bioinformatics I, WS 09-10, D. Huson, February 10, Bioinformatics I, WS 09-10, D. Huson, February 10, 2010 189 12 More on Suffix Trees This week we study the following material: WOTD-algorithm MUMs finding repeats using suffix trees 12.1 The WOTD Algorithm

More information

Biological Sequence Compression Algorithms

Biological Sequence Compression Algorithms Genome Informatics 11: 43 52 (2000) 43 Biological Sequence Compression Algorithms Toshiko Matsumoto 1,3 Kunihiko Sadakane 2 Hiroshi Imai 1 toshikom@is.s.u-tokyo.ac.jp sada@dais.is.tohoku.ac.jp imai@is.s.u-tokyo.ac.jp

More information

24 Grundlagen der Bioinformatik, SS 10, D. Huson, April 26, This lecture is based on the following papers, which are all recommended reading:

24 Grundlagen der Bioinformatik, SS 10, D. Huson, April 26, This lecture is based on the following papers, which are all recommended reading: 24 Grundlagen der Bioinformatik, SS 10, D. Huson, April 26, 2010 3 BLAST and FASTA This lecture is based on the following papers, which are all recommended reading: D.J. Lipman and W.R. Pearson, Rapid

More information

Special course in Computer Science: Advanced Text Algorithms

Special course in Computer Science: Advanced Text Algorithms Special course in Computer Science: Advanced Text Algorithms Lecture 6: Alignments Elena Czeizler and Ion Petre Department of IT, Abo Akademi Computational Biomodelling Laboratory http://www.users.abo.fi/ipetre/textalg

More information

splitmem: graphical pan-genome analysis with suffix skips Shoshana Marcus May 7, 2014

splitmem: graphical pan-genome analysis with suffix skips Shoshana Marcus May 7, 2014 splitmem: graphical pan-genome analysis with suffix skips Shoshana Marcus May 7, 2014 Outline 1 Overview 2 Data Structures 3 splitmem Algorithm 4 Pan-genome Analysis Objective Input! Output! A B C D Several

More information

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2 Chapter 5 A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2 Graph Matching has attracted the exploration of applying new computing paradigms because of the large number of applications

More information

tagerator: a program for mapping short sequence tags a manual

tagerator: a program for mapping short sequence tags a manual tagerator: a program for mapping short sequence tags a manual Stefan Kurtz Center for Bioinformatics, University of Hamburg August 6, 2012 1 Preliminary definitions By S let us denote the concatenation

More information

GenCodex - A Novel Algorithm for Compressing DNA sequences on Multi-cores and GPUs

GenCodex - A Novel Algorithm for Compressing DNA sequences on Multi-cores and GPUs GenCodex - A Novel Algorithm for ing DNA sequences on Multi-cores and GPUs D Satyanvesh, Kaliuday Balleda, Ajith Padyana, P K Baruah Sri Sathya Sai Institute of Higher Learning, Prasanthi Nilayam, India

More information

COMPARATIVE MICROBIAL GENOMICS ANALYSIS WORKSHOP. Exercise 2: Predicting Protein-encoding Genes, BlastMatrix, BlastAtlas

COMPARATIVE MICROBIAL GENOMICS ANALYSIS WORKSHOP. Exercise 2: Predicting Protein-encoding Genes, BlastMatrix, BlastAtlas COMPARATIVE MICROBIAL GENOMICS ANALYSIS WORKSHOP Exercise 2: Predicting Protein-encoding Genes, BlastMatrix, BlastAtlas First of all connect once again to the CBS system: Open ssh shell client. Press Quick

More information

A New String Matching Algorithm Based on Logical Indexing

A New String Matching Algorithm Based on Logical Indexing The 5th International Conference on Electrical Engineering and Informatics 2015 August 10-11, 2015, Bali, Indonesia A New String Matching Algorithm Based on Logical Indexing Daniar Heri Kurniawan Department

More information

Computational Molecular Biology

Computational Molecular Biology Computational Molecular Biology Erwin M. Bakker Lecture 3, mainly from material by R. Shamir [2] and H.J. Hoogeboom [4]. 1 Pairwise Sequence Alignment Biological Motivation Algorithmic Aspect Recursive

More information

New Common Ancestor Problems in Trees and Directed Acyclic Graphs

New Common Ancestor Problems in Trees and Directed Acyclic Graphs New Common Ancestor Problems in Trees and Directed Acyclic Graphs Johannes Fischer, Daniel H. Huson Universität Tübingen, Center for Bioinformatics (ZBIT), Sand 14, D-72076 Tübingen Abstract We derive

More information

Lectures by Volker Heun, Daniel Huson and Knut Reinert, in particular last years lectures

Lectures by Volker Heun, Daniel Huson and Knut Reinert, in particular last years lectures 4 FastA and the chaining problem We will discuss: Heuristics used by the FastA program for sequence alignment Chaining problem 4.1 Sources for this lecture Lectures by Volker Heun, Daniel Huson and Knut

More information

Lecture Overview. Sequence search & alignment. Searching sequence databases. Sequence Alignment & Search. Goals: Motivations:

Lecture Overview. Sequence search & alignment. Searching sequence databases. Sequence Alignment & Search. Goals: Motivations: Lecture Overview Sequence Alignment & Search Karin Verspoor, Ph.D. Faculty, Computational Bioscience Program University of Colorado School of Medicine With credit and thanks to Larry Hunter for creating

More information

Estimating effective DNA database size via compression

Estimating effective DNA database size via compression Estimating effective DNA database size via compression Martina Višňovská 1, Michal Nánási 2, Tomáš Vinař 1, and Broňa Brejová 2 1 Department of Applied Informatics, Faculty of Mathematics, Physics, and

More information

Entropy Coding. - to shorten the average code length by assigning shorter codes to more probable symbols => Morse-, Huffman-, Arithmetic Code

Entropy Coding. - to shorten the average code length by assigning shorter codes to more probable symbols => Morse-, Huffman-, Arithmetic Code Entropy Coding } different probabilities for the appearing of single symbols are used - to shorten the average code length by assigning shorter codes to more probable symbols => Morse-, Huffman-, Arithmetic

More information

FASTA. Besides that, FASTA package provides SSEARCH, an implementation of the optimal Smith- Waterman algorithm.

FASTA. Besides that, FASTA package provides SSEARCH, an implementation of the optimal Smith- Waterman algorithm. FASTA INTRODUCTION Definition (by David J. Lipman and William R. Pearson in 1985) - Compares a sequence of protein to another sequence or database of a protein, or a sequence of DNA to another sequence

More information

An Efficient Algorithm for Computing Non-overlapping Inversion and Transposition Distance

An Efficient Algorithm for Computing Non-overlapping Inversion and Transposition Distance An Efficient Algorithm for Computing Non-overlapping Inversion and Transposition Distance Toan Thang Ta, Cheng-Yao Lin and Chin Lung Lu Department of Computer Science National Tsing Hua University, Hsinchu

More information

FastA & the chaining problem

FastA & the chaining problem FastA & the chaining problem We will discuss: Heuristics used by the FastA program for sequence alignment Chaining problem 1 Sources for this lecture: Lectures by Volker Heun, Daniel Huson and Knut Reinert,

More information

Lempel-Ziv compression: how and why?

Lempel-Ziv compression: how and why? Lempel-Ziv compression: how and why? Algorithms on Strings Paweł Gawrychowski July 9, 2013 s July 9, 2013 2/18 Outline Lempel-Ziv compression Computing the factorization Using the factorization July 9,

More information

FastA and the chaining problem, Gunnar Klau, December 1, 2005, 10:

FastA and the chaining problem, Gunnar Klau, December 1, 2005, 10: FastA and the chaining problem, Gunnar Klau, December 1, 2005, 10:56 4001 4 FastA and the chaining problem We will discuss: Heuristics used by the FastA program for sequence alignment Chaining problem

More information

BLAST: Basic Local Alignment Search Tool Altschul et al. J. Mol Bio CS 466 Saurabh Sinha

BLAST: Basic Local Alignment Search Tool Altschul et al. J. Mol Bio CS 466 Saurabh Sinha BLAST: Basic Local Alignment Search Tool Altschul et al. J. Mol Bio. 1990. CS 466 Saurabh Sinha Motivation Sequence homology to a known protein suggest function of newly sequenced protein Bioinformatics

More information

Mapping Reads to Reference Genome

Mapping Reads to Reference Genome Mapping Reads to Reference Genome DNA carries genetic information DNA is a double helix of two complementary strands formed by four nucleotides (bases): Adenine, Cytosine, Guanine and Thymine 2 of 31 Gene

More information

BLAST & Genome assembly

BLAST & Genome assembly BLAST & Genome assembly Solon P. Pissis Tomáš Flouri Heidelberg Institute for Theoretical Studies November 17, 2012 1 Introduction Introduction 2 BLAST What is BLAST? The algorithm 3 Genome assembly De

More information

Sequence Alignment & Search

Sequence Alignment & Search Sequence Alignment & Search Karin Verspoor, Ph.D. Faculty, Computational Bioscience Program University of Colorado School of Medicine With credit and thanks to Larry Hunter for creating the first version

More information

EE-575 INFORMATION THEORY - SEM 092

EE-575 INFORMATION THEORY - SEM 092 EE-575 INFORMATION THEORY - SEM 092 Project Report on Lempel Ziv compression technique. Department of Electrical Engineering Prepared By: Mohammed Akber Ali Student ID # g200806120. ------------------------------------------------------------------------------------------------------------------------------------------

More information

The Effect of Flexible Parsing for Dynamic Dictionary Based Data Compression

The Effect of Flexible Parsing for Dynamic Dictionary Based Data Compression The Effect of Flexible Parsing for Dynamic Dictionary Based Data Compression Yossi Matias Nasir Rajpoot Süleyman Cenk Ṣahinalp Abstract We report on the performance evaluation of greedy parsing with a

More information

String Matching Algorithms

String Matching Algorithms String Matching Algorithms 1. Naïve String Matching The naïve approach simply test all the possible placement of Pattern P[1.. m] relative to text T[1.. n]. Specifically, we try shift s = 0, 1,..., n -

More information

Suffix Vector: A Space-Efficient Suffix Tree Representation

Suffix Vector: A Space-Efficient Suffix Tree Representation Lecture Notes in Computer Science 1 Suffix Vector: A Space-Efficient Suffix Tree Representation Krisztián Monostori 1, Arkady Zaslavsky 1, and István Vajk 2 1 School of Computer Science and Software Engineering,

More information

Compressing Data. Konstantin Tretyakov

Compressing Data. Konstantin Tretyakov Compressing Data Konstantin Tretyakov (kt@ut.ee) MTAT.03.238 Advanced April 26, 2012 Claude Elwood Shannon (1916-2001) C. E. Shannon. A mathematical theory of communication. 1948 C. E. Shannon. The mathematical

More information

An Efficient Decoding Technique for Huffman Codes Abstract 1. Introduction

An Efficient Decoding Technique for Huffman Codes Abstract 1. Introduction An Efficient Decoding Technique for Huffman Codes Rezaul Alam Chowdhury and M. Kaykobad Department of Computer Science and Engineering Bangladesh University of Engineering and Technology Dhaka-1000, Bangladesh,

More information

Evolutionary tree reconstruction (Chapter 10)

Evolutionary tree reconstruction (Chapter 10) Evolutionary tree reconstruction (Chapter 10) Early Evolutionary Studies Anatomical features were the dominant criteria used to derive evolutionary relationships between species since Darwin till early

More information

LAB # 3 / Project # 1

LAB # 3 / Project # 1 DEI Departamento de Engenharia Informática Algorithms for Discrete Structures 2011/2012 LAB # 3 / Project # 1 Matching Proteins This is a lab guide for Algorithms in Discrete Structures. These exercises

More information

Dynamic Programming II

Dynamic Programming II June 9, 214 DP: Longest common subsequence biologists often need to find out how similar are 2 DNA sequences DNA sequences are strings of bases: A, C, T and G how to define similarity? DP: Longest common

More information

SOLiD GFF File Format

SOLiD GFF File Format SOLiD GFF File Format 1 Introduction The GFF file is a text based repository and contains data and analysis results; colorspace calls, quality values (QV) and variant annotations. The inputs to the GFF

More information

Algorithms for Bioinformatics

Algorithms for Bioinformatics Adapted from slides by Leena Salmena and Veli Mäkinen, which are partly from http: //bix.ucsd.edu/bioalgorithms/slides.php. 582670 Algorithms for Bioinformatics Lecture 6: Distance based clustering and

More information

Brief review from last class

Brief review from last class Sequence Alignment Brief review from last class DNA is has direction, we will use only one (5 -> 3 ) and generate the opposite strand as needed. DNA is a 3D object (see lecture 1) but we will model it

More information

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi.

Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi. Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 18 Tries Today we are going to be talking about another data

More information

Data Compression Techniques

Data Compression Techniques Data Compression Techniques Part 1: Entropy Coding Lecture 1: Introduction and Huffman Coding Juha Kärkkäinen 31.10.2017 1 / 21 Introduction Data compression deals with encoding information in as few bits

More information

Lecture 19. Lecturer: Aleksander Mądry Scribes: Chidambaram Annamalai and Carsten Moldenhauer

Lecture 19. Lecturer: Aleksander Mądry Scribes: Chidambaram Annamalai and Carsten Moldenhauer CS-621 Theory Gems November 21, 2012 Lecture 19 Lecturer: Aleksander Mądry Scribes: Chidambaram Annamalai and Carsten Moldenhauer 1 Introduction We continue our exploration of streaming algorithms. First,

More information

Alignment of Long Sequences

Alignment of Long Sequences Alignment of Long Sequences BMI/CS 776 www.biostat.wisc.edu/bmi776/ Spring 2009 Mark Craven craven@biostat.wisc.edu Pairwise Whole Genome Alignment: Task Definition Given a pair of genomes (or other large-scale

More information

Data Representation. Types of data: Numbers Text Audio Images & Graphics Video

Data Representation. Types of data: Numbers Text Audio Images & Graphics Video Data Representation Data Representation Types of data: Numbers Text Audio Images & Graphics Video Analog vs Digital data How is data represented? What is a signal? Transmission of data Analog vs Digital

More information

As of August 15, 2008, GenBank contained bases from reported sequences. The search procedure should be

As of August 15, 2008, GenBank contained bases from reported sequences. The search procedure should be 48 Bioinformatics I, WS 09-10, S. Henz (script by D. Huson) November 26, 2009 4 BLAST and BLAT Outline of the chapter: 1. Heuristics for the pairwise local alignment of two sequences 2. BLAST: search and

More information

17 dicembre Luca Bortolussi SUFFIX TREES. From exact to approximate string matching.

17 dicembre Luca Bortolussi SUFFIX TREES. From exact to approximate string matching. 17 dicembre 2003 Luca Bortolussi SUFFIX TREES From exact to approximate string matching. An introduction to string matching String matching is an important branch of algorithmica, and it has applications

More information

BLAST & Genome assembly

BLAST & Genome assembly BLAST & Genome assembly Solon P. Pissis Tomáš Flouri Heidelberg Institute for Theoretical Studies May 15, 2014 1 BLAST What is BLAST? The algorithm 2 Genome assembly De novo assembly Mapping assembly 3

More information

Full-Text Search on Data with Access Control

Full-Text Search on Data with Access Control Full-Text Search on Data with Access Control Ahmad Zaky School of Electrical Engineering and Informatics Institut Teknologi Bandung Bandung, Indonesia 13512076@std.stei.itb.ac.id Rinaldi Munir, S.T., M.T.

More information

Space Efficient Linear Time Construction of

Space Efficient Linear Time Construction of Space Efficient Linear Time Construction of Suffix Arrays Pang Ko and Srinivas Aluru Dept. of Electrical and Computer Engineering 1 Laurence H. Baker Center for Bioinformatics and Biological Statistics

More information

(for more info see:

(for more info see: Genome assembly (for more info see: http://www.cbcb.umd.edu/research/assembly_primer.shtml) Introduction Sequencing technologies can only "read" short fragments from a genome. Reconstructing the entire

More information

Computer Science 236 Fall Nov. 11, 2010

Computer Science 236 Fall Nov. 11, 2010 Computer Science 26 Fall Nov 11, 2010 St George Campus University of Toronto Assignment Due Date: 2nd December, 2010 1 (10 marks) Assume that you are given a file of arbitrary length that contains student

More information

String Matching Algorithms

String Matching Algorithms String Matching Algorithms Georgy Gimel farb (with basic contributions from M. J. Dinneen, Wikipedia, and web materials by Ch. Charras and Thierry Lecroq, Russ Cox, David Eppstein, etc.) COMPSCI 369 Computational

More information

BUNDLED SUFFIX TREES

BUNDLED SUFFIX TREES Motivation BUNDLED SUFFIX TREES Luca Bortolussi 1 Francesco Fabris 2 Alberto Policriti 1 1 Department of Mathematics and Computer Science University of Udine 2 Department of Mathematics and Computer Science

More information

Greedy Algorithms CHAPTER 16

Greedy Algorithms CHAPTER 16 CHAPTER 16 Greedy Algorithms In dynamic programming, the optimal solution is described in a recursive manner, and then is computed ``bottom up''. Dynamic programming is a powerful technique, but it often

More information

CSE 421 Greedy: Huffman Codes

CSE 421 Greedy: Huffman Codes CSE 421 Greedy: Huffman Codes Yin Tat Lee 1 Compression Example 100k file, 6 letter alphabet: File Size: ASCII, 8 bits/char: 800kbits 2 3 > 6; 3 bits/char: 300kbits a 45% b 13% c 12% d 16% e 9% f 5% Why?

More information

Data Compression Techniques

Data Compression Techniques Data Compression Techniques Part 2: Text Compression Lecture 6: Dictionary Compression Juha Kärkkäinen 15.11.2017 1 / 17 Dictionary Compression The compression techniques we have seen so far replace individual

More information

An Efficient Algorithm for Identifying the Most Contributory Substring. Ben Stephenson Department of Computer Science University of Western Ontario

An Efficient Algorithm for Identifying the Most Contributory Substring. Ben Stephenson Department of Computer Science University of Western Ontario An Efficient Algorithm for Identifying the Most Contributory Substring Ben Stephenson Department of Computer Science University of Western Ontario Problem Definition Related Problems Applications Algorithm

More information

Designing parallel algorithms for constructing large phylogenetic trees on Blue Waters

Designing parallel algorithms for constructing large phylogenetic trees on Blue Waters Designing parallel algorithms for constructing large phylogenetic trees on Blue Waters Erin Molloy University of Illinois at Urbana Champaign General Allocation (PI: Tandy Warnow) Exploratory Allocation

More information

Grid Scheduling Strategy using GA (GSSGA)

Grid Scheduling Strategy using GA (GSSGA) F Kurus Malai Selvi et al,int.j.computer Technology & Applications,Vol 3 (5), 8-86 ISSN:2229-693 Grid Scheduling Strategy using GA () Dr.D.I.George Amalarethinam Director-MCA & Associate Professor of Computer

More information

ChIP-seq (NGS) Data Formats

ChIP-seq (NGS) Data Formats ChIP-seq (NGS) Data Formats Biological samples Sequence reads SRA/SRF, FASTQ Quality control SAM/BAM/Pileup?? Mapping Assembly... DE Analysis Variant Detection Peak Calling...? Counts, RPKM VCF BED/narrowPeak/

More information

Efficient Sequential Algorithms, Comp309. Motivation. Longest Common Subsequence. Part 3. String Algorithms

Efficient Sequential Algorithms, Comp309. Motivation. Longest Common Subsequence. Part 3. String Algorithms Efficient Sequential Algorithms, Comp39 Part 3. String Algorithms University of Liverpool References: T. H. Cormen, C. E. Leiserson, R. L. Rivest Introduction to Algorithms, Second Edition. MIT Press (21).

More information

Computational Molecular Biology

Computational Molecular Biology Computational Molecular Biology Erwin M. Bakker Lecture 2 Materials used from R. Shamir [2] and H.J. Hoogeboom [4]. 1 Molecular Biology Sequences DNA A, T, C, G RNA A, U, C, G Protein A, R, D, N, C E,

More information

USING BRAT-BW Table 1. Feature comparison of BRAT-bw, BRAT-large, Bismark and BS Seeker (as of on March, 2012)

USING BRAT-BW Table 1. Feature comparison of BRAT-bw, BRAT-large, Bismark and BS Seeker (as of on March, 2012) USING BRAT-BW-2.0.1 BRAT-bw is a tool for BS-seq reads mapping, i.e. mapping of bisulfite-treated sequenced reads. BRAT-bw is a part of BRAT s suit. Therefore, input and output formats for BRAT-bw are

More information

Computational Genomics and Molecular Biology, Fall

Computational Genomics and Molecular Biology, Fall Computational Genomics and Molecular Biology, Fall 2015 1 Sequence Alignment Dannie Durand Pairwise Sequence Alignment The goal of pairwise sequence alignment is to establish a correspondence between the

More information

Stamp Foldings, Semi-meanders, and Open Meanders: Fast Generation Algorithms

Stamp Foldings, Semi-meanders, and Open Meanders: Fast Generation Algorithms Stamp Foldings, Semi-meanders, and Open Meanders: Fast Generation Algorithms J. Sawada R. Li Abstract By considering a permutation representation for stamp-foldings and semi-meanders we construct treelike

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

SIGNAL COMPRESSION Lecture Lempel-Ziv Coding

SIGNAL COMPRESSION Lecture Lempel-Ziv Coding SIGNAL COMPRESSION Lecture 5 11.9.2007 Lempel-Ziv Coding Dictionary methods Ziv-Lempel 77 The gzip variant of Ziv-Lempel 77 Ziv-Lempel 78 The LZW variant of Ziv-Lempel 78 Asymptotic optimality of Ziv-Lempel

More information

GENBIT COMPRESS TOOL(GBC): A JAVA-BASED TOOL TO COMPRESS DNA SEQUENCES AND COMPUTE COMPRESSION RATIO(BITS/BASE) OF GENOMES.

GENBIT COMPRESS TOOL(GBC): A JAVA-BASED TOOL TO COMPRESS DNA SEQUENCES AND COMPUTE COMPRESSION RATIO(BITS/BASE) OF GENOMES. GENBIT COMPRESS TOOL(GBC): A JAVA-BASED TOOL TO COMPRESS DNA SEQUENCES AND COMPUTE COMPRESSION RATIO(BITS/BASE) OF GENOMES. P.Raja Rajeswari 1 Dr.Allam AppaRao 2 1. Associate Professor, DMSSVH college

More information

Encoding. A thesis submitted to the Graduate School of University of Cincinnati in

Encoding. A thesis submitted to the Graduate School of University of Cincinnati in Lossless Data Compression for Security Purposes Using Huffman Encoding A thesis submitted to the Graduate School of University of Cincinnati in a partial fulfillment of requirements for the degree of Master

More information

THE RELATIVE EFFICIENCY OF DATA COMPRESSION BY LZW AND LZSS

THE RELATIVE EFFICIENCY OF DATA COMPRESSION BY LZW AND LZSS THE RELATIVE EFFICIENCY OF DATA COMPRESSION BY LZW AND LZSS Yair Wiseman 1* * 1 Computer Science Department, Bar-Ilan University, Ramat-Gan 52900, Israel Email: wiseman@cs.huji.ac.il, http://www.cs.biu.ac.il/~wiseman

More information

Sequence clustering. Introduction. Clustering basics. Hierarchical clustering

Sequence clustering. Introduction. Clustering basics. Hierarchical clustering Sequence clustering Introduction Data clustering is one of the key tools used in various incarnations of data-mining - trying to make sense of large datasets. It is, thus, natural to ask whether clustering

More information

Reporting Consecutive Substring Occurrences Under Bounded Gap Constraints

Reporting Consecutive Substring Occurrences Under Bounded Gap Constraints Reporting Consecutive Substring Occurrences Under Bounded Gap Constraints Gonzalo Navarro University of Chile, Chile gnavarro@dcc.uchile.cl Sharma V. Thankachan Georgia Institute of Technology, USA sthankachan@gatech.edu

More information

Genetic Programming. Charles Chilaka. Department of Computational Science Memorial University of Newfoundland

Genetic Programming. Charles Chilaka. Department of Computational Science Memorial University of Newfoundland Genetic Programming Charles Chilaka Department of Computational Science Memorial University of Newfoundland Class Project for Bio 4241 March 27, 2014 Charles Chilaka (MUN) Genetic algorithms and programming

More information

BIOINFORMATICS APPLICATIONS NOTE

BIOINFORMATICS APPLICATIONS NOTE BIOINFORMATICS APPLICATIONS NOTE Sequence analysis BRAT: Bisulfite-treated Reads Analysis Tool (Supplementary Methods) Elena Y. Harris 1,*, Nadia Ponts 2, Aleksandr Levchuk 3, Karine Le Roch 2 and Stefano

More information

We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C.

We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C. 219 Lemma J For all languages A, B, C the following hold i. A m A, (reflexive) ii. if A m B and B m C, then A m C, (transitive) iii. if A m B and B is Turing-recognizable, then so is A, and iv. if A m

More information

Combining Two Local Searches with Crossover: An Efficient Hybrid Algorithm for the Traveling Salesman Problem

Combining Two Local Searches with Crossover: An Efficient Hybrid Algorithm for the Traveling Salesman Problem Combining Two Local Searches with Crossover: An Efficient Hybrid Algorithm for the Traveling Salesman Problem Weichen Liu, Thomas Weise, Yuezhong Wu and Qi Qi University of Science and Technology of Chine

More information

Supplementary Figure 1. Fast read-mapping algorithm of BrowserGenome.

Supplementary Figure 1. Fast read-mapping algorithm of BrowserGenome. Supplementary Figure 1 Fast read-mapping algorithm of BrowserGenome. (a) Indexing strategy: The genome sequence of interest is divided into non-overlapping 12-mers. A Hook table is generated that contains

More information

BIOL591: Introduction to Bioinformatics Alignment of pairs of sequences

BIOL591: Introduction to Bioinformatics Alignment of pairs of sequences BIOL591: Introduction to Bioinformatics Alignment of pairs of sequences Reading in text (Mount Bioinformatics): I must confess that the treatment in Mount of sequence alignment does not seem to me a model

More information

Data Compression. Guest lecture, SGDS Fall 2011

Data Compression. Guest lecture, SGDS Fall 2011 Data Compression Guest lecture, SGDS Fall 2011 1 Basics Lossy/lossless Alphabet compaction Compression is impossible Compression is possible RLE Variable-length codes Undecidable Pigeon-holes Patterns

More information

Lecture 2 Pairwise sequence alignment. Principles Computational Biology Teresa Przytycka, PhD

Lecture 2 Pairwise sequence alignment. Principles Computational Biology Teresa Przytycka, PhD Lecture 2 Pairwise sequence alignment. Principles Computational Biology Teresa Przytycka, PhD Assumptions: Biological sequences evolved by evolution. Micro scale changes: For short sequences (e.g. one

More information

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 11 Coding Strategies and Introduction to Huffman Coding The Fundamental

More information

Alignment of Trees and Directed Acyclic Graphs

Alignment of Trees and Directed Acyclic Graphs Alignment of Trees and Directed Acyclic Graphs Gabriel Valiente Algorithms, Bioinformatics, Complexity and Formal Methods Research Group Technical University of Catalonia Computational Biology and Bioinformatics

More information

Using NFFI Web Services on the tactical level: An evaluation of compression techniques

Using NFFI Web Services on the tactical level: An evaluation of compression techniques Using NFFI Web Services on the tactical level: An evaluation of compression techniques 13th ICCRTS: C2 for Complex Endeavors 2008-06-18 Frank T. Johnsen Trude Hafsøe Outline Motivation NFFI XML / binary

More information

GPUBwa -Parallelization of Burrows Wheeler Aligner using Graphical Processing Units

GPUBwa -Parallelization of Burrows Wheeler Aligner using Graphical Processing Units GPUBwa -Parallelization of Burrows Wheeler Aligner using Graphical Processing Units Abstract A very popular discipline in bioinformatics is Next-Generation Sequencing (NGS) or DNA sequencing. It specifies

More information

Phylogenetics on CUDA (Parallel) Architectures Bradly Alicea

Phylogenetics on CUDA (Parallel) Architectures Bradly Alicea Descent w/modification Descent w/modification Descent w/modification Descent w/modification CPU Descent w/modification Descent w/modification Phylogenetics on CUDA (Parallel) Architectures Bradly Alicea

More information

Graph Algorithms in Bioinformatics

Graph Algorithms in Bioinformatics Graph Algorithms in Bioinformatics Computational Biology IST Ana Teresa Freitas 2015/2016 Sequencing Clone-by-clone shotgun sequencing Human Genome Project Whole-genome shotgun sequencing Celera Genomics

More information

Algorithms Exam TIN093/DIT600

Algorithms Exam TIN093/DIT600 Algorithms Exam TIN093/DIT600 Course: Algorithms Course code: TIN 093 (CTH), DIT 600 (GU) Date, time: 22nd October 2016, 14:00 18:00 Building: M Responsible teacher: Peter Damaschke, Tel. 5405 Examiner:

More information

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1 Graph fundamentals Bipartite graph characterization Lemma. If a graph contains an odd closed walk, then it contains an odd cycle. Proof strategy: Consider a shortest closed odd walk W. If W is not a cycle,

More information

Lecture 5: Markov models

Lecture 5: Markov models Master s course Bioinformatics Data Analysis and Tools Lecture 5: Markov models Centre for Integrative Bioinformatics Problem in biology Data and patterns are often not clear cut When we want to make a

More information

1. R. Durbin, S. Eddy, A. Krogh und G. Mitchison: Biological sequence analysis, Cambridge, 1998

1. R. Durbin, S. Eddy, A. Krogh und G. Mitchison: Biological sequence analysis, Cambridge, 1998 7 Multiple Sequence Alignment The exposition was prepared by Clemens Gröpl, based on earlier versions by Daniel Huson, Knut Reinert, and Gunnar Klau. It is based on the following sources, which are all

More information

Comparison between conventional read mapping methods and compressively-accelerated read mapping framework (CORA).

Comparison between conventional read mapping methods and compressively-accelerated read mapping framework (CORA). Supplementary Figure 1 Comparison between conventional read mapping methods and compressively-accelerated read mapping framework (CORA). Comparison between conventional read mapping methods and compressively-accelerated

More information

Run-Length and Markov Compression Revisited in DNA Sequences

Run-Length and Markov Compression Revisited in DNA Sequences Run-Length and Markov Compression Revisited in DNA Sequences Saurabh Kadekodi M.S. Computer Science saurabhkadekodi@u.northwestern.edu Efficient and economical storage of DNA sequences has always been

More information

Algorithms IV. Dynamic Programming. Guoqiang Li. School of Software, Shanghai Jiao Tong University

Algorithms IV. Dynamic Programming. Guoqiang Li. School of Software, Shanghai Jiao Tong University Algorithms IV Dynamic Programming Guoqiang Li School of Software, Shanghai Jiao Tong University Dynamic Programming Shortest Paths in Dags, Revisited Shortest Paths in Dags, Revisited The special distinguishing

More information

Structural and Syntactic Pattern Recognition

Structural and Syntactic Pattern Recognition Structural and Syntactic Pattern Recognition Selim Aksoy Department of Computer Engineering Bilkent University saksoy@cs.bilkent.edu.tr CS 551, Fall 2017 CS 551, Fall 2017 c 2017, Selim Aksoy (Bilkent

More information

15.4 Longest common subsequence

15.4 Longest common subsequence 15.4 Longest common subsequence Biological applications often need to compare the DNA of two (or more) different organisms A strand of DNA consists of a string of molecules called bases, where the possible

More information

Outline. Motivation. Introduction of GAs. Genetic Algorithm 9/7/2017. Motivation Genetic algorithms An illustrative example Hypothesis space search

Outline. Motivation. Introduction of GAs. Genetic Algorithm 9/7/2017. Motivation Genetic algorithms An illustrative example Hypothesis space search Outline Genetic Algorithm Motivation Genetic algorithms An illustrative example Hypothesis space search Motivation Evolution is known to be a successful, robust method for adaptation within biological

More information

CS473-Algorithms I. Lecture 11. Greedy Algorithms. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-Algorithms I. Lecture 11. Greedy Algorithms. Cevdet Aykanat - Bilkent University Computer Engineering Department CS473-Algorithms I Lecture 11 Greedy Algorithms 1 Activity Selection Problem Input: a set S {1, 2,, n} of n activities s i =Start time of activity i, f i = Finish time of activity i Activity i takes place

More information

String Algorithms. CITS3001 Algorithms, Agents and Artificial Intelligence. 2017, Semester 2. CLRS Chapter 32

String Algorithms. CITS3001 Algorithms, Agents and Artificial Intelligence. 2017, Semester 2. CLRS Chapter 32 String Algorithms CITS3001 Algorithms, Agents and Artificial Intelligence Tim French School of Computer Science and Software Engineering The University of Western Australia CLRS Chapter 32 2017, Semester

More information

Approximation Algorithms for Wavelength Assignment

Approximation Algorithms for Wavelength Assignment Approximation Algorithms for Wavelength Assignment Vijay Kumar Atri Rudra Abstract Winkler and Zhang introduced the FIBER MINIMIZATION problem in [3]. They showed that the problem is NP-complete but left

More information

Algorithms Dr. Haim Levkowitz

Algorithms Dr. Haim Levkowitz 91.503 Algorithms Dr. Haim Levkowitz Fall 2007 Lecture 4 Tuesday, 25 Sep 2007 Design Patterns for Optimization Problems Greedy Algorithms 1 Greedy Algorithms 2 What is Greedy Algorithm? Similar to dynamic

More information

Bioinformatics explained: BLAST. March 8, 2007

Bioinformatics explained: BLAST. March 8, 2007 Bioinformatics Explained Bioinformatics explained: BLAST March 8, 2007 CLC bio Gustav Wieds Vej 10 8000 Aarhus C Denmark Telephone: +45 70 22 55 09 Fax: +45 70 22 55 19 www.clcbio.com info@clcbio.com Bioinformatics

More information