02-201 Programming for Scientists - Fall 2014 - TR 12:00-1:20pm
Provides a practical introduction to programming for students with little or no prior programming experience. Extensive programming assignments will illustrate programming concepts, languages, and tools. Programming assignments will be based on analytical tasks that might be faced by scientists and will typically include parsing, statistical analysis, simulation, and optimization. Principles of good software engineering will also be stressed. Most programming assignments will be done in the Go programming language, an industry-supported, modern programming language, the syntax of which will be covered in depth. Several other assignments will be given in Python, Java, and C++ to highlight the commonalities and differences between languages. No prior programming experience is assumed, and no biology background is needed. Analytical skills and mathematical maturity are required. This course is not open to CS majors.
02-223 How to Analyze Your Own Genome - Fall 2014 - TR 3:00-4:20
Do you want to know how to discover the tendencies hidden in your genome? Since the first draft of a human genome sequence became available about a decade ago, the cost of genome sequencing has decreased dramatically. It is expected that personal genome sequencing will become a routine part of medical examinations for patients in clinics for prognostic and diagnostic purposes. Personal genome information will also play an increasing role in lifestyle choices, as people take into account their own genetic tendencies. Commercial services such as 23andMe have already taken first steps in this direction. Computational methods for mining large-scale genome data are being developed to unravel the genetic basis of diseases and to assist doctors in clinics.
This course will introduce students to the biological, computational, and ethical issues that concern the use of personal genome information in health maintenance, medical practice, biomedical research, and policymaking. The course will focus on practical issues, using individual genome sequences (such as that of Nobel prize winner James Watson) and other population-level genome data. Without requiring any background in biological or computational sciences, the course will begin with an overview of topics from genetics, molecular biology, statistics, and machine learning that are relevant to the modern personal genome era. The class will then cover scientific issues such as how to discover your genetic ancestry, how to learn from genomes about the migration and evolution of the human population, and how natural selection shaped our genomes. The class will then discuss medical aspects such as how to predict whether you will develop diseases such as diabetes based on your own genome, how to discover disease-causing genetic mutations, and how the genetic information can be used to recommend clinical treatments. It will close with consideration of the complex policy issues that our society will face as this personal genomics revolution unfolds. The grading will be based on weekly homework, a midterm, a final exam, and class participation.
There are no prerequisites for this course. This course counts as a CSD Science and Engineering requirement, and a Dietrich College Modeling/Other Gen Ed requirement.
02-250 Introduction to Computational Biology
This is a 12-unit class intended to provide a general introduction to computational tools for biology. The course is divided into two modules, which may be taken individually as courses 02-251 and 02-252. Module 1 covers computational molecular biology/genomics. It will examine important sources of biological data, how they are archived and made available to researchers, and what computational tools are available to use them effectively in research. In the process, it will cover basic concepts in statistics, mathematics, and computer science needed to effectively use these resources and understand their results. Specific topics to be covered include sequence data, searching and alignment, structural data, genome sequencing, genome analysis, genetic variation, gene and protein expression, and biological networks and pathways. Module 2 will cover computational cell biology, including biological modeling and image analysis. The modeling component will include computer models of population dynamics, biochemical kinetics, cell pathways, neuron behavior, and molecular evolution. The imaging component will include morphological image analysis, image classification and image-based models. This course is intended primarily for biological sciences or biomedical engineering majors at the undergraduate or graduate level who have had little or no prior experience with computer science or programming. Students may not take both 02-250 and either 02-251 or 02-252 for credit.
This course counts as a CSD Science and Engineering requirement.
02-251 Introduction to Computational Molecular Biology
This 6-unit mini class intended to provide a general introduction to computational tools for biology with specific emphasis on molecular biology and genomics. Along with 02-252, it makes up one half of the full Introduction to Computational Biology, 02-250, although either half can be taken individually. 02-251 will examine important sources of biological data, how they are archived and made available to researchers, and what computational tools are available to use them effectively in research. In the process, it will cover basic concepts in statistics, mathematics, and computer science needed to effectively use these resources and understand their results. Specific topics to be covered include sequence data, searching and alignment, structural data, genome sequencing, genome analysis, genetic variation, gene and protein expression, and biological networks and pathways. This course is intended primarily for computational biology, biological sciences or biomedical engineering majors at the undergraduate or graduate level who have had little or no prior experience with computer science or programming. Students may not take both 02-250 and either 02-251 or 02-252 for credit.
Prerequisites: 03-121 or permission of the instructors
02-252 Introduction to Computational Cell Biology
This course presents an overview of important modeling and image analysis applications of computers to solve problems in cell biology. It is intended for students without computer programming experience Major topics covered are biological imaging (digital image processing, morphological image analysis, image databases, image classification and image-derived models) and biological modeling and simulation (including computer models of population dynamics, biochemical kinetics, neuron behavior, cell pathways, and the cell cycle). Required recitations consist of exercises making use of web sites and software packages for these applications. Course grade is based on recitation participation, homework assignments based on the exercises, and mid-term and final exams. Prerequisites: Modern Biology (03-121). Note that this course is the second half of 02-250 (Introduction to Computational Biology) and that credit may not be given for both 02-250 and 02-252.
02-261 Quantatative Cell and Molecular Biology Laboratory - Fall 2014 - Lecture M 6:30-8:20 - Lab T 6:30-9:20
This is an introductory laboratory-based course designed to teach basic biological laboratory skills used in exploring the quantitative nature of biological systems and the reasoning required for performing research in computational biology. Over the course of the semester, students will perform many experiments and quantitatively analyze the results of these experiments. Students will also have the opportunity to design experiments based on the data they collect. During this course students will be using traditional, well-developed techniques to answer open questions. What changes occur in the splicing of genes as an organism ages? What changes do cells undergo during apoptosis? Understanding the results of these experiments will require students to think critically about the results they generate, the appropriate controls required to confirm results, and the biological context within which these results were obtained. During this course students will gain experience in many aspects of scientific research, including: Sequencing and analyzing a large and diverse population of DNA, Designing and performing PCR for a variety of analyses, Maintaining cell cultures, Taking brightfield and fluorescent microscopy images, Developing methods for automated analysis of cell images, Communicating results to peers and colleagues.
Course Outline: (1) 3-hour lab per week (1) 1-hour lecture per week. 9 units. This course counts as a CSD Science and Engineering requirement as well as the lab requirement, and Dietrich College's Modeling/Science Gen Ed requirement.
02-317 Algorithms in Nature
Computer systems and biological processes often rely on networks of interacting entities to reach joint decisions, coordinate and respond to inputs. There are many similarities in the goals and strategies of biological and computational systems which suggest that each can learn from the other. These include the distributed nature of the networks (in biology molecules, cells, or organisms often operate without central control), the ability to successfully handle failures and attacks on a subset of the nodes, modularity and the ability to reuse certain components or sub-networks in multiple applications and the use of stochasticity in biology and randomized algorithms in computer science. In this course we will start by discussing classic biologically motivated algorithms including neural networks (inspired by the brain), genetic algorithms (sequence evolution), non-negative matrix factorization (signal processing in the brain), and search optimization (ant colony formation). We will then continue to discuss more recent bi-directional studies that have relied on biological processes to solve routing and synchronization problems, discover Maximal Independent Sets (MIS), and design robust and fault tolerant networks. In the second part of the class students will read and present new research in this area. Students will also work in groups on a final project in which they develop and test a new biologically inspired algorithm. See also: www.algorithmsinnature.org Pre-requisite: 15-210, no prior biological knowledge required.
02-422 Advanced Algorithms for Computational Structural Biology
This is a seminar-style course on the current literature in computational structural biology. Topics will include algorithms for designing drugs and proteins, as well as protein structure prediction and simulation. Students will be expected to read and discuss papers and complete a project of their own design. Open to students with backgrounds in computer science and structural biology, or by permission of the instructor.
02-450 Automation of Biological Research: Robotics and Machine Learning - Fall 2014 - TR 4:30-5:50
Biology is increasingly becoming a big data science, as biomedical research has been revolutionized by automated methods for generating large amounts of data on diverse biological processes. Integration of data from many types of experiments is required to construct detailed, predictive models of cell, tissue or organism behaviors, and the complexity of the systems suggests that need for these models to be constructed automatically. This requires iterative cycles of acquisition, analysis, modeling, and experimental design, since it is not feasible to do all possible biological experiments. This course will cover a range of automated biological research methods (especially high-throughput, robotic methods for protein structure determination, gene sequencing, cell-based drug screening, and nanoassays), and a range of computational methods for automating the acquisition and interpretation of the data (especially active learning, proactive learning, compressed sensing and model structure learning). It assumes a basic knowledge of machine learning. Class sessions will consist of a combination of lectures and discussions of important research papers. Grading will be based on class participation, homeworks, and a final project. Prerequisites: 15-122 or instructor permission.
02-500 Undergraduate Research in Computational Biology
This course is for undergraduate students who wish to do supervised research for academic credit with a Lane Center for Computational Biology faculty member. Interested students should first contact the Professor with whom they would like to work. If there is mutual interest, the Professor will direct you to the Lane Center Admin who will enroll you in the course.
02-510 Computational Genomics - Fall 2014 - MW 10:30-11:50
Dramatic advances in experimental technology and computational analysis are fundamentally transforming the basic nature and goal of biological research. The emergence of new frontiers in biology, such as evolutionary genomics and systems biology is demanding new methodologies that can confront quantitative issues of substantial computational and mathematical sophistication. In this course we will discuss classical approaches and latest methodological advances in the context of the following biological problems: 1) Computational genomics, focusing on gene finding, motifs detection and sequence evolution.2) Analysis of high throughput biological data, such as gene expression data, focusing on issues ranging from data acquisition to pattern recognition and classification. 3) Molecular and regulatory evolution, focusing on phylogene tic inference and regulatory network evolution, and 4) Systems biology, concerning how to combine sequence, expression and other biological data sources to infer the structure and function of different systems in the cell. From the computational side this course focuses on modern machine learning methodologies for computational problems in molecular biology and genetics, including probabilistic modeling, inference and learning algorithms, pattern recognition, data integration, time series analysis, active learning, etc.
This course counts as a CSD Applications elective.
02-512 Computational Methods for Biological Modeling and Simulation - Fall 2014 - TR 3:00-4:20
This course covers a variety of computational methods important for modeling and simulation of biological systems. It is intended for graduates and advanced undergraduates with either biological or computational backgrounds who are interested in developing computer models and simulations of biological systems. The course will emphasize practical algorithms and algorithm design methods drawn from various disciplines of computer science and applied mathematics that are useful in biological applications. The general topics covered will be models for optimization problems, simulation and sampling, and parameter tuning. Course work will include problems sets with significant programming components and independent or group final projects.
02-514 String Algorithms
Provides an in-depth look at modern algorithms used to process string data, particularly those relevant to genomics. The course will cover the design and analysis of efficient algorithms for processing enormous collections of strings. Topics will include string search; inexact matching; string compression; string data structures such as suffix trees, suffix arrays, and searchable compressed indices; and the Burrows-Wheeler transform. Applications of these techniques in biology will be presented, including genome assembly, transcript assembly, whole-genome alignment, gene expression quantification, read mapping, and search of large sequence databases. No knowledge of biology is assumed, and the topics covered will be of use in other fields involving large collections of strings. Programming proficiency is required.
02-530 Cell and Systems Modeling - Fall 2014 - Lecture TR 1:30-2:50 - Lab 1:30- 3:20
This course will introduce students to the theory and practice of modeling biological systems from the molecular to the organism level with an emphasis on intracellular processes. Topics covered include kinetic and equilibrium descriptions of biological processes, systematic approaches to model building and parameter estimation, analysis of biochemical circuits modeled as differential equations, modeling the effects of noise using stochastic methods, modeling spatial effects, and modeling at higher levels of abstraction or scale using logical or agent-based approaches. A range of biological models and applications will be considered including gene regulatory networks, cell signaling, and cell cycle regulation. Weekly lab sessions will provide students hands-on experience with methods and models presented in class. Course requirements include regular class participation, bi-weekly homework assignments, a take-home exam, and a final project. Prerequisites: The course is designed for graduate and upper-level undergraduate students with a wide variety of backgrounds. The course is intended to be self-contained but students may need to do some additional work to gain fluency in core concepts. Students should have a basic knowledge of calculus, differential equations, and chemistry as well as some previous exposure to molecular biology and biochemistry. Experience with programming and numerical computation is useful but not mandatory. Laboratory exercises will use Matlab as the primary modeling and computational tool augmented by additional software as needed.