Course Location: Classes are held in Halligan Hall. Labs will be held in the Windows lab, Halligan 122, and the remaining class periods we will meet in room 108. You are also welcome to use any of the Halligan computer labs (rooms 116-122) at any time when they are not reserved for a class (see schedule here). Your ID will be coded for after-hours Halligan access provided that you are registered for the class in SIS; usually this happens a few days into the semester.

Course aims: This course is designed to introduce future biological scientists and physicians to bioinformatics tools, analysis methods, "systems thinking," and simple computer scripting. Upon completion of the course, students should be able to:

  • think about biomedical questions in the context of relevant available information,
  • utilize, and interpret results of, several current bioinformatics tools, and
  • write simple Python scripts to manipulate data.

Course strategy: This is a very hands-on class. To prepare for class meetings, students will complete reading assignments and assigned units in CodeAcademy's Python course, as indicated in the schedule. CodeAcademy offers online tools to introduce programming concepts in a closely-guided, interactive format with immediate feedback. Class time will then be used to clarify, refine, and extend the material introduced in these units and in the reading.

There will be several homework projects, some of them longer assignments broken up into smaller pieces. There will also be computer labs that will allow you both to explore some of the bioinformatics tools we are discussing and to develop your Python scripting abilities. Dates for lab classes are in the schedule as well; they are some Wednesdays, but not all or only Wednesdays. Labs are designed to help you develop essential skills that you will need to complete the homework projects.

Lab work may also be completed on students’ own machines. Some lab assignments will be completed in pairs - students will work with different lab partners throughout the term. Homework projects, however, should be completed on your own, and all assistance you receive should be documented.

Prerequisites: Bio 41 or BME 62 or equivalent (by consent). We will assume some background in molecular biology and genetics. There are no computer science prerequisites for this course. Note: If you have completed comp 15, you should not take this course. Comp 167 will be offered in the spring and is a much more suitable course for those with a solid computer science background.

Asking questions and getting help: We encourage you to ask questions about the material. There is a forum on the class Trunk site that can be used for general course-related discussion. If you ask questions here, you can get help fast and efficiently from classmates, the TAs, and myself. If you have a question that you do not wish to share with other students, we suggest emailing the course staff list at rather than emailing content-related questions to individual members of the teaching staff.

Required: Bioinformatics and Functional Genomics (3rd edition) by Jonathan Pevsner, Wiley-Liss, ISBN# 978-1-118-58178-0.
Recommended: Learning Python (5th edition), by Mark Lutz O’Reilly, ISBN# 978-1-4493-5573-9.

Electronic copies of texts: Learning Python is available online (for free) through Tufts’ subscription to Safari. To access it, you must be logged in to a Tufts computer, i.e., somewhere on campus. Then go to and type “Learning Python” into the Search box on the upper right side. You can also find it on our Links page. Copies are also available in the bookstore for those who prefer to have paper copies of reference books or who live off-campus and find access through Safari inconvenient.

There is a much-expanded new edition of Bioinformatics and Functional Genomics out this year, so please do not purchase earlier editions: the readings are not the same. We do have an ebook license through the library system for limited numbers of simultaneous users, also available through the Links page. However, if you have any interest in continuing in this area, this is a useful textbook to have around. You may find it in the bookstore or for purchase online.

For further reading, here are a few other good references, some of which inspired some of the questions we'll explore in in the lab assignments: Exploring Bioinformatics: A Project-Based Approach (2nd Ed.), by Caroline St. Clair and Jonathan E. Visick; Practical Bioinformatics, by Michael Agostino, and Understanding Bioinformatics, by Marketa Zvelebil and Jeremy Baum.

Labs: Attending the lab periods is mandatory. In some cases, you will be assigned a lab partner for the day; your partner will be counting on you to be there. Submit your individual or joint work via Trunk by the end of the class.

Labs are graded in binary: either you submitted a lab writeup representing a good faith effort to complete the work and learn the material, or you didn't. (If you are submitting an assignment for two or more people, each of you should upload the same files, which should bear both your names.) However, we will try to provide informative feedback about points of confusion in your submissions to help you learn.

If you didn't finish the lab assignment during lab period, submit what you have at the end of class. However, we recommend that you try to finish the lab on your own as soon as possible, so that you are prepared for the project assignments that build on it. Each lab will also include a "Going Further" section for people who can complete the basic work quickly and want a deeper challenge. This work is not required.

Computational Resources : You will need access to a computer with an internet connection. You will be given a computer account for use on the departmental linux machines, along with a separate Windows account. If you would like to work on the labs and projects on your own machine, you will need a web browser and the ability to install your own software. Help installing software on portable machines will be provided as needed during the term, but may best take place during office hours rather than class time. However, we encourage you to use the lab machines so that you needn't worry about software availability.

Quizzes: Instead of exams, we will have half-hour, in-class quizzes every couple of weeks; dates are on the schedule. We will drop everyone's lowest quiz grade automatically, and will therefore not hold make-up quizzes without a request from your Academic Dean.

Grading: Grades will be based on homework project assignments (60%), quizzes (30%), and lab work / class participation (10%).

Keeping Up: Completion of all lab exercises will be essential preparation for the projects. Thus, if you miss class and cannot complete a lab assignment on time, you should plan to get the notes from a classmate and do the lab work on your own prior to attempting any subsequent projects. Material builds consecutively, so trying to complete assignments out of order may be difficult. If you are ill or otherwise have to miss class for an extended period, have your Academic Dean contact me and we will work out a plan to help you catch up.

Late policy: Project assignments handed in after the start of the class period in which they are due will be marked down 3% for each day they are late. (For simplicity, the "first day" is deemed to run from the beginning of the class in which the assignment is due until midnight the following day; subsequent days are counted from midnight to midnight.) Labs are due the day that they are assigned; turn in what you have at that point.

Collaboration Policy: All written work submitted should be your own unless it is a collaborative assignment (e.g., many of the labs will be done in pairs), or unless you obtain prior permission to collaborate. You are free to discuss assignments with others in the class unless specifically asked not to, but you must write up your solutions, lab notes, and code yourself. When you are working on a lab assignment as part of a team, you will write up your solutions together; all submitted text and code should have been written only by those whose names are associated with it. Discussions with others are encouraged during lab sessions, but do your own writing and appropriately acknowledge or cite any resources you used. Quizzes, of course, should be completed on your own.