Format
Lecture: 3 hours
Laboratory: 1 hour
Catalog Description:
Fundamental biological, mathematical and algorithmic models underlying bioinformatics and systems biology; sequence analysis, database search, genome annotation, clustering and classification, functional gene networks, regulatory network inference, phylogenetic trees; applications of common bioinformatics tools in molecular biology and genetics.
Prerequisites: Course 10 or 30 or Engineering 6; Statistics 12 or 13 or 32 or 100 or 131A or Mathematics 135A; Biological Science 2A or Molecular and Cellular Biology 10.
Credit restrictions, cross listings: None
Summary of course contents
Goals: Students will come to: (1) understand the role and utility of bioinformatics in modern biology; (2) understand basic biological, mathematical and algorithmic concepts, techniques and models underlying bioinformatics tools; (3) master common bioinformatics tools; and (4) do simple programming in Perl or Java to extend the utility of common bioinformatics tools.
Illustrative reading
Homework:
Each homework set includes creative problems as well as recitation
problems to strengthen understanding and discover new material.
Computer Usage:
The lab portion of the class will emphasize practical computer
exercises using both established bioformatics software and writing simple
programs in Perl or Java.
ABET Category Content:
Engineering Science: 1 unit
Engineering Design: 0 unit
GE3
Science & Engineering
Overlap: The laboratory section of ECS 124 will overlap to some amount with Animal Genetics 212 (taught by J. Medrano) a graduate course offered every other year. The overlap in the laboratory section is only partial, as ANG 212 looks at more sequence analysis packages than in ECS 124; the lab portions of ECS 124 also look at packages for cluster enrichment, biological networks and phylogenetic analysis, which are not covered in ANG 212. They also involve computer programming in Perl or Java, while no programming is involved in ANG 212. The theoretical parts of ECS 124 (the lecture part of the course) will have no essential intersection with ANG 212, being either on different material entirely, or being a much more mathematical and algorithmic treatment of the material, i.e., fully explaining and developing the logic of the techniques, rather than focusing on learning to use these techniques in the form of packaged computer programs. A good analogy to explain the partial intersection is that ANG 212 is a course on “flying an airplane” while ECS 124 will be on the “physics of flight” with exercises in flying to make the ideas concrete.
ECS 124 intersects with ECS 221 (taught by I. Tagkopoulos), a graduate seminar course which focuses on Machine Learning methods in Systems and Synthetic Biology. The overlap is mainly on the areas of clustering, classifications and network analysis. ECS 221 assumes advanced computer science knowledge and treats these topics with more mathematical rigor than ECS 124, which includes lectures related to fundamental computer science methods (e.g. suffix trees, dynamic programming, etc.). In contrast to ECS 124, ECS 221 focuses on the presentation of research papers in the field, while it does not requires any laboratories/homeworks.
ECS 124 intersects EVE 298 (taught by M. Sanderson and S. Nadler) in the subarea of phylogenetics. However, the emphasis of the two courses in that overlapping subarea is again different. EVE 298 is oriented towards teaching biology graduate students to use computerized phylogenetic tools effectively in their biological (phylogenetic) research, while ECS 124 will have a more algorithmic and mathematical orientation.
ECS 124 intersects GGG 298D (taught by C. Warden and M. Syvanen) in the subarea of sequence analysis. Again the emphasis is quite different. GGG 298D is oriented towards teaching biology graduate students to use computerized sequence analysis tools effectively in their (biological sequence analysis) research, while ECS 124 will have a more algorithmic and mathematical orientation. There are no undergraduate courses on campus that have any substantial intersection with ECS 124.
Instructors: D. Gusfield and I. Tagkopoulos
History: 2012.10.29 (I. Tagkopoulos): Expansion of syllabus to include genome assembly and current methods in sequence mapping. Addition of a section related to computational methods in Systems Biology (Biological Networks, Machine Learning in Biology). Protein structure prediction methods where removed from the syllabus as there is an overlap with ECS 129. Addition of overlap explanation with ECS 221. Prior version by D. Gusfield, Oct 2006.
Outcomes
1 
X 
an ability to apply knowledge of mathematics, science, computing, and engineering 
2 

an ability to design and conduct experiments, as well as to analyze and interpret data 
3 

an ability to design, implement, and evaluate a system, process, component, or program to meet desired needs, within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability 
4 

an ability to function on multidisciplinary teams 
5 
X 
an ability to identify, formulate, and solve computer science and engineering problems and define the computing requirements appropriate to their solutions 
6 

an understanding of professional, ethical, legal, security and social issues and responsibilities 
7 

an ability to communicate effectively with a range of audiences 
8 

the broad education necessary to understand the impact of computer science and engineering solutions in a global and societal context 
9 

a recognition of the need for, and an ability to engage in lifelong learning 
10 

knowledge of contemporary issues 
11 
X 
an ability to use current techniques, skills, and tools necessary for computing and engineering practice 
12 

an ability to apply mathematical foundations, algorithmic principles, and computer science and engineering theory in the modeling and design of computerbased systems in a way that demonstrates comprehension of the tradeoffs involved in design choices 
13 

an ability to apply design and development principles in the construction of software systems or computer systems of varying complexity 