Lecture 4: Exact string searching algorithms. Exact string search algorithms. Definitions. Exact string searching or matching
|
|
|
- Joel Houston
- 9 years ago
- Views:
Transcription
1 COSC 348: Computing for Bioinformatics Definitions A pattern (keyword) is an ordered sequence of symbols. Lecture 4: Exact string searching algorithms Lubica Benuskova 1 Symbols of the pattern and the searched text are chosen from a predetermined finite set, called an alphabet (Σ) In general alphabet can be any finite set of symbols/letters In bioinformatics: DNA alphabet Σ = {A,C,G,T}, RNA alphabet Σ = {A,C,G,U}; protein alphabet Σ = {A,R,N, V} (20 amino acids) 2 Exact string searching or matching Exact string search algorithms Much of data processing in bioinformatics involves in one way or another recognising certain patterns within DNA, RNA (1 st assignment) or protein sequences. String-matching consists of finding one, or more or generally all the occurrences of a string of length m (called a pattern or keyword) within a text of the total length n characters. An example of an exact string search (match): Pat: Txt: HERE IS A SIMPLE 3 Algorithm Naïve string search algorithm (brute force) Preprocessing time 0 (no preprocessing) Knuth-Morris-Pratt algorithm O(m) O(n) Matching time average O(n+m), worst O(n m) O(m + Σ ) O(n/m), O(n) Rabin-Karp algorithm (suffix trees) O(m) O(n) average O(n+m), worst O(n m) O(m+z) z = number of matches 35 algorithms with codes at 4 Naïve string search (brute force) The most intuitive way is to slide a window of length m (pattern) over the text (of length n) from left to right one letter at a time. Naïve string search (brute force) If there is not a copy of the whole pattern in the first m characters of the text, we look if there s a copy of the pattern starting at the second character of the text: Within the window compare successive characters: ABCABCDABABCDABCDABDE BCD ABCABCDABABCDABCDABDE BCD 5 6
2 Naïve string search (brute force) If there is not a copy of the pattern starting at the second character of the text, we look if there s a copy of the pattern starting at the third character of the text, and so forth: Naïve string search (brute force) until we hit a match; then we continue in the same way along the text and count number of matches. ABCABCDABABCDABCDABDE BCD ABCABCDABABCDABCDABDE BCD Match! 7 8 Properties of the naïve search Can be used on-line (advantage) Usually takes O(n+m) steps not so bad The inner loop finds a mismatch quickly and moves on the next position quickly without going through all the m steps Worst case scenario O(nm) when searching for aaab in aaaaaaaaaaaaaaaaaaaaaaaab Integer i denotes the position within the searched txt, which is the beginning of the prospective match for pat Integer j denotes the character currently under consideration in pat - denotes a gap in the sequence ABC-ABCDAB-ABCDABCDABDE ABCDABD 9 10 Slide a sliding window of length m (pattern) over the text (of length n) from left to right. Within the window compare successive characters from left to right until a mismatch is hit. ABC-ABCDAB-ABCDABCDABDE ABCDABD When a mismatch occurs, the pattern itself is used to determine where to jump to the next meaningful position to continue, in this case i = j = 4: ABC-ABCDAB-ABCDABCDABDE ABCDABD 11 12
3 From the next meaningful position, i.e. i = 4, we proceed in the same way; There is a nearly complete match ABCDAB when we hit a mismatch again at pat[6] and txt[10]. ABC-ABCDAB-ABCDABCDABDE ABCDABD Wepassedan"AB" which could be the beginning of a new match, so we simply reset i = 8, j = 2 and continue matching the current character from left to right within a window. ABC-ABCDAB-ABCDABCDABDE ABCDABD This search fails immediately, as the pat does not contain a gap, so we return to the beginning of pat, by resetting j = 0,and begin searching at i = 11in the text. ABC-ABCDAB-ABCDABCDABDE ABCDABD So we have returned to the beginning of pat and begin searching at i = 11, resetting j = 0. Once again we immediately hit upon a match "ABCDAB" but the next character, 'C', does not match the final character 'D' of the pat. ABC-ABCDAB-ABCDABCDABDE ABCDABD Thus we set i = 15, to start at the two-character string "AB", set j = 2, in the pat, and continue matching from the current position. This time we are able to complete the match, whose first character is at txt[15]. ABC-ABCDAB-ABCDABCDABDE ABCDABD Properties of Knuth-Morris-Pratt algorithm Can be used on-line (advantage) like naïve search but it s substantially improved. Time to find match is only O(n) with O(m) preprocessing time. Partial match table should allow not to match any letter of txt more than once. Can be modified to search for multiple patterns in a single search. Match! 17 18
4 is a particularly efficient string searching algorithm, and it has been the standard benchmark for the practical string searching BM algorithm holds a window containing pat over txt, much as the naïve search does. This window moves from left to right, however, its improved performance is based around two clever ideas: 1. Inspect the window from right to left. 2. Recognize the possibility of large shifts in the window without missing a match. By fetching the S underlying the last character of the pat we learn: We are not standing on a match (because S isn't E). We wouldn't find a match even if we slid the pattern right by 1 (because S isn't L), by 2 (because S isn't P), etc Since S doesn't occur in the pattern at all, we can slide the pattern to the right by its own length without missing a match. This shift can be pre-calculated for every letter and stored in a table. This table is called a bad character shift table. Focus your attention on the right end of the pattern. E is not P, L is not P, but P= P so let us shift the pat to the right to align it with the P in the MPLE We have discovered that MPLE occurs in the txt, let us put it in front of the pat like this: Now we can shift the pattern all way down to align this discovered occurrence in the txt with its last occurrence in the pattern (which is partly imaginary), i.e.: MPLE MPLE 23 24
5 There are only seven terminal substrings of the pattern, so we can pre-compute all these shifts too and store them in a table. This is sometimes called the good suffix shift table. MPLE In general, if the algorithm has a choice of more than one shifts, then it takes the largest one. We've aligned the MPLE but focus on the end of the pattern. E is not P, L is not P, but P=P so let us shift the pat to the right to align it with the P in the MPLE 25 Match! 26 : properties Observe that we have found the pattern without looking at all of the characters. Its speed derives from the fact that it can determine all occurrences of pat within txt without examining too many characters in txt. In fact, its average performance is O(n / m), that is, it gets faster as the pattern gets longer. We say the algorithm is sublinear in the sense that it generally looks at fewer characters than it passes. 27 Rabin-Karp algorithm: hashing uses the naïve search method (i.e. sliding window) and substantially speeds up the testing of equality of the pattern to the substrings in the text by using hashing. It is used for multiple pattern matching (in addition to single pattern matching), because it has the unique advantage of being able to find any one of k strings in O(n) time on average, regardless of the magnitude of k. The key to performance is the efficient computation of hash values of the successive substrings of the text. 28 Rabin-Karp algorithm hashing A hash function converts every string into a numerical value, called its hash value (code, sum), using for instance the ASCII value of characters. For example, hash( hello ) = 5. Algorithm exploits the fact that if two strings are equal, their hash values are also equal (there might be so-called hash collisions, though, that must be checked for letter by letter). All we have to do is to compute the hash value of the pattern we're searching for, and then look for substrings with the same hash value within the text (and then check letter by letter). Different variants of the algorithm compute hash values in different ways (adding, multiplying, etc.). 29 Rabin-Karp algorithm: properties One popular and effective hash function treats every substring as a number in some base, the base being usually a large prime. For example, if the substring is "hi" and the base b = 101, then hash( hi ) = h *b^1 + i *b^0 = 104* *1 = 10,609 Rabin-Karp is inferior for single pattern searching to Boyer-Moore algorithm because of its slow worst case behaviour. However, Rabin-Karp is an algorithm of choice for multiple pattern search. That is, if we want to find many fixed length patterns in a text, say of length k, we can create a simple variant of Rabin-Karp that checks whether the hash of a given string in the text belongs to a set of hash values of patterns we are looking for. 30
6 Used for multiple pattern matching tasks Decription from the article and code by Tomas Petricek at The algorithm consists of two parts: In the first phase of the tree building, keywords are added to the tree. (The root node is used only as a place holder and contains links to other letters. ) Links created in this first step represents the goto function, which returns the next state when a character is matching. Example of the tree for keywords: his, hers, she The first part is the building of the tree from keywords/patterns you want to search for, and the second part is searching the text for the keywords using the previously built tree (finite state machine, FSM). FSM is a deterministic model of behaviour composed of a finite number of states and transitions between those states The fail function is used when a character is not matching. For example, in the text shis, the failure function is used to exit from the she branch to his branch after the first two characters (because the third character is not matching). During the second phase, the BFS (breadth first search) algorithm is used for traversing through all the nodes. At each stage, the node to be expanded is indicated by a marker In general all the nodes are expanded at a given depths before any nodes at the next level are expanded 33 Help: Find the tutorial on efficient string search with suffix trees written by Mark Nelson at 34 Assume that generalised suffix tree has been built for the set of patterns D = {S 1, S 2,..., S K } of total length n = n 1 + n n K. All patterns have the same alphabet. You can search for patterns in such a way that: Check if a pattern P of length m is a substring in O(m) time. Find the first occurrence of the patterns P 1,...,P q of total length m as substrings in O(m) time. Find all z occurrences of the patterns P 1,...,P q of total length m as substrings in O(m + z) time. Conclusions Although data are memorized in various ways, text remains the main form to exchange information. String-matching is a very important subject in the wider domain of text processing (i.e. keyword search), not just bioinformatics. In bioinformatics, the patterns in strands of DNA, RNA and proteins, have important biological meaning, e.g. they are promoters, enhancers, operators, genes, introns, exons, etc. Often these meaningful patterns undergo mutations at some points, therefore we include in the patterns the so-called wildcards, to replace some of the characters (as in the assignment)
Fast string matching
Fast string matching This exposition is based on earlier versions of this lecture and the following sources, which are all recommended reading: Shift-And/Shift-Or 1. Flexible Pattern Matching in Strings,
A FAST STRING MATCHING ALGORITHM
Ravendra Singh et al, Int. J. Comp. Tech. Appl., Vol 2 (6),877-883 A FAST STRING MATCHING ALGORITHM H N Verma, 2 Ravendra Singh Department of CSE, Sachdeva Institute of Technology, Mathura, India, [email protected]
A Fast Pattern Matching Algorithm with Two Sliding Windows (TSW)
Journal of Computer Science 4 (5): 393-401, 2008 ISSN 1549-3636 2008 Science Publications A Fast Pattern Matching Algorithm with Two Sliding Windows (TSW) Amjad Hudaib, Rola Al-Khalid, Dima Suleiman, Mariam
String Search. Brute force Rabin-Karp Knuth-Morris-Pratt Right-Left scan
String Search Brute force Rabin-Karp Knuth-Morris-Pratt Right-Left scan String Searching Text with N characters Pattern with M characters match existence: any occurence of pattern in text? enumerate: how
Hidden Markov Models in Bioinformatics. By Máthé Zoltán Kőrösi Zoltán 2006
Hidden Markov Models in Bioinformatics By Máthé Zoltán Kőrösi Zoltán 2006 Outline Markov Chain HMM (Hidden Markov Model) Hidden Markov Models in Bioinformatics Gene Finding Gene Finding Model Viterbi algorithm
Biological Sequence Data Formats
Biological Sequence Data Formats Here we present three standard formats in which biological sequence data (DNA, RNA and protein) can be stored and presented. Raw Sequence: Data without description. FASTA
Symbol Tables. Introduction
Symbol Tables Introduction A compiler needs to collect and use information about the names appearing in the source program. This information is entered into a data structure called a symbol table. The
Bioinformatics Resources at a Glance
Bioinformatics Resources at a Glance A Note about FASTA Format There are MANY free bioinformatics tools available online. Bioinformaticists have developed a standard format for nucleotide and protein sequences
Robust Quick String Matching Algorithm for Network Security
18 IJCSNS International Journal of Computer Science and Network Security, VOL.6 No.7B, July 26 Robust Quick String Matching Algorithm for Network Security Jianming Yu, 1,2 and Yibo Xue, 2,3 1 Department
BLAST. Anders Gorm Pedersen & Rasmus Wernersson
BLAST Anders Gorm Pedersen & Rasmus Wernersson Database searching Using pairwise alignments to search databases for similar sequences Query sequence Database Database searching Most common use of pairwise
Genetic programming with regular expressions
Genetic programming with regular expressions Børge Svingen Chief Technology Officer, Open AdExchange [email protected] 2009-03-23 Pattern discovery Pattern discovery: Recognizing patterns that characterize
Improved Single and Multiple Approximate String Matching
Improved Single and Multiple Approximate String Matching Kimmo Fredriksson Department of Computer Science, University of Joensuu, Finland Gonzalo Navarro Department of Computer Science, University of Chile
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Karagpur
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Karagpur Lecture No. #06 Cryptanalysis of Classical Ciphers (Refer
Gene Models & Bed format: What they represent.
GeneModels&Bedformat:Whattheyrepresent. Gene models are hypotheses about the structure of transcripts produced by a gene. Like all models, they may be correct, partly correct, or entirely wrong. Typically,
Searching BWT compressed text with the Boyer-Moore algorithm and binary search
Searching BWT compressed text with the Boyer-Moore algorithm and binary search Tim Bell 1 Matt Powell 1 Amar Mukherjee 2 Don Adjeroh 3 November 2001 Abstract: This paper explores two techniques for on-line
Lexical Analysis and Scanning. Honors Compilers Feb 5 th 2001 Robert Dewar
Lexical Analysis and Scanning Honors Compilers Feb 5 th 2001 Robert Dewar The Input Read string input Might be sequence of characters (Unix) Might be sequence of lines (VMS) Character set ASCII ISO Latin-1
Network Protocol Analysis using Bioinformatics Algorithms
Network Protocol Analysis using Bioinformatics Algorithms Marshall A. Beddoe [email protected] ABSTRACT Network protocol analysis is currently performed by hand using only intuition and a protocol
Improved Approach for Exact Pattern Matching
www.ijcsi.org 59 Improved Approach for Exact Pattern Matching (Bidirectional Exact Pattern Matching) Iftikhar Hussain 1, Samina Kausar 2, Liaqat Hussain 3 and Muhammad Asif Khan 4 1 Faculty of Administrative
Regular Languages and Finite State Machines
Regular Languages and Finite State Machines Plan for the Day: Mathematical preliminaries - some review One application formal definition of finite automata Examples 1 Sets A set is an unordered collection
MAKING AN EVOLUTIONARY TREE
Student manual MAKING AN EVOLUTIONARY TREE THEORY The relationship between different species can be derived from different information sources. The connection between species may turn out by similarities
8.1 Min Degree Spanning Tree
CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree
Pairwise Sequence Alignment
Pairwise Sequence Alignment [email protected] SS 2013 Outline Pairwise sequence alignment global - Needleman Wunsch Gotoh algorithm local - Smith Waterman algorithm BLAST - heuristics What
BASIC STATISTICAL METHODS FOR GENOMIC DATA ANALYSIS
BASIC STATISTICAL METHODS FOR GENOMIC DATA ANALYSIS SEEMA JAGGI Indian Agricultural Statistics Research Institute Library Avenue, New Delhi-110 012 [email protected] Genomics A genome is an organism s
Mass Spectra Alignments and their Significance
Mass Spectra Alignments and their Significance Sebastian Böcker 1, Hans-Michael altenbach 2 1 Technische Fakultät, Universität Bielefeld 2 NRW Int l Graduate School in Bioinformatics and Genome Research,
RETRIEVING SEQUENCE INFORMATION. Nucleotide sequence databases. Database search. Sequence alignment and comparison
RETRIEVING SEQUENCE INFORMATION Nucleotide sequence databases Database search Sequence alignment and comparison Biological sequence databases Originally just a storage place for sequences. Currently the
1. Domain Name System
1.1 Domain Name System (DNS) 1. Domain Name System To identify an entity, the Internet uses the IP address, which uniquely identifies the connection of a host to the Internet. However, people prefer to
Algorithms in Computational Biology (236522) spring 2007 Lecture #1
Algorithms in Computational Biology (236522) spring 2007 Lecture #1 Lecturer: Shlomo Moran, Taub 639, tel 4363 Office hours: Tuesday 11:00-12:00/by appointment TA: Ilan Gronau, Taub 700, tel 4894 Office
Final Project Report
CPSC545 by Introduction to Data Mining Prof. Martin Schultz & Prof. Mark Gerstein Student Name: Yu Kor Hugo Lam Student ID : 904907866 Due Date : May 7, 2007 Introduction Final Project Report Pseudogenes
Hardware Pattern Matching for Network Traffic Analysis in Gigabit Environments
Technische Universität München Fakultät für Informatik Diplomarbeit in Informatik Hardware Pattern Matching for Network Traffic Analysis in Gigabit Environments Gregor M. Maier Aufgabenstellerin: Prof.
Knuth-Morris-Pratt Algorithm
December 18, 2011 outline Definition History Components of KMP Example Run-Time Analysis Advantages and Disadvantages References Definition: Best known for linear time for exact matching. Compares from
The string of digits 101101 in the binary number system represents the quantity
Data Representation Section 3.1 Data Types Registers contain either data or control information Control information is a bit or group of bits used to specify the sequence of command signals needed for
The finite field with 2 elements The simplest finite field is
The finite field with 2 elements The simplest finite field is GF (2) = F 2 = {0, 1} = Z/2 It has addition and multiplication + and defined to be 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 0 0 = 0 0 1 = 0
Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur
Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur Module No. # 01 Lecture No. # 05 Classic Cryptosystems (Refer Slide Time: 00:42)
Web Data Extraction: 1 o Semestre 2007/2008
Web Data : Given Slides baseados nos slides oficiais do livro Web Data Mining c Bing Liu, Springer, December, 2006. Departamento de Engenharia Informática Instituto Superior Técnico 1 o Semestre 2007/2008
Bio-Informatics Lectures. A Short Introduction
Bio-Informatics Lectures A Short Introduction The History of Bioinformatics Sanger Sequencing PCR in presence of fluorescent, chain-terminating dideoxynucleotides Massively Parallel Sequencing Massively
Analysis of Compression Algorithms for Program Data
Analysis of Compression Algorithms for Program Data Matthew Simpson, Clemson University with Dr. Rajeev Barua and Surupa Biswas, University of Maryland 12 August 3 Abstract Insufficient available memory
Formal Languages and Automata Theory - Regular Expressions and Finite Automata -
Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March
Turing Machines: An Introduction
CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛ-transitions,
A Partition-Based Efficient Algorithm for Large Scale. Multiple-Strings Matching
A Partition-Based Efficient Algorithm for Large Scale Multiple-Strings Matching Ping Liu Jianlong Tan, Yanbing Liu Software Division, Institute of Computing Technology, Chinese Academy of Sciences, Beijing,
Regular Expressions and Automata using Haskell
Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions
1 Approximating Set Cover
CS 05: Algorithms (Grad) Feb 2-24, 2005 Approximating Set Cover. Definition An Instance (X, F ) of the set-covering problem consists of a finite set X and a family F of subset of X, such that every elemennt
Regents Biology REGENTS REVIEW: PROTEIN SYNTHESIS
Period Date REGENTS REVIEW: PROTEIN SYNTHESIS 1. The diagram at the right represents a portion of a type of organic molecule present in the cells of organisms. What will most likely happen if there is
Class Notes CS 3137. 1 Creating and Using a Huffman Code. Ref: Weiss, page 433
Class Notes CS 3137 1 Creating and Using a Huffman Code. Ref: Weiss, page 433 1. FIXED LENGTH CODES: Codes are used to transmit characters over data links. You are probably aware of the ASCII code, a fixed-length
Reconfigurable FPGA Inter-Connect For Optimized High Speed DNA Sequencing
Reconfigurable FPGA Inter-Connect For Optimized High Speed DNA Sequencing 1 A.Nandhini, 2 C.Ramalingam, 3 N.Maheswari, 4 N.Krishnakumar, 5 A.Surendar 1,2,3,4 UG Students, 5 Assistant Professor K.S.R College
A Non-Linear Schema Theorem for Genetic Algorithms
A Non-Linear Schema Theorem for Genetic Algorithms William A Greene Computer Science Department University of New Orleans New Orleans, LA 70148 bill@csunoedu 504-280-6755 Abstract We generalize Holland
CD-HIT User s Guide. Last updated: April 5, 2010. http://cd-hit.org http://bioinformatics.org/cd-hit/
CD-HIT User s Guide Last updated: April 5, 2010 http://cd-hit.org http://bioinformatics.org/cd-hit/ Program developed by Weizhong Li s lab at UCSD http://weizhong-lab.ucsd.edu [email protected] 1. Introduction
To be able to describe polypeptide synthesis including transcription and splicing
Thursday 8th March COPY LO: To be able to describe polypeptide synthesis including transcription and splicing Starter Explain the difference between transcription and translation BATS Describe and explain
6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008
MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.
Lecture 9. Semantic Analysis Scoping and Symbol Table
Lecture 9. Semantic Analysis Scoping and Symbol Table Wei Le 2015.10 Outline Semantic analysis Scoping The Role of Symbol Table Implementing a Symbol Table Semantic Analysis Parser builds abstract syntax
3515ICT Theory of Computation Turing Machines
Griffith University 3515ICT Theory of Computation Turing Machines (Based loosely on slides by Harald Søndergaard of The University of Melbourne) 9-0 Overview Turing machines: a general model of computation
Sequence Formats and Sequence Database Searches. Gloria Rendon SC11 Education June, 2011
Sequence Formats and Sequence Database Searches Gloria Rendon SC11 Education June, 2011 Sequence A is the primary structure of a biological molecule. It is a chain of residues that form a precise linear
An efficient matching algorithm for encoded DNA sequences and binary strings
An efficient matching algorithm for encoded DNA sequences and binary strings Simone Faro and Thierry Lecroq [email protected], [email protected] Dipartimento di Matematica e Informatica, Università
Transcription and Translation of DNA
Transcription and Translation of DNA Genotype our genetic constitution ( makeup) is determined (controlled) by the sequence of bases in its genes Phenotype determined by the proteins synthesised when genes
14.1 Rent-or-buy problem
CS787: Advanced Algorithms Lecture 14: Online algorithms We now shift focus to a different kind of algorithmic problem where we need to perform some optimization without knowing the input in advance. Algorithms
LZ77. Example 2.10: Let T = badadadabaab and assume d max and l max are large. phrase b a d adadab aa b
LZ77 The original LZ77 algorithm works as follows: A phrase T j starting at a position i is encoded as a triple of the form distance, length, symbol. A triple d, l, s means that: T j = T [i...i + l] =
CPSC 121: Models of Computation Assignment #4, due Wednesday, July 22nd, 2009 at 14:00
CPSC 2: Models of Computation ssignment #4, due Wednesday, July 22nd, 29 at 4: Submission Instructions Type or write your assignment on clean sheets of paper with question numbers prominently labeled.
Information, Entropy, and Coding
Chapter 8 Information, Entropy, and Coding 8. The Need for Data Compression To motivate the material in this chapter, we first consider various data sources and some estimates for the amount of data associated
A Tutorial in Genetic Sequence Classification Tools and Techniques
A Tutorial in Genetic Sequence Classification Tools and Techniques Jake Drew Data Mining CSE 8331 Southern Methodist University [email protected] www.jakemdrew.com Sequence Characters IUPAC nucleotide
Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi
Automata Theory Automata theory is the study of abstract computing devices. A. M. Turing studied an abstract machine that had all the capabilities of today s computers. Turing s goal was to describe the
14.10.2014. Overview. Swarms in nature. Fish, birds, ants, termites, Introduction to swarm intelligence principles Particle Swarm Optimization (PSO)
Overview Kyrre Glette kyrrehg@ifi INF3490 Swarm Intelligence Particle Swarm Optimization Introduction to swarm intelligence principles Particle Swarm Optimization (PSO) 3 Swarms in nature Fish, birds,
A parallel algorithm for the extraction of structured motifs
parallel algorithm for the extraction of structured motifs lexandra arvalho MEI 2002/03 omputação em Sistemas Distribuídos 2003 p.1/27 Plan of the talk Biological model of regulation Nucleic acids: DN
Guidelines for Establishment of Contract Areas Computer Science Department
Guidelines for Establishment of Contract Areas Computer Science Department Current 07/01/07 Statement: The Contract Area is designed to allow a student, in cooperation with a member of the Computer Science
Data Mining Cluster Analysis: Basic Concepts and Algorithms. Lecture Notes for Chapter 8. Introduction to Data Mining
Data Mining Cluster Analysis: Basic Concepts and Algorithms Lecture Notes for Chapter 8 by Tan, Steinbach, Kumar 1 What is Cluster Analysis? Finding groups of objects such that the objects in a group will
Quantum and Non-deterministic computers facing NP-completeness
Quantum and Non-deterministic computers facing NP-completeness Thibaut University of Vienna Dept. of Business Administration Austria Vienna January 29th, 2013 Some pictures come from Wikipedia Introduction
Just the Facts: A Basic Introduction to the Science Underlying NCBI Resources
1 of 8 11/7/2004 11:00 AM National Center for Biotechnology Information About NCBI NCBI at a Glance A Science Primer Human Genome Resources Model Organisms Guide Outreach and Education Databases and Tools
Introduction to Bioinformatics AS 250.265 Laboratory Assignment 6
Introduction to Bioinformatics AS 250.265 Laboratory Assignment 6 In the last lab, you learned how to perform basic multiple sequence alignments. While useful in themselves for determining conserved residues
Rapid alignment methods: FASTA and BLAST. p The biological problem p Search strategies p FASTA p BLAST
Rapid alignment methods: FASTA and BLAST p The biological problem p Search strategies p FASTA p BLAST 257 BLAST: Basic Local Alignment Search Tool p BLAST (Altschul et al., 1990) and its variants are some
Reliability Guarantees in Automata Based Scheduling for Embedded Control Software
1 Reliability Guarantees in Automata Based Scheduling for Embedded Control Software Santhosh Prabhu, Aritra Hazra, Pallab Dasgupta Department of CSE, IIT Kharagpur West Bengal, India - 721302. Email: {santhosh.prabhu,
AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS
TKK Reports in Information and Computer Science Espoo 2009 TKK-ICS-R26 AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS Kari Kähkönen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF
On line construction of suffix trees 1
(To appear in ALGORITHMICA) On line construction of suffix trees 1 Esko Ukkonen Department of Computer Science, University of Helsinki, P. O. Box 26 (Teollisuuskatu 23), FIN 00014 University of Helsinki,
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
Image Compression through DCT and Huffman Coding Technique
International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347 5161 2015 INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Research Article Rahul
Efficient Parallel Graph Exploration on Multi-Core CPU and GPU
Efficient Parallel Graph Exploration on Multi-Core CPU and GPU Pervasive Parallelism Laboratory Stanford University Sungpack Hong, Tayo Oguntebi, and Kunle Olukotun Graph and its Applications Graph Fundamental
Name Class Date. binomial nomenclature. MAIN IDEA: Linnaeus developed the scientific naming system still used today.
Section 1: The Linnaean System of Classification 17.1 Reading Guide KEY CONCEPT Organisms can be classified based on physical similarities. VOCABULARY taxonomy taxon binomial nomenclature genus MAIN IDEA:
Chapter Objectives. Chapter 9. Sequential Search. Search Algorithms. Search Algorithms. Binary Search
Chapter Objectives Chapter 9 Search Algorithms Data Structures Using C++ 1 Learn the various search algorithms Explore how to implement the sequential and binary search algorithms Discover how the sequential
Parallel Compression and Decompression of DNA Sequence Reads in FASTQ Format
, pp.91-100 http://dx.doi.org/10.14257/ijhit.2014.7.4.09 Parallel Compression and Decompression of DNA Sequence Reads in FASTQ Format Jingjing Zheng 1,* and Ting Wang 1, 2 1,* Parallel Software and Computational
Useful Number Systems
Useful Number Systems Decimal Base = 10 Digit Set = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Binary Base = 2 Digit Set = {0, 1} Octal Base = 8 = 2 3 Digit Set = {0, 1, 2, 3, 4, 5, 6, 7} Hexadecimal Base = 16 = 2
Teaching Bioinformatics to Undergraduates
Teaching Bioinformatics to Undergraduates http://www.med.nyu.edu/rcr/asm Stuart M. Brown Research Computing, NYU School of Medicine I. What is Bioinformatics? II. Challenges of teaching bioinformatics
A Multiple Sliding Windows Approach to Speed Up String Matching Algorithms
A Multiple Sliding Windows Approach to Speed Up String Matching Algorithms Simone Faro and Thierry Lecroq Università di Catania, Viale A.Doria n.6, 95125 Catania, Italy Université de Rouen, LITIS EA 4108,
(Refer Slide Time: 2:03)
Control Engineering Prof. Madan Gopal Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 11 Models of Industrial Control Devices and Systems (Contd.) Last time we were
2) Write in detail the issues in the design of code generator.
COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage
EE 261 Introduction to Logic Circuits. Module #2 Number Systems
EE 261 Introduction to Logic Circuits Module #2 Number Systems Topics A. Number System Formation B. Base Conversions C. Binary Arithmetic D. Signed Numbers E. Signed Arithmetic F. Binary Codes Textbook
Bioinformatics Grid - Enabled Tools For Biologists.
Bioinformatics Grid - Enabled Tools For Biologists. What is Grid-Enabled Tools (GET)? As number of data from the genomics and proteomics experiment increases. Problems arise for the current sequence analysis
A Load Balancing Technique for Some Coarse-Grained Multicomputer Algorithms
A Load Balancing Technique for Some Coarse-Grained Multicomputer Algorithms Thierry Garcia and David Semé LaRIA Université de Picardie Jules Verne, CURI, 5, rue du Moulin Neuf 80000 Amiens, France, E-mail:
BIO 3350: ELEMENTS OF BIOINFORMATICS PARTIALLY ONLINE SYLLABUS
BIO 3350: ELEMENTS OF BIOINFORMATICS PARTIALLY ONLINE SYLLABUS NEW YORK CITY COLLEGE OF TECHNOLOGY The City University Of New York School of Arts and Sciences Biological Sciences Department Course title:
THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER
THE TURING DEGREES AND THEIR LACK OF LINEAR ORDER JASPER DEANTONIO Abstract. This paper is a study of the Turing Degrees, which are levels of incomputability naturally arising from sets of natural numbers.
4.2 Sorting and Searching
Sequential Search: Java Implementation 4.2 Sorting and Searching Scan through array, looking for key. search hit: return array index search miss: return -1 public static int search(string key, String[]
GenBank, Entrez, & FASTA
GenBank, Entrez, & FASTA Nucleotide Sequence Databases First generation GenBank is a representative example started as sort of a museum to preserve knowledge of a sequence from first discovery great repositories,
The programming language C. sws1 1
The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan
