HARDWARE ACCELERATION OF HIDDEN MARKOV MODELS FOR BIOINFORMATICS APPLICATIONS. by Shakha Gupta. A project. submitted in partial fulfillment

Size: px
Start display at page:

Download "HARDWARE ACCELERATION OF HIDDEN MARKOV MODELS FOR BIOINFORMATICS APPLICATIONS. by Shakha Gupta. A project. submitted in partial fulfillment"

Transcription

1 HARDWARE ACCELERATION OF HIDDEN MARKOV MODELS FOR BIOINFORMATICS APPLICATIONS by Shakha Gupta A project submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Engineering Boise State University December, 2004

2 The project presented by Shakha Gupta entitled Hardware Acceleration of Hidden Markov Models for Bioinformatics Applications is hereby approved: Scott Smith Advisor Date Joseph A. Hartman Committee Member Date Sin Ming Loo Committee Member Date John R. Pelton Dean, Graduate College Date ii

3 ACKNOWLEDGEMENTS I would like to thank my advisor, Dr. Scott Smith for providing me with an excellent opportunity. Dr. Smith provided me guidance during the whole course of this project and helped at several occasions. I thank Dr. Sin Ming Loo for providing the FPGA board. I also thank Dr. Joe Hartman for agreeing to be on my committee. I would like to thank all my professors at Boise State University- Dr. Nadar Rafla, Dr. Jacob Baker, and Dr. Elisa Barney Smith. iii

4 ABSTRACT Bioinformatics or Computational Biology is the study of proteins and DNA sequences and their structures and produces massive amounts of data. Alignment of protein sequences in a database is one of the major tasks of bioinformatics. This project is aimed at describing and implementing custom hardware to accelerate the execution of the Viterbi algorithm for protein sequence analysis for bioinformatics applications. The Viterbi algorithm finds the best alignment and its probability relative to a hidden Markov model, also called the score, without going through all the possible alignments. The solution is implemented on Field Programmable Gate Arrays (FPGAs). The efficiency of the Viterbi algorithm coupled with the hardware solution, gives sequence analysis a speed advantage, a crucial quality in any bioinformatics system. iv

5 TABLE OF CONTENTS ACKNOWLEDGEMENTS...iii ABSTRACT... iv LIST OF FIGURES... vii INTRODUCTION... 2 BACKGROUND... 4 HIDDEN MARKOV MODEL (HMM)... 7 VITERBI ALGORITHM SYSTEM OVERVIEW Feed Unit Score Calculator Processing Element END Element Data Transmission BCD Converter BCD to ASCII Converter Clock Divider v

6 Transmission Unit EXPERIMENTAL SETUP RESULTS FUTURE WORK REFERENCES APPENDIX A:...Error! Bookmark not defined. APPENDIX B:...Error! Bookmark not defined. vi

7 LIST OF FIGURES Figure 1: Example of a Polypeptide Chain... 5 Figure 2: A Multiple Alignment of Nucleotides... 6 Figure 3: HMM with Match States... 8 Figure 4: Match and Insert States in a HMM... 9 Figure 5: An HMM with Match and Delete States... 9 Figure 6: A Linear Hidden Markov Model Figure 7: An Alignment of the Sequence A1A2A4 to an HMM Figure 8: Layout of System Figure 9 : Block Diagram of the Score Calculator Figure 10: Block Diagram of a Processing Element Figure 11: Simulation Results vii

8 1

9 2 INTRODUCTION Current molecular biology research generates and needs analysis of extremely large amounts of data, which continues to grow at an exponential rate. Study of protein sequences and their structures, generally called bioinformatics, produces such large amounts of data. One of the main areas of bioinformatics is the analysis of the data gathered by various genome projects. A genome is an organism s complete set of DNA. DNA is a sequence of base pairs which in turn are made from four types of nucleotides (A, C, T, and G). The one of the smallest genome is that of a bacterium which contains about 600, 000 DNA base pairs, while the human genome has 3 billion DNA base pairs. These data are analyzed to determine the genes that code for proteins. An alignment of biological sequences (proteins or DNA) in a given database is one of the critical tasks in bioinformatics. It is similar to string matching in the context of biological data and is used to infer the evolutionary relationship between a set of protein sequences. The goal is to score, the similarities and the differences, between two or more protein sequences. The proteins may differ from each other because of mutation, insertion and deletion. An accurate alignment can provide valuable information for experimentation, particularly if the aligned proteins are well characterized. Such analysis of protein sequences requires sophisticated algorithms and computer aided tools.

10 3 In this context, this project is aimed at describing and implementing custom hardware to accelerate the execution of the Viterbi algorithm for protein sequence analysis for bioinformatics applications. The Viterbi algorithm [1] finds the best alignment and its probability, also called the score, without going through all the possible alignments. This algorithm computes the score of a protein sequence relative to a hidden Markov model [2-5], a mathematical model for a family of protein sequences in a database. A high score means that the protein sequence is more probable to belong to the family. The solution is implemented on Field Programmable Gate Arrays (FPGAs) which enable us to benefit from the performance advantage of a hardware solution. We use an array of processing elements in the design, communicating with each other synchronously. Each processing element calculates the three local scores, corresponding to match/mutation, insertion or deletion. The maximum of these local scores or the global score is computed at the end of the array. This global score represents the probability of the best alignment of a sequence. The binary score is converted to binary coded decimal (BCD) number and then to an ASCII value, in order to transmit the score over RS232 to a terminal emulator program on a PC.

11 4 BACKGROUND Proteins are large and complex organic molecules. These molecules are built from twenty smaller molecules known as amino acids. These amino acids are the biochemical building blocks. The amino acids in a protein are also called residues. Each amino acid has a full name represented by a three letter code and a one-letter code. Protein sequence databases store this one-letter code. For example, Glycine is represented by letter codes GLY and G. The database stores letter G. A complete list of amino acids and their letter codes is shown in Appendix A. All twenty amino acids have a common chemical core of two functional groups, a carboxylic acid group (COOH) and an amino group (NH 2 ). A central carbon atom, called the α carbon, connects the two groups [10]. Amino acids bond together to form short chemical chains called polypeptides or peptides. As shown in Fig 1, amino acids alanine, glycine and cystein bond together to form a peptide chain.

12 5 Figure 1: Example of a Polypeptide Chain The linear sequence of amino acids in a polypeptide chain is known as the primary structure of a protein. These primary structures are used to infer common ancestry and functionality among proteins. This inference process is known as homology modeling. Proteins in a database may be laid out in a multiple alignment sequence, an ordering which shows the similarities and dissimilarities between peptide chains. Two proteins are the same in the parent and daughter cell, if the parent cell is exactly duplicated in the daughter cell. Two proteins are different if an error occurs while duplicating the parent cell. The three most common errors that occur are substitution of one or more amino acids, deletion of one or more amino acids and insertion of one or more amino acids. The insertions and deletions together are called gaps.

13 6 For example ABCD protein sequence in the parent cell AB-D shows deletion of C in the daughter cell ABED shows substitution (also called mutation) of C for E in the daughter cell. ABCDE show insertion of an extra amino acid (E) in the daughter cell As a result of these errors, proteins which share a common ancestor are not exactly the same. However, proteins still inherit many similarities in their structure. These structural similarities between protein s primary structures make it possible to align them to create statistical profiles. Fig 2 shows an example of such a multiple alignment sequence. There are five sequences in the figure, one sequence per row. The first column shows that there was a mutation in the second sequence from A to T. The second column shows that there was a deletion in the fifth sequence (C was deleted). It would be just as correct to say that C was inserted in sequences one through four in column two, but normally the consensus of the sequences (that column two contains C) is taken as truth relative to which insertion and deletion are defined. #1 A C A T G G #2 T C A T G C #3 A C A T G C #4 A C A T G C #5 A C G T G Figure 2: A Multiple Alignment of Nucleotides

14 7 HIDDEN MARKOV MODEL (HMM) Hidden Markov models are widely used for automatic speech recognition [2]. Since their introduction by Haussler and Krogh [3], HMMs are widely used in bioinformatics for modeling families of related DNA or protein sequences, prediction of secondary structure elements from protein primary sequences and many more tasks. A hidden Markov model (HMM) [1,4,5] is a statistical model where the system being modeled is assumed to be Markov process with unknown parameters, and the challenge is to determine the hidden parameters, from the observable outputs, based on this assumption. A process has the Markov property if the probability distribution of the future states depends only on the given current states and is independent of the past states. The extracted model parameters can then be used to perform further analysis. In a regular Markov model, the state is directly visible to the observer, and therefore the state transition probabilities are the only parameters. In a hidden Markov model, each state has a probability distribution over the possible output tokens. Therefore, looking at a sequence of tokens generated by an HMM does not directly indicate the sequence of the states.

15 8 An HMM is built with a repetitive structure of 3 types of states, match, insert and delete. These have different probabilities at each position. Each match state corresponds to a column in the multiple alignment and is denoted by a rectangular box in the model diagrams. Alignment is trivial if there are only match states in the model, since there is no choice of transition. Fig 3 shows an HMM with only match states. Each match state has an associated emission probability, E (m i, x j ), the probability of match or mutation of residue x j at state m i. Emission probabilities are determined from the fraction of times that a given character appears in a column of a multiple alignment. Fig 3 shows the emission probabilities for the multiple alignment in Fig 2. BEG M1 A.8 T.2 M2 C 1 M3 A.8 C.2 M4 T.6 G.4 M5 G.6 T.4 M6 C.6 G.4 END Figure 3: HMM with Match States To handle portions of protein sequence x, that don t match anything in the model; we need a set of insert states. Each insert state also has an associated emission probability but for most purposes it is set to a one. The insert states have self loops to accommodate multiple residue insertion. The insert states are denoted by diamonds in diagrams. Fig 4 shows an HMM with a single insert state. In the Fig 4, Insert state I j, is used to match insertion after matching the jth residue of the multiple alignment.

16 9 Ij BEG M1 Mj M3 END Figure 4: Match and Insert States in a HMM Deletions are the segments of the multiple alignments that are not matched by any residue in x. A circle is used for the delete state in the diagram. Delete states are also called silent states because these states don t emit any residues and hence it is possible to use a sequence of them to get from any match to any later one. Fig 5 shows a model with delete and match states. The delete state Dj, allows deleting the match state Mj from the alignment. Dj BEG Mj END Figure 5: An HMM with Match and Delete States

17 10 A full HMM has the structure as shown in the Fig 6. This HMM has a delete state to bypass every possible match state. There is an insert state to add one or more characters between every possible match state and also to the beginning and end of the sequence. This HMM is a constrained version of a general HMM, which can have edges linking every state to every other state. D1 D2 D3 I0 I1 I2 I3 END BEG M1 M2 M3 Figure 6: A Linear Hidden Markov Model One can specify an alignment by giving the corresponding sequence of states along the paths shown in the Fig 7. For example, one of the many possible paths to align a sequence A1A2A4 to the model in Fig 6 is given as BEG-I0-M1-D2-M3-END which is shown in bold.

18 11 D1 D2 A3 D3 A1 I1 I2 I3 END BEG M1 A2 M2 A3 M3 A4 Figure 7: An Alignment of the Sequence A1A2A4 to an HMM Each alignment of a given sequence to the model can be scored [8] by computing the product of all the transition and emission probabilities along the path. Mathematically, it can be written as follows: P(x 1...x L, q 1...q L model) = [П L i=1 T (q i q i-1 ) P (x i q i )] T (q L+1 q L ) (1) where, x 1...x L is a sequence of length L, q 1...q L are the states of the model, T(q i q i-1 ) is the transition probability between the states q i and q i-1,p(x i q i ) is the probability of emitting residue x i at state q i. In general, log values of probabilities are used for the calculation since products are computationally more expensive than the additions. Thus equation (1) can be rewritten as log P(x 1...x L, q 1...q L model) = [log T (q i q i-1 ) + log P (x i q i )] + log T (q L+1 q L ) (2) Thus, the score of aligning the sequence A1A2A4 in the above example is given as: P = T(BEG I0) P(A1 I0) T(I0 M1) P(A2 M1) T(M1 D2) T(D2 M3) P(A4 M3) T(M3 END)

19 12 VITERBI ALGORITHM The Viterbi algorithm is a dynamic programming algorithm for finding the most likely sequence of hidden states known as the Viterbi path that result in a sequence of observed events, in the context of hidden Markov models. It finds the best alignment probability without going through all the possible alignment. The equations defining HMM Viterbi global scoring [1, 7] are: M (i, t) = E (x t ) + max [M (i 1, t 1) + w (M-M), D (I 1, t 1) + w (D-M), I (i 1, t 1) + w (I-M)] (3) I (i, t) = E (x t ) +max [M (i, t 1) + w (M-I) D (i, t 1) + w (D-I) I (i, t 1) + w (I-I)] (4) D (i, t) = max [M (i 1, t) + w (M-D) D (I 1, t) + w (D-D) I (i 1, t) + w (I-D)] (5)

20 13 x t, is the residue at time t E(x t ) is the emission probability. M (i, t) is the score when matching residue, x t, at ith match state and time t. I (i, t) is the score when inserting residue, x t, at ith insert state and time t. D (i, t) is the score when matching residue, x t, at ith delete state and time t. W (s1, s2) is the transition probability from s1 to s2

21 14 SYSTEM OVERVIEW The basic layout of the system is shown in Fig 8. The system has three units, the first one is called the feed unit and it stores the match and mutation probabilities and also the query string. It also feeds data to a second unit which is called score unit. The score unit calculates the scores. The third unit is the data transmission unit which converts the 16-bit score into binary coded decimal and serially transmits the data using the RS232 protocol. These units are described in detail in the following sub-sections. sw1 sw2 Feed Unit Score Data TX data Figure 8: Layout of System Feed Unit This unit is used to feed hidden Markov model profile parameters. The switches on the FPGA board are used to operate this unit in two modes. When switch 1 is on, then all the emission probabilities are passed to the score calculator. When the switch 2 is on, then database strings to be scored are passed along. It feeds the next string to the score

22 15 calculator only when the score of the previous string is transmitted. A feedback signal from the transmission unit is used for this purpose to indicate the end of the transmission. Score Calculator The score unit is designed to implement the equations of the Viterbi alignment algorithm. It takes an input sequence to be scored, from the feed unit and outputs the probability that this sequence belongs to the family represented by the model. The unit has an array of serially connected processing elements [6, 7] as shown in Fig 8, in order to take advantage of principle of locality. The principle of locality says that PE i depends only on PE i-1 for its input data. The number of processing elements in a unit is one more than the number of the match states. Each processing element calculates local scores corresponding to match, insert and delete for the given character of the sequence. The global score which is the maximum of the local scores is calculated by the END element at the end of the array.

23 16 D1 D2 D3 I0 I1 I2 I3 END BEG M1 M2 M3 PE0 PE1 PE2 PE3 Figure 9 : Block Diagram of the Score Calculator Processing Element Each processing element is used to implement the jth match, insert and delete state of the HMM. So for a two match state HMM, we will have three processing elements as shown in the Fig 9. The characters/residues of a sequence are passed serially from one PE to the next one and each processing element calculates three local scores corresponding to match/mutation, insertion and deletion except for PE0. The PE0 calculates only insert score since it doesn t have a delete state and begin state is programmed as a match state with the log emission probability equal to zero. Fig 10 shows the block diagram of a processing element.

24 17 The match score, M (i, x t ) is calculated by the M-element according to equation (3). It can be observed from the equation that the match score depends on the delayed score values from the previous cell and the model parameters. The M-element has an array of registers to store the emission probabilities for each of the 20 amino acids. This array is indexed by the incoming character or residue. It also has local registers to store the three transition probabilities. The insert score, I (i, x t ) is calculated by the I-element according to equation (4). This calculation depends on the score values from the same PE and model parameters. The I-element has local registers to store the emission probabilities for each of the 20 amino acids and the three transition probabilities. The match and insert scores are calculated only if the incoming character and the incoming scores are valid. Finally the delete score, D (i, x t ) is calculated by the D- element according to equation (5). These calculated scores from PE i-1 are then passed along to the next PE i. It takes O (m+n) to evaluate the best score where m and n are respectively the length of the profile and the length of the sequence.

25 18 M D Delay M-Element Reg I Probability C D-Element I-I-Element Probability Probability Figure 10: Block Diagram of a Processing Element The processing elements are pipelined, in other words two or more PE will be operating at the same time. At time T0, only PE0 is running, at T1 both PE0 and PE1 are running, at T2 PE0, PE1 and PE2 are running. END Element The END element is a comparator which takes the M, I and D score from the last PE in the array. It compares these scores with the last calculated score and outputs the maximum of the all according to equation (6). This is the score of the best aligned sequence relative to a hidden Markov model. S(t) = max [M(t), I(t), D(t), S(t-1) ] (6) This element also outputs a pulse to start the serial data transmission.

26 19 Data Transmission This is the interface between the FPGA and the terminal emulator program on a PC. This unit consist of BCD (binary coded decimal) converter, BCD to ASCII converter, clock divider and transmission unit. BCD Converter The BCD Converter converts the 16-bit binary result from the score calculator to a 5-digit binary coded decimal (BCD) number. A 16-bit binary number can have a maximum value of 65,535 and thus needs 5 BCD digits for representation. Algorithm for binary to BCD conversion (insert reference) Consider a sixteen-bit binary number represented by ABCD EFGH IJKL MNOP; the equivalent decimal number or BCD can be calculated as: A x B x P x 2 0 Or, alternatively it can be represented as ((A x 2 + B) x 2 + C). + P In this algorithm, we calculate the result by working from the inner to the outer parenthesis and converting the binary number to its equivalent BCD representation after each calculation; i.e., after each calculation (ex: A x 2 + B), we do decimal adjust.

27 20 Decimal adjust after addition Consider two BCD numbers xyzw pqrs and abcd efgh ; after adding the two BCD numbers, a decimal adjust is performed as follows: If the lower hexadecimal value exceeds 0x9, then 0x6 is added to the result If the higher hexadecimal value exceeds 0x9, then 0x60 is added to the result If there is a carry from the lower hexadecimal to the higher decimal, then 0x6 is added to the result. BCD to ASCII Converter In order to transmit, 4 bit BCD number is converted to 8 bit ASCII number. This requires adding hexadecimal 30 to the BCD number. The ASCII number is then sent to transmission unit. Clock Divider Since the Baud rate required for the serial transmission is 9600 Hz, a clock divider is implemented to divide the system clock of 50 MHz to 9600 Hz. A counter is incremented for every rising edge of the system clock up to 5208/2 (50M/9600) and then reset, producing a 9600 Hz clock.

28 21 Transmission Unit This unit provides the functionality of a UART transmitter which allows the FPGA to communicate with PC conforming to standard RS232 protocol. It has the following characteristics 1 start bit 8 serially transmitted data bits, least significant bit(lsb) transmitted first 1 stop bit Although an asynchronous receiver and transmitter are not synchronized, this unit uses a timing reference for serial transfer of each byte of data. The data is transmitted at a given bit rate (called baud rate). The baud rate used for this project is 9600 Hz. The active low start signal is used to identify when the first LSB is being sent. The normal status of the output data port is active high. In this way, a new start bit is identified by its falling edge. The stop bit is transmitted before a new start bit can go low again.

29 22 EXPERIMENTAL SETUP The hardware description language, VHDL, is used to define the behavior or structure of each of the three units (feed data, score calculator and data transmission) of the system and their components. ModelSim 5.7C, a HDL simulator, which provides an integrated verification and debug environment is used to simulate and verify the design. It ensures the logical correctness of the design and that the design meets all the timing constraints. The designs are entered on a Digilab 2E (D2E) board. This board has a Xilinx Spartan series XC2S200E FPGA [12]. The FPGA has 200K gates and its speed grade is - 6. An on-board 50 MHz oscillator drives the FPGA. The D2E has a DB-25 parallel port connector to send the bit file (JTAG programming signals) from the host computer to the FPGA. The D2E has a DB-9 serial port to connect the board to a computer. It uses a Maxim MAX3386E RS-232 voltage converter to generate the required RS-232 voltages. This board has an extension DIOI board which has switches and LEDs. Xilinx ISE foundation software is used to enter the design on the Digilab 2E board and configure the FPGA [12, 133]. After the design is simulated and verified, the first step to configure the FPGA is to set up a project to enter the design. The next step is

30 23 to specify a user constraint file associated with each project. The user constraint file tells the Xilinx software which FPGA I/O pin is assigned to input and output ports specified in the design. Then the design is taken through a compilation process which consists of synthesis, implementation and generation of programming file processes. The synthesis process checks the syntax of the design and analyzes the hierarchy of the design. This process also optimizes the design for the selected FPGA architecture. The Implement Design process converts the targeted design into a physical file format that can be implemented on the FPGA. This process further consists of merging all the net lists and user constraints, mapping the logic to components (logic cells, I/O cells etc) of the target FPGA and placing and routing the design. The Generate Programming Files process takes the file from the implement design process and produces a bit stream file for the device configuration. This bit file contains all of the configuration information defining the internal logic and interconnections of the FPGA. The resulting bit stream file that represents the design is downloaded to the device from the host PC via DB-25 parallel port. The switch sw1 on the DIOI board is thrown to feed all the emission probabilities to the model. The led on the board is lit during this time. Then switch sw2 is thrown to feed the database strings to be aligned with model. The resulting score for each string is sent to host PC via DB-9 serial port and displayed on an emulator program on the PC.

31 24 RESULTS The execution of the Viterbi algorithm on a two match state HMM was verified by simulation, followed by implementation and testing on Xilinx Spartan IIE FPGA. The HMM is provided with input strings of variable length. The score calculator can have input strings with a maximum of 3 residues and minimum of 1 residue. The number of possible residues is 20 and thus requires 5 bit binary number for representation. These results were compared with theoretical results and were found to be correct. Fig 11 shows the simulation results. The first string is 123 which is decimal representation of string and the resultant score is found to be 23. The next string is 12 and resultant score is 17. The next string is 13 and score is found to be 22. These result values were the same as calculated values. The clock provided for the simulation was of 50 MHz frequency. Fig 11 also shows the intermediate values of M, I and D scores for each PE at different time instants. The simulation also shows an output pulse to indicate the presence of a valid score and that data transmission unit should start the transmission. These values are then displayed on the terminal emulator.

32 25 Figure 11: Simulation Results The percentage of resources used on the FPGA chip by the design is 71%, after placing and routing the design. The number of components in the implementation of the design on the FPGA is as follows 2677 number of 4 input LUTs out of 4,704 LUTs on the xilinx Spartan 2e, which is 56% of the resources number of Slice Flip Flops out of the available 4,704 flip flops on the Spartan 2e, which is 25% of the resources. The critical path delay after synthesis was ns, which is less than the time period of the on-board clock of 50MHz of 20 ns.

33 26 The number of slices used by one PE is 664 out of the 2,352 available on the Spartan 2E. A normal protein sequence is of length To implement the 50 match states HMM, we need 33,200 slices and to implement the 100 match states HMM, we need 66,400 slices. The register to store the emission probabilities occupy 298 slices. Another 144 slices are used to implement the register to store transition probabilities. So, only 154 slices are used to implement the logic of a PE. If a RAM block is implemented to store these probabilities, then the 50 match states HMM will require only 7200 slices and the 100 match states HMM will require 15,400 slices.

34 27 FUTURE WORK The D-flipflops on the FPGA are used to store the model parameters. It would be more efficient use of resources if a RAM block is used to store these values. Xilinx XC2S200E has 216K bits of block RAM. Future work would involve implementing read and write interface between the score calculator and the RAM. Implementing the RAM would allow the implementation of an HMM with more number of states. It would also allow different emission probabilities for the insert states. If receiving UART unit is also implemented, then all the model parameters can be sent from a host PC to the FPGA instead of hardwiring these values in the FPGA. The current project only has transmission unit. Serial transmission is the bottle neck in the system. It would help to optimize the serial transmission. Currently next score is not calculated unless the present score is transmitted. Implementation of FIFO (first in first out) would let the score calculator calculate the next score much sooner.

35 28 REFERENCES 1. R.Durbin, S. Eddy, A. Krogh, G. Mitchson, Biological Sequence Analysis, Probabilistic models of proteins and nucleic acids, Cambridge University Press, L. R Rabiner., A tutorial on hidden Markov model and selected applications in speech recognition, Proc IEEE, 77, 1989, D. Haussler A. Krogh, I. S. Mian and K. Sjölander, Protein modeling using hidden Markov models: Analysis of globins, Proceedings of the Hawaii International Conference on System Science, 1993, volume 1 pp R. Hughey and A. Krogh, Hidden Markov models for sequence analysis: extension and analysis of the basic method, CABIOS, 12:95-107, A. Krogh, M. Brown, I. S. Mian, K. Sjölander, and D. Haussler, Hidden Markov models in computational biology: Applications to protein modeling, Journal of Molecular Biology, 235: , Feb Scott F. Smith, "A Scalable Coprocessor for Bioinformatic Sequence Alignments, Proceedings of the 2004 International Conference on VLSI (VLSI 2004), pp

36 29 7. L. Grate, M. Diekhans, D. Dahle and R. Hughey, Sequence Analysis with the Kestrel SIMD Parallel Processor, Pacific Symposium on Biocomputing 2001, C. Barrett, R. Hughey, and K. Karplus, Scoring hidden Markov models'', CABIOS, 13(2): , D. Haussler, A. Krogh and S. Mian, "A Hidden Markov Model that Finds Genes in E. coli DNA," in Nucleic Acids Research, Vol. 22, pp ,

HIDDEN MARKOV MODELS AND SEQUENCE ALIGNMENT

HIDDEN MARKOV MODELS AND SEQUENCE ALIGNMENT HIDDEN MARKOV MODELS AND SEQUENCE ALIGNMENT - Swarbhanu Chatterjee. Hidden Markov models are a sophisticated and flexible statistical tool for the study of protein models. Using HMMs to analyze proteins

More information

A Scalable Coprocessor for Bioinformatic Sequence Alignments

A Scalable Coprocessor for Bioinformatic Sequence Alignments A Scalable Coprocessor for Bioinformatic Sequence Alignments Scott F. Smith Department of Electrical and Computer Engineering Boise State University Boise, ID, U.S.A. Abstract A hardware coprocessor for

More information

Machine Learning. Computational biology: Sequence alignment and profile HMMs

Machine Learning. Computational biology: Sequence alignment and profile HMMs 10-601 Machine Learning Computational biology: Sequence alignment and profile HMMs Central dogma DNA CCTGAGCCAACTATTGATGAA transcription mrna CCUGAGCCAACUAUUGAUGAA translation Protein PEPTIDE 2 Growth

More information

Controller IP for a Low Cost FPGA Based USB Device Core

Controller IP for a Low Cost FPGA Based USB Device Core National Conference on Emerging Trends in VLSI, Embedded and Communication Systems-2013 17 Controller IP for a Low Cost FPGA Based USB Device Core N.V. Indrasena and Anitta Thomas Abstract--- In this paper

More information

Profiles and Multiple Alignments. COMP 571 Luay Nakhleh, Rice University

Profiles and Multiple Alignments. COMP 571 Luay Nakhleh, Rice University Profiles and Multiple Alignments COMP 571 Luay Nakhleh, Rice University Outline Profiles and sequence logos Profile hidden Markov models Aligning profiles Multiple sequence alignment by gradual sequence

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

Hardware Accelerator for Biological Sequence Alignment using Coreworks Processing Engine

Hardware Accelerator for Biological Sequence Alignment using Coreworks Processing Engine Hardware Accelerator for Biological Sequence Alignment using Coreworks Processing Engine José Cabrita, Gilberto Rodrigues, Paulo Flores INESC-ID / IST, Technical University of Lisbon jpmcabrita@gmail.com,

More information

Laboratory Finite State Machines and Serial Communication

Laboratory Finite State Machines and Serial Communication Laboratory 11 11. Finite State Machines and Serial Communication 11.1. Objectives Study, design, implement and test Finite State Machines Serial Communication Familiarize the students with Xilinx ISE WebPack

More information

Programmable Logic Design I

Programmable Logic Design I Programmable Logic Design I Introduction In labs 11 and 12 you built simple logic circuits on breadboards using TTL logic circuits on 7400 series chips. This process is simple and easy for small circuits.

More information

Advanced FPGA Design Methodologies with Xilinx Vivado

Advanced FPGA Design Methodologies with Xilinx Vivado Advanced FPGA Design Methodologies with Xilinx Vivado Alexander Jäger Computer Architecture Group Heidelberg University, Germany Abstract With shrinking feature sizes in the ASIC manufacturing technology,

More information

15-780: Graduate Artificial Intelligence. Computational biology: Sequence alignment and profile HMMs

15-780: Graduate Artificial Intelligence. Computational biology: Sequence alignment and profile HMMs 5-78: Graduate rtificial Intelligence omputational biology: Sequence alignment and profile HMMs entral dogma DN GGGG transcription mrn UGGUUUGUG translation Protein PEPIDE 2 omparison of Different Organisms

More information

Design and Implementation of Multi-Rate Encryption Unit Based on Customized AES

Design and Implementation of Multi-Rate Encryption Unit Based on Customized AES International Journal of Video & Image Processing and Network Security IJVIPNS-IJENS Vol: 11 No: 06 6 Design and Implementation of Multi-Rate Encryption Unit Based on Customized AES Ashraf D. Elbayoumy,

More information

FPGA Matrix Multiplier

FPGA Matrix Multiplier FPGA Matrix Multiplier In Hwan Baek Henri Samueli School of Engineering and Applied Science University of California Los Angeles Los Angeles, California Email: chris.inhwan.baek@gmail.com David Boeck Henri

More information

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool Md. Abdul Latif Sarker, Moon Ho Lee Division of Electronics & Information Engineering Chonbuk National University 664-14 1GA Dekjin-Dong

More information

EITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board. (FPGA Interfacing) Teacher: Dr.

EITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board. (FPGA Interfacing) Teacher: Dr. EITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board (FPGA Interfacing) Teacher: Dr. Liang Liu v.1.0.0 1 Abstract This document describes the basic behavior

More information

LogiCORE IP AXI DataMover v3.00a

LogiCORE IP AXI DataMover v3.00a LogiCORE IP AXI DataMover v3.00a Product Guide Table of Contents SECTION I: SUMMARY IP Facts Chapter 1: Overview Operating System Requirements..................................................... 7 Feature

More information

Design and Simulation of UART for Serial Communication

Design and Simulation of UART for Serial Communication Design and Simulation of UART for Serial Communication 1 Manju Wadhvani 1 Electronic and Telecommunication Engineering, Chhatisgarh Swami Vivekanand Technical university, Disha Institute of Management

More information

Preliminary results in accelerating profile HMM search on FPGAs

Preliminary results in accelerating profile HMM search on FPGAs Preliminary results in accelerating profile HMM search on FPGAs Arpith C. Jacob, Joseph M. Lancaster, Jeremy D. Buhler, and Roger D. Chamberlain Department of Computer Science and Engineering Washington

More information

Scalable Accelerator Architecture for Local Alignment of DNA Sequences

Scalable Accelerator Architecture for Local Alignment of DNA Sequences Scalable Accelerator Architecture for Local Alignment of DNA Sequences Nuno Sebastião, Nuno Roma, Paulo Flores INESC-ID / IST-TU Lisbon Rua Alves Redol, 9, Lisboa PORTUGAL {Nuno.Sebastiao, Nuno.Roma, Paulo.Flores}

More information

PROJECT REPORT - UART

PROJECT REPORT - UART Tanvi Shama 200601196 Akshay Soni 200601148 DAIICT PROJECT REPORT - UART Digital System Architecture 2 Project Report - UART S.No Topic Page No. 1. PROJECT STATEMENT 3 2. FUNCTIONAL SPECIFICATIONS INTRODUCTION

More information

Genome 559. Hidden Markov Models

Genome 559. Hidden Markov Models Genome 559 Hidden Markov Models A simple HMM Eddy, Nat. Biotech, 2004 Notes Probability of a given a state path and output sequence is just product of emission/transition probabilities If state path is

More information

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips Overview CSE372 Digital Systems Organization and Design Lab Prof. Milo Martin Unit 5: Hardware Synthesis CAD (Computer Aided Design) Use computers to design computers Virtuous cycle Architectural-level,

More information

Multiple Sequence Alignment Based on Profile Alignment of Intermediate Sequences

Multiple Sequence Alignment Based on Profile Alignment of Intermediate Sequences Multiple Sequence Alignment Based on Profile Alignment of Intermediate Sequences Yue Lu and Sing-Hoi Sze RECOMB 2007 Presented by: Wanxing Xu March 6, 2008 Content Biology Motivation Computation Problem

More information

Dynamic Programming User Manual v1.0 Anton E. Weisstein, Truman State University Aug. 19, 2014

Dynamic Programming User Manual v1.0 Anton E. Weisstein, Truman State University Aug. 19, 2014 Dynamic Programming User Manual v1.0 Anton E. Weisstein, Truman State University Aug. 19, 2014 Dynamic programming is a group of mathematical methods used to sequentially split a complicated problem into

More information

Copyright 2011 R.S.R. Electronics, Inc. All rights reserved. 04/11. Ver. 1.0web

Copyright 2011 R.S.R. Electronics, Inc. All rights reserved. 04/11. Ver. 1.0web For XILINX WebPack Copyright 2011 R.S.R. Electronics, Inc. All rights reserved. 04/11 Ver. 1.0web 1 Table of Contents 1.0 INTRODUCTION...3 2.0 GENERAL DESCRIPTION...5 3.0 BRIEF DESCRIPTION Of PLDT-3 BOARD...6

More information

Building Combinatorial Circuit Using Behavioral Modeling Lab

Building Combinatorial Circuit Using Behavioral Modeling Lab Building Combinatorial Circuit Using Behavioral Modeling Lab Overview: In this lab you will learn how to model a combinatorial circuit using behavioral modeling style of Verilog HDL. You will model a combinatorial

More information

A CAM(Content Addressable Memory)-based architecture for molecular sequence matching

A CAM(Content Addressable Memory)-based architecture for molecular sequence matching A CAM(Content Addressable Memory)-based architecture for molecular sequence matching P.K. Lala 1 and J.P. Parkerson 2 1 Department Electrical Engineering, Texas A&M University, Texarkana, Texas, USA 2

More information

Accelerating Smith Waterman (SW) Algorithm on Altera Cyclone II Field Programmable Gate Array

Accelerating Smith Waterman (SW) Algorithm on Altera Cyclone II Field Programmable Gate Array Accelerating Smith Waterman (SW) Algorithm on Altera yclone II Field Programmable Gate Array NUR DALILAH AHMAD SABRI, NUR FARAH AIN SALIMAN, SYED ABDUL MUALIB AL JUNID, ABDUL KARIMI HALIM Faculty Electrical

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

Performance Comparison between Linear RVE and Linear Systolic Array Implementations of the Smith-Waterman Algorithm

Performance Comparison between Linear RVE and Linear Systolic Array Implementations of the Smith-Waterman Algorithm Performance Comparison between Linear RVE and Linear Systolic Array Implementations of the Smith-Waterman Algorithm Laiq Hasan Zaid Al-Ars Delft University of Technology Computer Engineering Laboratory

More information

Hardware Description of Multi-Directional Fast Sobel Edge Detection Processor by VHDL for Implementing on FPGA

Hardware Description of Multi-Directional Fast Sobel Edge Detection Processor by VHDL for Implementing on FPGA Hardware Description of Multi-Directional Fast Sobel Edge Detection Processor by VHDL for Implementing on FPGA Arash Nosrat Faculty of Engineering Shahid Chamran University Ahvaz, Iran Yousef S. Kavian

More information

Matrix Manipulation Using High Computing Field Programmable Gate Arrays

Matrix Manipulation Using High Computing Field Programmable Gate Arrays Matrix Manipulation Using High Computing Field Programmable Gate Arrays 1 Mr.Rounak R. Gupta, 2 Prof. Atul S. Joshi Department of Electronics and Telecommunication Engineering, Sipna College of Engineering

More information

SHA3 Core Specification. Author: Homer Hsing

SHA3 Core Specification. Author: Homer Hsing SHA3 Core Specification Author: Homer Hsing homer.hsing@gmail.com Rev. 0.1 January 29, 2013 This page has been intentionally left blank. www.opencores.org Rev 0.1 ii Rev. Date Author Description 0.1 01/29/2013

More information

ICB Fall G4120: Introduction to Computational Biology. Oliver Jovanovic, Ph.D. Columbia University Department of Microbiology

ICB Fall G4120: Introduction to Computational Biology. Oliver Jovanovic, Ph.D. Columbia University Department of Microbiology ICB Fall 2008 G4120: Computational Biology Oliver Jovanovic, Ph.D. Columbia University Department of Microbiology Copyright 2008 Oliver Jovanovic, All Rights Reserved. The Digital Language of Computers

More information

A Coprocessor Architecture for Fast Protein Structure Prediction

A Coprocessor Architecture for Fast Protein Structure Prediction A Coprocessor Architecture for Fast Protein Structure Prediction M. Marolia, R. Khoja, T. Acharya, C. Chakrabarti Department of Electrical Engineering Arizona State University, Tempe, USA. Abstract Predicting

More information

Reconfigurable PLL for Digital System

Reconfigurable PLL for Digital System International Journal of Engineering Research and Technology. ISSN 0974-3154 Volume 6, Number 3 (2013), pp. 285-291 International Research Publication House http://www.irphouse.com Reconfigurable PLL for

More information

International Journal of Research Available at

International Journal of Research Available at Design, Implementation and Evaluation of a Telemetry Channel Coding Sublayer Mina Ghaffari 1 ; Elham Hosseini 2 & Ali Sadr 3 1 Research Scholar, Iran University of Science and Technology 2 Research Scholar,

More information

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4) Verilog Sequential Logic Verilog for Synthesis Rev C (module 3 and 4) Jim Duckworth, WPI 1 Sequential Logic Module 3 Latches and Flip-Flops Implemented by using signals in always statements with edge-triggered

More information

Biology 644: Bioinformatics

Biology 644: Bioinformatics A statistical Markov model in which the system being modeled is assumed to be a Markov process with unobserved (hidden) states in the training data. First used in speech and handwriting recognition In

More information

Comparison of Sequence Similarity Measures for Distant Evolutionary Relationships

Comparison of Sequence Similarity Measures for Distant Evolutionary Relationships Comparison of Sequence Similarity Measures for Distant Evolutionary Relationships Abhishek Majumdar, Peter Z. Revesz Department of Computer Science and Engineering, University of Nebraska-Lincoln, Lincoln,

More information

Design and Implementation of Hamming Code on FPGA using Verilog

Design and Implementation of Hamming Code on FPGA using Verilog International Journal of Engineering and Advanced Technology (IJEAT) Design and Implementation of Hamming Code on FPGA using Verilog Ravi Hosamani, Ashwini S. Karne Abstract In mathematics, digital communication

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

HIGH-PERFORMANCE RECONFIGURABLE FIR FILTER USING PIPELINE TECHNIQUE

HIGH-PERFORMANCE RECONFIGURABLE FIR FILTER USING PIPELINE TECHNIQUE HIGH-PERFORMANCE RECONFIGURABLE FIR FILTER USING PIPELINE TECHNIQUE Anni Benitta.M #1 and Felcy Jeba Malar.M *2 1# Centre for excellence in VLSI Design, ECE, KCG College of Technology, Chennai, Tamilnadu

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

Data Mining Technologies for Bioinformatics Sequences

Data Mining Technologies for Bioinformatics Sequences Data Mining Technologies for Bioinformatics Sequences Deepak Garg Computer Science and Engineering Department Thapar Institute of Engineering & Tecnology, Patiala Abstract Main tool used for sequence alignment

More information

Developing a Data Driven System for Computational Neuroscience

Developing a Data Driven System for Computational Neuroscience Developing a Data Driven System for Computational Neuroscience Ross Snider and Yongming Zhu Montana State University, Bozeman MT 59717, USA Abstract. A data driven system implies the need to integrate

More information

A High Speed Binary Floating Point Multiplier Using Dadda Algorithm

A High Speed Binary Floating Point Multiplier Using Dadda Algorithm 455 A High Speed Binary Floating Point Multiplier Using Dadda Algorithm B. Jeevan, Asst. Professor, Dept. of E&IE, KITS, Warangal. jeevanbs776@gmail.com S. Narender, M.Tech (VLSI&ES), KITS, Warangal. narender.s446@gmail.com

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

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

Laboratory Exercise 7

Laboratory Exercise 7 Laboratory Exercise 7 Finite State Machines This is an exercise in using finite state machines. Part I We wish to implement a finite state machine (FSM) that recognizes two specific sequences of applied

More information

C E N T R. Introduction to bioinformatics 2007 E B I O I N F O R M A T I C S V U F O R I N T. Lecture 13 G R A T I V. Iterative homology searching,

C E N T R. Introduction to bioinformatics 2007 E B I O I N F O R M A T I C S V U F O R I N T. Lecture 13 G R A T I V. Iterative homology searching, C E N T R E F O R I N T E G R A T I V E B I O I N F O R M A T I C S V U Introduction to bioinformatics 2007 Lecture 13 Iterative homology searching, PSI (Position Specific Iterated) BLAST basic idea use

More information

Compares a sequence of protein to another sequence or database of a protein, or a sequence of DNA to another sequence or library of DNA.

Compares a sequence of protein to another sequence or database of a protein, or a sequence of DNA to another sequence or library of DNA. Compares a sequence of protein to another sequence or database of a protein, or a sequence of DNA to another sequence or library of DNA. Fasta is used to compare a protein or DNA sequence to all of the

More information

The Design of MCU's Communication Interface

The Design of MCU's Communication Interface X International Symposium on Industrial Electronics INDEL 2014, Banja Luka, November 0608, 2014 The Design of MCU's Communication Interface Borisav Jovanović, Dejan Mirković and Milunka Damnjanović University

More information

FPGA: What? Why? Marco D. Santambrogio

FPGA: What? Why? Marco D. Santambrogio FPGA: What? Why? Marco D. Santambrogio marco.santambrogio@polimi.it 2 Reconfigurable Hardware Reconfigurable computing is intended to fill the gap between hardware and software, achieving potentially much

More information

Simulation & Synthesis of FPGA Based & Resource Efficient Matrix Coprocessor Architecture

Simulation & Synthesis of FPGA Based & Resource Efficient Matrix Coprocessor Architecture Simulation & Synthesis of FPGA Based & Resource Efficient Matrix Coprocessor Architecture Jai Prakash Mishra 1, Mukesh Maheshwari 2 1 M.Tech Scholar, Electronics & Communication Engineering, JNU Jaipur,

More information

Ripple Counters. Lecture 30 1

Ripple Counters. Lecture 30 1 Ripple Counters A register that goes through a prescribed sequence of states upon the application of input pulses is called a counter. The input pulses may be clock pulses, or they may originate from some

More information

SPART. SPART Design. A Special Purpose Asynchronous Receiver/Transmitter. The objectives of this miniproject are to:

SPART. SPART Design. A Special Purpose Asynchronous Receiver/Transmitter. The objectives of this miniproject are to: SPART A Special Purpose Asynchronous Receiver/Transmitter Introduction In this miniproject you are to implement a Special Purpose Asynchronous Receiver/Transmitter (SPART). The SPART can be integrated

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

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: Configuring Floating Point Multiplier on Spartan 2E Hardware

More information

New String Kernels for Biosequence Data

New String Kernels for Biosequence Data Workshop on Kernel Methods in Bioinformatics New String Kernels for Biosequence Data Christina Leslie Department of Computer Science Columbia University Biological Sequence Classification Problems Protein

More information

Single Channel HDLC Core V1.3. LogiCORE Facts. Features. General Description. Applications

Single Channel HDLC Core V1.3. LogiCORE Facts. Features. General Description. Applications Sept 8, 2000 Product Specification R Powered by Xilinx Inc. 2100 Logic Drive San Jose, CA 95124 Phone: +1 408-559-7778 Fax: +1 408-559-7114 E-mail: logicore@xilinx.com URL: www.xilinx.com/ipcenter Support:

More information

(ii) Simplify and implement the following SOP function using NOR gates:

(ii) Simplify and implement the following SOP function using NOR gates: DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EE6301 DIGITAL LOGIC CIRCUITS UNIT I NUMBER SYSTEMS AND DIGITAL LOGIC FAMILIES PART A 1. How can an OR gate be

More information

Adding the ILA Core to an Existing Design Lab

Adding the ILA Core to an Existing Design Lab Adding the ILA Core to an Existing Introduction This lab consists of adding a ChipScope Pro software ILA core with the Core Inserter tool and debugging a nonfunctioning design. The files for this lab are

More information

FPGA Interfacing of HD44780 Based LCD Using Delayed Finite State Machine (FSM)

FPGA Interfacing of HD44780 Based LCD Using Delayed Finite State Machine (FSM) FPGA Interfacing of HD44780 Based LCD Using Delayed Finite State Machine (FSM) Edwin NC Mui Custom R & D Engineer Texco Enterprise Ptd. Ltd. {blackgrail2000@hotmail.com} Abstract This paper presents a

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

Design of Convolution Encoder and Reconfigurable Viterbi Decoder

Design of Convolution Encoder and Reconfigurable Viterbi Decoder RESEARCH INVENTY: International Journal of Engineering and Science ISSN: 2278-4721, Vol. 1, Issue 3 (Sept 2012), PP 15-21 www.researchinventy.com Design of Convolution Encoder and Reconfigurable Viterbi

More information

A Design of a Hybrid System for DNA Sequence Alignment

A Design of a Hybrid System for DNA Sequence Alignment IMECS 2008, 9-2 March, 2008, Hong Kong A Design of a Hybrid System for DNA Sequence Alignment Heba Khaled, Hossam M. Faheem, Tayseer Hasan, Saeed Ghoneimy Abstract This paper describes a parallel algorithm

More information

Implementation of Floating Point Multiplier Using Dadda Algorithm

Implementation of Floating Point Multiplier Using Dadda Algorithm Implementation of Floating Point Multiplier Using Dadda Algorithm Abstract: Floating point multiplication is the most usefull in all the computation application like in Arithematic operation, DSP application.

More information

Programmable Logic Design I

Programmable Logic Design I Programmable Logic Design I Read through each section completely before starting so that you have the benefit of all the directions. Put on a grounded wrist strap (cf. Getting Started) before touching

More information

Chapter 9: Integration of Full ASIP and its FPGA Implementation

Chapter 9: Integration of Full ASIP and its FPGA Implementation Chapter 9: Integration of Full ASIP and its FPGA Implementation 9.1 Introduction A top-level module has been created for the ASIP in VHDL in which all the blocks have been instantiated at the Register

More information

Read this before starting!

Read this before starting! Points missed: Student's Name: Total score: /100 points East Tennessee State University Department of Computer and Information Sciences CSCI 2150 (Tarnoff) Computer Organization TEST 1 for Spring Semester,

More information

OPEN MP-BASED PARALLEL AND SCALABLE GENETIC SEQUENCE ALIGNMENT

OPEN MP-BASED PARALLEL AND SCALABLE GENETIC SEQUENCE ALIGNMENT OPEN MP-BASED PARALLEL AND SCALABLE GENETIC SEQUENCE ALIGNMENT Asif Ali Khan*, Laiq Hassan*, Salim Ullah* ABSTRACT: In bioinformatics, sequence alignment is a common and insistent task. Biologists align

More information

High Performance Systolic Array Core Architecture Design for DNA Sequencer

High Performance Systolic Array Core Architecture Design for DNA Sequencer High Performance Systolic Array Core Architecture Design for DNA Sequencer Dayana Saiful Nurdin 1, Mohd. Nazrin Md. Isa 1,* Rizalafande Che Ismail 1 and Muhammad Imran Ahmad 2 1 The Integrated Circuits

More information

Semi-supervised protein classification using cluster kernels

Semi-supervised protein classification using cluster kernels Semi-supervised protein classification using cluster kernels Jason Weston Max Planck Institute for Biological Cybernetics, 72076 Tübingen, Germany weston@tuebingen.mpg.de Dengyong Zhou, Andre Elisseeff

More information

FPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC)

FPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC) FPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC) D.Udhayasheela, pg student [Communication system],dept.ofece,,as-salam engineering and technology, N.MageshwariAssistant Professor

More information

PROTEIN MULTIPLE ALIGNMENT MOTIVATION: BACKGROUND: Marina Sirota

PROTEIN MULTIPLE ALIGNMENT MOTIVATION: BACKGROUND: Marina Sirota Marina Sirota MOTIVATION: PROTEIN MULTIPLE ALIGNMENT To study evolution on the genetic level across a wide range of organisms, biologists need accurate tools for multiple sequence alignment of protein

More information

Introduction to Verilog and XILINX

Introduction to Verilog and XILINX DEPARTAMENTO DE TECNOLOGÍA ELECTRÓNICA ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Introduction to Verilog and XILINX Lab Session Computer Structure WARNING: A written solution of the preliminary

More information

DESIGN AND IMPLEMENTATION OF VLSI SYSTOLIC ARRAY MULTIPLIER FOR DSP APPLICATIONS

DESIGN AND IMPLEMENTATION OF VLSI SYSTOLIC ARRAY MULTIPLIER FOR DSP APPLICATIONS International Journal of Computing Academic Research (IJCAR) ISSN 2305-9184 Volume 2, Number 4 (August 2013), pp. 140-146 MEACSE Publications http://www.meacse.org/ijcar DESIGN AND IMPLEMENTATION OF VLSI

More information

High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs

High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs Vol. 3, Issue. 5, Sep - Oct. 2013 pp-2894-2900 ISSN: 2249-6645 High Speed Fault Injection Tool (FITO) Implemented With VHDL on FPGA For Testing Fault Tolerant Designs M. Reddy Sekhar Reddy, R.Sudheer Babu

More information

Design of Convolutional Codes for varying Constraint Lengths

Design of Convolutional Codes for varying Constraint Lengths Design of Convolutional Codes for varying Constraint Lengths S VikramaNarasimhaReddy 1, Charan Kumar K 2, Neelima Koppala 3 1,2 MTech(VLSI) Student, 3 Assistant Professor, ECE Department, SreeVidyanikethan

More information

DEVELOPMENT OF FPGA MICROBLAZE PROCESSOR AND GSM BASED HEART RATE MONITORING SYSTEM

DEVELOPMENT OF FPGA MICROBLAZE PROCESSOR AND GSM BASED HEART RATE MONITORING SYSTEM DEVELOPMENT OF FPGA MICROBLAZE PROCESSOR AND GSM BASED HEART RATE MONITORING SYSTEM P. K. Gaikwad Department of Electronics, Willingdon College, Sangli, (M.S.), INDIA pawangaikwad2003@yahoo.co.in Abstract

More information

What is Xilinx Design Language?

What is Xilinx Design Language? Bill Jason P. Tomas University of Nevada Las Vegas Dept. of Electrical and Computer Engineering What is Xilinx Design Language? XDL is a human readable ASCII format compatible with the more widely used

More information

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are: Problem 1: CLD2 Problems. (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are: C 0 = A + BD + C + BD C 1 = A + CD + CD + B C 2 = A + B + C + D C 3 = BD + CD + BCD + BC C 4

More information

DESIGN AND IMPLEMENTATION OF SDR SDRAM CONTROLLER IN VHDL. Shruti Hathwalia* 1, Meenakshi Yadav 2

DESIGN AND IMPLEMENTATION OF SDR SDRAM CONTROLLER IN VHDL. Shruti Hathwalia* 1, Meenakshi Yadav 2 ISSN 2277-2685 IJESR/November 2014/ Vol-4/Issue-11/799-807 Shruti Hathwalia et al./ International Journal of Engineering & Science Research DESIGN AND IMPLEMENTATION OF SDR SDRAM CONTROLLER IN VHDL ABSTRACT

More information

32 Channel HDLC Core V1.2. Applications. LogiCORE Facts. Features. General Description. X.25 Frame Relay B-channel and D-channel

32 Channel HDLC Core V1.2. Applications. LogiCORE Facts. Features. General Description. X.25 Frame Relay B-channel and D-channel May 3, 2000 Xilinx Inc. 2100 Logic Drive San Jose, CA 95124 Phone: +1 408-559-7778 Fax: +1 408-559-7114 E-mail: logicore@xilinx.com URL: www.xilinx.com/ipcenter Support: www.support.xilinx.com Features

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

DESIGN AND IMPLEMENTATION OF 32-BIT CONTROLLER FOR INTERACTIVE INTERFACING WITH RECONFIGURABLE COMPUTING SYSTEMS

DESIGN AND IMPLEMENTATION OF 32-BIT CONTROLLER FOR INTERACTIVE INTERFACING WITH RECONFIGURABLE COMPUTING SYSTEMS DESIGN AND IMPLEMENTATION OF 32-BIT CONTROLLER FOR INTERACTIVE INTERFACING WITH RECONFIGURABLE COMPUTING SYSTEMS Ashutosh Gupta and Kota Solomon Raju Digital System Group, Central Electronics Engineering

More information

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:

More information

Amino Acid Graph Representation for Efficient Safe Transfer of Multiple DNA Sequence as Pre Order Trees

Amino Acid Graph Representation for Efficient Safe Transfer of Multiple DNA Sequence as Pre Order Trees International Journal of Bioinformatics and Biomedical Engineering Vol. 1, No. 3, 2015, pp. 292-299 http://www.aiscience.org/journal/ijbbe Amino Acid Graph Representation for Efficient Safe Transfer of

More information

FPGA-BASED DATA ACQUISITION SYSTEM WITH RS 232 INTERFACE

FPGA-BASED DATA ACQUISITION SYSTEM WITH RS 232 INTERFACE FPGA-BASED DATA ACQUISITION SYSTEM WITH RS 232 INTERFACE 1 Thirunavukkarasu.T, 2 Kirthika.N 1 PG Student: Department of ECE (PG), Sri Ramakrishna Engineering College, Coimbatore, India 2 Assistant Professor,

More information

Verilog Design Entry, Synthesis, and Behavioral Simulation

Verilog Design Entry, Synthesis, and Behavioral Simulation ------------------------------------------------------------- PURPOSE - This lab will present a brief overview of a typical design flow and then will start to walk you through some typical tasks and familiarize

More information

Chip Design with FPGA Design Tools

Chip Design with FPGA Design Tools Chip Design with FPGA Design Tools Intern: Supervisor: Antoine Vazquez Janusz Zalewski Florida Gulf Coast University Fort Myers, FL 33928 V1.9, August 28 th. Page 1 1. Introduction FPGA is abbreviation

More information

Digital Circuit Design Using Xilinx ISE Tools

Digital Circuit Design Using Xilinx ISE Tools Digital Circuit Design Using Xilinx ISE Tools Poras T. Balsara and Prashant Vallur Table of Contents 1. Introduction 2. Programmable logic devices: FPGA and CPLD 3. Creating a new project in Xilinx Foundation

More information

Programmable Memory Blocks Supporting Content-Addressable Memory

Programmable Memory Blocks Supporting Content-Addressable Memory Programmable Memory Blocks Supporting Content-Addressable Memory Frank Heile, Andrew Leaver, Kerry Veenstra Altera 0 Innovation Dr San Jose, CA 95 USA (408) 544-7000 {frank, aleaver, kerry}@altera.com

More information

Biology 644: Bioinformatics

Biology 644: Bioinformatics Find the best alignment between 2 sequences with lengths n and m, respectively Best alignment is very dependent upon the substitution matrix and gap penalties The Global Alignment Problem tries to find

More information

Code No: R Set No. 1

Code No: R Set No. 1 Code No: R059210504 Set No. 1 II B.Tech I Semester Supplementary Examinations, February 2007 DIGITAL LOGIC DESIGN ( Common to Computer Science & Engineering, Information Technology and Computer Science

More information

Tutorial. CASPER Reference Design

Tutorial. CASPER Reference Design Tutorial Author: Henry Chen December 18, 2009 (v1.1) Hardware Platforms Used: IBOB FPGA Clock Rate: 100MHz Sampling Rate: N/A Software Environment: TinySH This tutorial walks through the process of building

More information

Digital Logic & Computer Design CS Professor Dan Moldovan Spring 2010

Digital Logic & Computer Design CS Professor Dan Moldovan Spring 2010 Digital Logic & Computer Design CS 434 Professor Dan Moldovan Spring 2 Copyright 27 Elsevier 5- Chapter 5 :: Digital Building Blocks Digital Design and Computer Architecture David Money Harris and Sarah

More information

INTRODUCTION TO FPGA ARCHITECTURE

INTRODUCTION TO FPGA ARCHITECTURE 3/3/25 INTRODUCTION TO FPGA ARCHITECTURE DIGITAL LOGIC DESIGN (BASIC TECHNIQUES) a b a y 2input Black Box y b Functional Schematic a b y a b y a b y 2 Truth Table (AND) Truth Table (OR) Truth Table (XOR)

More information

A NEW GENERATION OF HOMOLOGY SEARCH TOOLS BASED ON PROBABILISTIC INFERENCE

A NEW GENERATION OF HOMOLOGY SEARCH TOOLS BASED ON PROBABILISTIC INFERENCE 205 A NEW GENERATION OF HOMOLOGY SEARCH TOOLS BASED ON PROBABILISTIC INFERENCE SEAN R. EDDY 1 eddys@janelia.hhmi.org 1 Janelia Farm Research Campus, Howard Hughes Medical Institute, 19700 Helix Drive,

More information