Main
Home Page
Biomedical Informatics 214: Representations and Algorithms for Computational Molecular Biology
(also listed as Computer Science 274 and Genetics 214)
- NEW information for Fall 2011 now posted
General Course Information | Staff | Video Lectures | Discussion Groups | Description | Units | Grading | Exams | Late Policy | Partner Policy | Auditors | Prerequisites | Computer Resources | Accessibility | Code Policy | Textbook | Note on courses |
Russ B. Altman
Professor of Bioengineering, Genetics, & Medicine (and Computer Science by courtesy)
russ.altman at stanford.edu
Professor of Bioengineering, Genetics, & Medicine (and Computer Science by courtesy)
russ.altman at stanford.edu
Location:
Lecture: Tuesday and Thursday 3:15-4:30, Huang Engineering Center 18
Section: Fridays (when announced) 3:15-4:05 NVIDIA Auditorium (Python tutorial 10/7, Biology primer 10/14)
Section: Fridays (when announced) 3:15-4:05 NVIDIA Auditorium (Python tutorial 10/7, Biology primer 10/14)
Course Coordinator:
Tiffany Murray (tiffany.murray at stanford.edu)
Department of Bioengineering
Clark S170, MC: 5444
650-725-0659
Department of Bioengineering
Clark S170, MC: 5444
650-725-0659
Teaching Assistants:
Konrad Karczewski
Office Hours: Friday Noon - 1 PM. Clark S240
Sara Hillenmeyer
Office Hours: Thursdays 10:00am-12:00pm (except 10/6, will hold makeup hours 10/4 1:15-3:00pm). Clark S240.
Kenneth Jung
Office Hours: Tuesdays 11:00am-12:00pm. Gates 252
Office Hours: Friday Noon - 1 PM. Clark S240
Sara Hillenmeyer
Office Hours: Thursdays 10:00am-12:00pm (except 10/6, will hold makeup hours 10/4 1:15-3:00pm). Clark S240.
Kenneth Jung
Office Hours: Tuesdays 11:00am-12:00pm. Gates 252
Contacting the TAs: Most questions should be posted to the discussion boards. The staff mailing list is biomedin214-aut1112-staff at lists.stanford.edu. This list is for personal matters only. The staff will not respond to non-private questions on the mailing list, please post them to the discussion pages instead.
Discussion Pages:(top)
Discussion Groups
Please post questions about assignments on the piazza course page, so that all students can benefit from the answers. Students are encouraged to answer each other questions, for which participation points can be earned. The TAs will peruse these pages to answer clarification questions and to endorse student answers. We suggest that you use this to discuss projects and assignments with one another often, that will be your fastest way of receiving a response, especially when deadlines are coming up.
Mailing Lists
The mailing list is for private matters only. The staff will not respond to non-private questions on the mailing list. Use the Piazza page.
Please post questions about assignments on the piazza course page, so that all students can benefit from the answers. Students are encouraged to answer each other questions, for which participation points can be earned. The TAs will peruse these pages to answer clarification questions and to endorse student answers. We suggest that you use this to discuss projects and assignments with one another often, that will be your fastest way of receiving a response, especially when deadlines are coming up.
Mailing Lists
The mailing list is for private matters only. The staff will not respond to non-private questions on the mailing list. Use the Piazza page.
- Staff: biomedin214-aut1112-staff at lists.stanford.edu
Description: (top)
This course will introduce the basic computational issues and methods used in molecular biology, combining core lectures, programming assignments, with midterm and final. The course will introduce and use biological data sources available on the World Wide Web. Topics will include basic algorithms for alignment of biological sequences and structures, as well as more advanced representational and algorithmic issues in structure and sequence computation. These include, for example, dynamic programming algorithms for alignment, structural superposition algorithms, computing with distance information, 3D motif definition and computation, hidden Markov models, phylogenetic trees, statistical feature detection, genetic algorithms, design of data resources, automated analysis of biological literature, database integration, and collaborative environments for supporting biology.
Units:(top)
- This course is normally taken for 4 units.
- It can be taken for 3 units by arrangement with instructor ONLY.
- A lecture-only, no assignment participation may be taken for 1 unit by arrangement with instructor. Students must attend all lectures, absences must be approved by the instructor. Enroll in BMI 216.
Grading: (top)
The course will be graded by performance on short homework assignments (approximately 30%), long projects (approximately 45%), midterm (approximately 10%), final (approximately 10%), and participation (approximately 5%).
Participation is based on:
- attending class (with sign-in sheet)
- asking questions in class (identify yourself to Dr. Altman)
- and/or participating on course wiki
Exams: (top)
Midterm: Mon, 11/7/11, 7:30 - 9 PM, (LKSC 130)
Final: Weds, 12/14/11, 12:15 - 3:15 PM (Skilling Auditorium)
Late Policy: (top)
Each student is granted 168 "free" late hours that can be used as extensions for any project or assignment. (Note that this is a total of 168 hours for the entire quarter, not per assignment). Late time will be measured with no distinction for weekends or holidays, and will be rounded UP to the nearest integer (thus, 10 minutes late = 1 hour late). After you use up all your free hours, your grade on late projects/assignments/exams will be reduced 0.5% for each late hour. Extensions beyond the 168 free hours may be granted at the discretion of the instructor (not the TAs) and must be requested prior to the due date.
Partner Policy: (top)
For assignments:
Students may discuss and work on problems in groups but must write up their own solutions. When writing up the solutions, students must write the names of people with whom they discussed the assignment.
Students may discuss and work on problems in groups but must write up their own solutions. When writing up the solutions, students must write the names of people with whom they discussed the assignment.
For programming projects:
Students may discuss ideas with others. However, programs are to be completed independently and should be original work. Code may not be shared. Names of students with whom programming ideas were discussed should be included with assignment and explicitly indicated in the header comments of all source code files.
Students may discuss ideas with others. However, programs are to be completed independently and should be original work. Code may not be shared. Names of students with whom programming ideas were discussed should be included with assignment and explicitly indicated in the header comments of all source code files.
Auditors: (top)
Auditors for the course should take it for one unit as BMI 216. This course requires attendance at lectures, sign-in at each lecture (approval for missing a lecture), but does not require completion of homeworks or tests. It is for one unit, received for attending all lectures. Auditors who want to sit-in on the course but not be officially signed up for 1 unit of credit should get approval from Dr. Altman, and will also be asked to attend all lectures, sign-in, and not do the homeworks or tests.
Prerequisites: (top)
- Programming skills are required at the level of CS106A/CS106B or CS106X. This course has a significant component of programming, and so students should enter it with ability to create moderately complex data structures, and implement algorithms using these data structures. Acceptable languages are outlined in the code policy.
- Biology 40 or equivalent is recommended, since we will quickly move through many biology topics. It may be useful to have a textbook of molecular biology for reference during the course, for those who do not think about biology very much. We will have TA sessions devoted to biology brush-up.
Computer Resources: (top)
You will need to have access to email (be sure you're registered on Axess so that you get email announcements sent to the course list), the course website, and the Stanford cardinal machines. All of these resources are available to Stanford students at Sweet Hall and elsewhere as well as through remote (ssh) access. To log in, you will need to use your SUNet ID. If you don't have a SUNet ID, see http://sunetid.stanford.edu ASAP. To log in to the "cardinal" cluster machines, use a secure shell (ssh).Windows: You will have to download a terminal emulation that allows ssh. Stanford offers a few free ones here; a popular ne is PuTTY. Directions for using Putty to connect to cardinal:
1. Under "Host Name", enter cardinal.stanford.edu
2. Under "Protocol", choose SSH
3. Press the "open" button.
A terminal window should appear, connected to cardinal. Putty will tell you if there was an error.
On OS X, Unix, Linux:
1. Open a terminal window
2. Type "ssh sunetid@cardinal.stanford.edu"
For more information on the various campus computers you can access:
Some course material will be placed on the course website in *.pdf (Adobe Acrobat) format, which allows the documents to be read on multiple platforms. Readers are available for free for Windows, Macintosh and many Unix platforms at the Adobe website.
You will also need to be able to transfer files to the cardinal machines using SFTP. If you are on a computer with command line scp you can transfer a file, assignment.zip with:
$ scp assignment.zip sunetid@cardinal.stanford.edu:~/
Or there are GUI sftp clients files available:
For Mac OS X: http://cyberduck.ch/
For Windows: http://winscp.net/eng/index.php
There are also other options available from the stanford IT web sites:
Accessibility: (top)
Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Office of Accessible Education (OAE). Professional staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is being made. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations. The OAE is located at 563 Salvatierra Walk; phone: 723-1066; web site http://studentaffairs.stanford.edu/oae.
Code / Language Policy: (top)
Familiarize yourself with the Code/Language Policy before choosing a language and starting the first programming assignment.
Optional Course Textbook: (top)
Durbin, R., Eddy, S.R., Krogh, A., Mitchison, G., Biological Sequence Analysis : Probabilistic Models of Proteins and Nucleic Acids. 1999, Cambridge Univ Pr. ISBN: 0521629713Other Recommended books:Beazley, David M., Python Essential Reference, 3rd ed., SAMS Publishers, 2006. Chapter 1 is an excellent tutorial and introduction to Python, and overall, this can be a valuable reference when coding.Kohane, I.S., Kho, A., Butte, A.J., Microarrays for an Integrative Genomics (Computational Molecular Biology). 2002, MIT Press. ISBN: 026211271X.Mount, D.W., Bioinformatics : sequence and genome analysis. 2nd edition (July, 2004), Cold Spring Harbor Laboratory Press. ISBN: 0879696877.Bourne, P.E., Weissig, H. (editors), Structural Bioinformatics. 2004, John Wiley & Sons. ISBN: 0471201995. This book is also available from the Wiley Interscience website at http://www3.interscience.wiley.com/cgi-bin/homepage/?isbn=0471721204 via the campus network.
Note on courses in computational biology: (top)
BMI 214 (also listed as CS 274) is this course. It has been taught since 1996 and is an introduction to representations and algorithms for analysis of sequence, structure and function. It requires programming skills and aims to give an understanding of the biological problems that arise, and how algorithms are developed to address them. It does not train students to be expert users of tools, but gives them an in-depth knowledge of some tools and a broad introduction to the technical issues in analysis of biological data. It is taught live on Tuesdays/Thursdays and is also on Stanford Online. Section is taught on Friday mornings. Biochem 218 (also listed as BMI 231) is Doug Brutlag's course introducing computational molecular biology, also a number of years old. It is more geared towards gaining an expert understanding of existing tools and databases, and as such complements BMI 214 very nicely. There is no programming required. Most students take both eventually and learn a lot--even the areas where there is overlap are presented differently enough to round out one's understanding. For logistical reasons this course is also being taught on Tuesday/Thursday, and is on Stanford Online.CS 262 (Computational Genomics) is Serafim Batzoglou's course. It focuses principally on algorithms for sequence assembly, analysis and comparison. It will have a strong CS algorithms and data structures component, probably with an element of software engineering as well. It is likely to complement both courses, although in the future, about 1/3 of BMI 214 may overlap sufficiently to require coordination--the part about sequence and string analysis. The coordination has not been done as of now, however. It does not contain much on 3D structure computation and functional computing, judging from the syllabus. The course will be taught live. You should ask Prof. Batzoglou about his plans to offer it via Stanford Online.