Announcements

No Prof Cowen office hours on Fri in April: if you can't come to Tues office hours, email and we'll schedule a separate time.

No class on Tues 2/23: University closed for snow!!!

Prof. Cowen office hours will be held from 1:30-2:30pm as usual, but on zoom: The class Zoom link is on the private class materials page,

Please note: in the unlikely event we are closed for snow again on 2/25, I will teach Thursday's class on zoom so we don't get too far behind.

Course Aims and Description

This is a computer science elective aimed at upper level undergraduates and graduate students. Upon the completion of the course, students will be able to:

Mastery of these aims will be achieved and assessed through readings, discussions, homeworks, an in-class midterm, and a group final project. In addition, graduate students enrolled in the class will be responsible for collaboratively with the instructor producing a set of polished scribe notes for one lecture, that can be handed out to the class (volunteers taken at the beginning of class; come early if you want to be the scribe that day). A theme of the course this semester will be computational methods for protein function prediction. However, we will endeavor to survey many different subareas of computational molecular biooogy, from molecular sequences and sequence manipulation; to protein structure prediction, to transcriptomics and comparative genomics. We will talk about scalability and how and when approximate solutions are appropriate. In addition, we will introduce some ongoing areas of research in the fields of bioinformatics and computational biology.

Students will be expected to contribute to class discussion and group activities, to do the assigned reading, and to read supplementary background materials as they find necessary.

Course Staff and office hours:

Professor Lenore Cowen is the course instructor.

CS PhD student Di Zhou will be our graduate teaching assistant. TA office hours: see below.

Email addresses are firstname dot lastname at tufts dot edu, or you can reach us on Piazza.

Instructor Office Hours: Tuesdays, 1:30-2:45pm, or by appointment. Dr. Cowen's office hours will be held in JCC 540A Zoom office hours (any day that we have classes online, or by request) and online appointments will be at my personal Zoom room (see private course page for links).

TA Office Hours: Wednesdays noon-1pm and Thursdays, 1:30-2:30pm. Di Zhou's office hours will be held in JCC 540F.

Course Requirements

Prerequisites: CS 15 or programming competency in some other programming language at the level of CS15 or graduate standing in Computer Science, or permission of the instructor. CS160 as a prereq or coreq is helpful.

No biology background required!

Graduate standing in a related field (Biomedical Engineering, Biology, Genetics) may be sufficient providing your computer programming background is strong enough and you know something about algorithm analysis; check with the instructor, and read the following paragraphs first.

Homework assignments will include several implementation projects in Python. We will learn about algorithms in class and in the readings, but you will then be expected to implement them from scratch and apply them, without much formal help in designing the code.

Also essential will be some basic understanding of algorithm analysis, as is typically covered in CS 15. You should be familiar with asymptotic analysis of algorithmic running times and Big O notation, at least at an introductory level. CS 160 (Algorithms) is helpful but not essential as a prerequisite; material used here will help you when you take Algorithms if you have not yet done so.

Readings: The course textbook is Understanding Bioinformatics by Marketa Zvelebil and Jeremy O. Baum, published by Garland Science (a subsidiary of Taylor & Francis Group). Copies of the text should be available in the Medford campus bookstore, or you can order or rent a copy online. Online orders are typically available immediately.

Readings from this text will be listed in the schedule where appropriate. Supplementary readings from the literature or from some of the recommended textbooks listed below appear on the schedule as well.

If you have no biology background, you may want to supplement the readings as well by getting a good introductory molecular biology text.

We will do two or three collective "journal club" activities to introduce some class material. These dates will be announced on the web schedule. Please read the the journal club papers listed in the schedule before class on the indicated day. During class, you will be assigned to join a group of students. Each group will be given a slide with questions on it about some aspect of the paper. You group will collaboratively edit the slide with answers to the questions on that slide. We will then have each team present their slide in order, making up a presentation covering the key points of the whole paper.

Other recommended books:

Computational resources:


Policies

Grading: Grades will be based on homework assignments (35%), including both written and programming components, an in-class midterm (20%), the group final project (35%), and class participation (plus scribe notes for grad students) (10%).

Late policy: Submissions are due by 10pm on the indicated date; Gradescope's timestamp is official. HW will be accepted up to a week late, but will be marked late by Gradescope. While submitting 1 hw 3 days late will not affect your hw grade, and 1-2 homeworks 1-2 hours late will not affect your homework grade, consistent submission of multiple homeworks many days late will lead to a late penalty on your hw grade.

Turning work in on time is important for consistency in grading, because it allows us to discuss homework content in class in a timely fashion. Content builds on previous material, so it is important to figure out quickly if you are lost.

As usual, in the case when your studies are interrupted by serious illness or other truly exceptional circumstances (e.g., situations where your Academic Dean is involved), let us know and we will work something out.

Diversity, Inclusion, and Collegiality: Tufts, the Computer Science Department, and the course staff intend to create a welcoming environment in which all students feel supported and believe that their learning needs and perspectives are valued. We intend to present materials in ways that are respectful to students of any background, ethnicity, race, culture, gender, sexual orientation, or age. We welcome your suggestions on how to improve course effectiveness for yourself or others. If you have religious conflicts with class meetings or requirements, please connect with the course staff.

In this class, we will encourage questions, discussions, and some assignments that involve interacting in groups. While disagreements and differing opinions can be an important part of the learning experience, we expect all students to treat each other with collegiality and respect. Please reach out to course staff if there are any issues with inter-student interactions. While we do not expect this will be necessary, please be reminded that we will, if needed, follow the steps outlined in Tufts' sexual misconduct and non-discrimination policies.

Please also be aware that Tufts faculty are "mandated reporters": if we see, hear, or learn about any kind of discrimination or sexual misconduct, we are required to report it to the university. If you would prefer to access confidential counseling for an issue, you can find relevant resources here.

Accomodation for Students with Disabilities: Tufts University values the diversity of our students, staff, and faculty, recognizing the important contribution each student makes to our unique community. Tufts is committed to providing equal access and support to all qualified students through the provision of reasonable accommodations, so that each student may fully participate in the Tufts experience.

If you have a disability that requires reasonable accommodations, please contact the Student Accessibility and Academic Resources (StAAR) Center or call 617-627-4539 to make an appointment with a StAAR representative to determine appropriate accommodations. Please be aware that accommodations cannot be enacted retroactively, making timeliness a critical aspect for their provision.

In addition to following the standard procedures, if you have a disability and would like to discuss how we can better support your learning, please feel free to set up an appointment with course staff.

Academic Integrity: The Tufts academic integrity policy and code of conduct appears here. In particular, plagiarism will not be tolerated. Submitting as your own any written work or code that you did not write yourself, without the help of any other person or entity, is a violation of the academic integrity process. In general, this course follows the real world rules for research in computational biology: you can use anything you like that is available to you with permissions that grant you use for free HOWEVER, everything you use YOU MUST CITE. Any tool or code that is free for academic use is fine (read the conditions: must be free for academic use no strings attached. Nothing you have to pay for), but must be cited properly. Any ideas that come from papers, course staff, fellow students is fine to use with citation and acknowledgement: if it's a fellow student also explicitly get their permission to use. This is a very different policy from most Tufts classes: most Tufts classes (even most Tufts classes that I teach!) do not allow you to use things you did not generate yourself, so please make sure you understand the policies in all the Tufts class you take and that this class is atypical.

Please be aware that if Tufts faculty find evidence of academic misconduct, we are required to report it to the university. Penalties can be truly draconian. The time you save in using someone else's work will be lost ten times over as you work through the academic integrity process. So please, don't put yourself through it. We are eager to help you learn what you need to in order to complete complete the work in compliance with our course policy.

Collaboration Policy: All written work and code submitted should be your own 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 answers and code yourself. You may use publically available code with citation; you may not copy code written by other students for homework assignments.

We reserve the right to use computational tools to identify instances of plagiarism or materials (text or code) first written by someone - or something - else, whether published online or previously or concurrently submitted at Tufts. We may make use of plagiarism or similarity detection tools such as TurnItIn, Moss, GPTZero, or other methods to detect inappropriate conduct. We also reserve the right to ask you to verbally explain, in person, any content you submit under your name.

All sources used should be cited. In other words, if you discuss a homework problem with a classmate, you should list that classmate as one of your references for that problem. Please also be warned that not everything you read online is correct. (This is true of print sources as well, but the risk increases greatly online.) Chatbots notoriously hallucinate. Even data from supposedly reputable sources, such as slides posted by faculty at Tufts or other universities, may not have been reviewed by an editor and might contain crucial mistakes. For this reason, I'd like to discourage you from using Google to tackle the problem sets, but if you choose to do so, you must cite the URL(s) that you used. Directly copying text or code from any source without attribution is plagiarism and will be dealt with accordingly.


Course Materials

For homeworks, slides, and other class information, go to the private course materials page. You will need to log in using your CS department account and password. An account will be created for all students registered for the course in SIS who do not already have one.

Tentative Course Schedule:

Updates will occur during the term: check back frequently. Shaded rows refer to past dates.
Hwk 1 due <
DATE TOPICS READING OPTIONAL READING
Week 0: Thurs., Jan. 15 Class overview and administrivia.
Introduction to the class: datacentric view of computational biology and the central dogma.
This course Syllabus.
Zvelebil & Baum (ZB): Chapter 1 and Section 4.1
For CS students new to biology: Larry Hunter's article, Molecular Biology for Computer Scientists.
For bio or BME students or others with less formal CS background: either Corman, Leiserson, Rivest and Stein Chapters 2 + 3, or Jones and Pevzner, Chapter 2: Bio O notation, NP-completeness.
Week 1: Tues., Jan. 20 and Thurs Jan 22 Sequence similarity and search. Sequence alignment:
Global alignment. Dynamic programming.
Hwk 1 out
This course syllabus
ZB: Sections 4.2, 4.5 (pp. 87-89 only); 5.2 (pp. 127-135 only)
Global alignment: Durbin, pp. 17-22.
Thurs., Jan. 23 Local alignment. Scoring schemes, gaps. ZB: Sections 4.4, 5.2 (pp. 135-140), Local alignment: Durbin, pp. 23-24, 29-30
Tues., Jan. 27 Scoring matrices, PAM and BLOSUM. ZB: Sections 4.3, 5.1
Thurs., Jan. 29 Database search: introduction, BLAST
ZB: 4.6-4.7, 5.4
Tues., Feb. 3 BLAST scoring, Information content; FASTA Altschul's tutorial on statistics of sequence similarity scores. Altschul's slides on information theory, scoring matrices, and E-values.
Thurs., Feb. 5 Multiple sequence alignment: introduction, star alignment, scoring, NP-completeness
Hwk 2 out
Ron Shamir's MSA notes ZB: 4.5 (pp. 90-93), 6.4-6.5; Durbin, 6.1--6.4
Tues., Feb. 10 Multiple sequence alignment continued
Thurs., Feb. 12 Group project synch up session
Tues., Feb. 17 TBA
Thurs., Feb. 19 No class: Tufts on a MONDAY schedule
Tues., Feb. 24 No class: Tufts closed for snow
Thurs, Feb. 26 Gene expression: RNA sequence alignment; clustering and classificatio ZB: 16.2-16.3, 16.5 Golub and Slonim et al., on leukemia classification