NRPS design
redesigned GrsA-PheA active site
1hpv structure
HIV-1 protease + drug
aquaporin dynamics
aquaporin simulation

Course description

Computational methods are helping provide an understanding of how the molecules of life function through their atomic-level structures, and how those structures and functions can be applied and controlled. This course will introduce the wide range of complex and fascinating challenges and approaches in computational structural biology, and will give hands-on experience applying and implementing some important methods.

Administrative info

Gevorg Grigoryan | 113 Sudikoff | office hours: by appointment
Class Meetings
2A Period | TuTh 2:00-4:00 | room: Rockefeller 003
Each class meeting will include a combination of lecture and hands-on work on structural analysis.
None required; we'll be reading papers, and lecture notes will be provided. A good intro to protein structure is recommended to pick up the background, as neeeded. We will bring some for you to peruse.


The coursework consists of the following:

Short assignments (30%)
These will introduce various types of structural analysis, and will require you to apply existing tools to answer specific questions.
Labs (60%)
These are longer assignments to provide in-depth experience with methods and how they work, and will require you to implement specific methods and/or perform more detailed computational structural analyses.
Participation (10%)
This is some encouragement to participate in class (asking questions, pointing out potential pitfalls, characterizing strengths, etc.) as well as outside of class (suggesting examples, pointing out significant applications and recent developments, finding related materials, etc.).

Assignments are to be turned in via Canvas before class on the due date. Ample time is provided for each assignment, so in general, late submissions will not be accepted. Under extenuating circumstances, arrangements must be made with the instructor before the due date.

Students from other related disciplines are encouraged to take the course. Naturally, a basic understanding of the underlying computational techniques is expected. The homework assignments will require some coding, so programming experience is necessary. Please contact the instructors to discuss your background and interests.

The course is dual-listed as CS 86 for undergraduate students and CS 186 for graduate students. Grades will be handled separately, and each assignment will specify additional requirements for graduate students.

Honor code

Dartmouth's honor code applies to this course, and academic misconduct policies will be strictly enforced. If you have questions, ask!

You may discuss the assignments with other current CS 86/186 students, but your submission must be entirely your own. As part of a discussion, you may show (in person) another student your work. However, your submission must be created and documented by you alone. You may not copy anything directly from another student's work. Discussion of the assignments is encouraged, subject to these rules; such discussion will be most useful when both students have already made serious attempts to solve the problems on their own.

If you make use of any code that is not your own, you must clearly attribute the source of the code with clear comments in the code that you submit. You do not need to acknowledge discussion with other students on your submitted work. Proper respect for copyright laws as applied to printed materials and software products is subsumed by Dartmouth College's Computing Policies.


Students with disabilities enrolled in this course and who may need disability-related classroom accommodations are encouraged to make an appointment to see the instructor before the end of the second week of the term. All discussions will remain confidential, although the Student Accessibility Services office may be consulted to discuss appropriate implementation of any accommodation requested.