Lecture: 3 hours
Laboratory: 1 hour
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: (ECS 010 or ECS 032A or ECS 030 or ECS 036A or ENG 006); (STA 012 or STA 013 or STA 013Y or STA 032 or STA 100 or STA 131A or MAT 135A or BIM 105); (BIS 002A or MCB 010)
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.
Each homework set includes creative problems as well as recitation problems to strengthen understanding and discover new material.
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
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: Reviewed 2018.9.7 (CSUGA): prerequisites updated to include new lower division ECS series courses. 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.
|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 multi-disciplinary 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 life-long 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 computer-based 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|