80 likes | 192 Views
Integrating Bioinformatics tools/problems into Upper level Computer Science Courses B. Ravikumar Sonoma State University Rohnert Park CA 94952. Upper-level courses: Almost in every upper-level course, it is possible to include:
E N D
Integrating Bioinformatics tools/problems into Upper level Computer Science Courses B. Ravikumar Sonoma State University Rohnert Park CA 94952
Upper-level courses: • Almost in every upper-level course, it is possible to include: • AI, Database, Theory of Computation, Software Engg, Algorithm Design, Parallel and Distributed Processing etc. • We will discuss sample projects in the following two courses: • Software Engineering • Algorithm Design and Analysis
Software Engineering Course • focus on specification, design and testing • specification: concerned with what software we want to build • design: identify the modules and features to be built • testing: create test plan, test cases for unit testing, intgration testing etc. • A complex software like Bio-workbench is a good example to introduce various aspects of large-scale software design
Example software design projects: • Create a new layer on top of biology work-bench for compositional tasks, for example suppose we want software tool that takes the output of Blast and plots the result using a 3-d viewer. • Create tools to convert protein/DNA data between different formats. • 3.
Algorithm Design and Analysis • HIV problem space: From the HIV data, create a model that suggests mutation probabilities. Can we classify patients based on the probability of mutations? • Tools: bayesian statistics, maximum likelihood estimate, hidden Markov models etc.
Algorithm Design and Analysis Problem 2: Extend BLAST to handle tandem repeats. Step 1: identify tandem repeatsand remove. Step 2: call BLAST on the cleaned sequence. Is it possible to do it directly? Tools needed: dynamic programming, finite automaton
Algorithm Design and Analysis Problem 3: Given a receptor site in a protein, what is the largest volume of a molecule (sphere) that can fit at this site? Computational geometry problem: given a set of spheres, and a point x, what is the largest sphere centered at x that does not intersect any other spheres? Tools: Voronoi diagram
Algorithm Design and Analysis 4 Knot drawing recognizer: With tablet PC, we can input data from a pen based interface. Develop a program that takes a standard knot diagram drawn with a pen, and recognize the 3d model of the knot. (on-going project.)