Date of Award


Document Type

Thesis (Undergraduate)


Department of Computer Science

First Advisor

Gevorg Grigoryan


This project is a continuation of the Grigoryan Lab's exploration of TERMs. A TERM is a tertiary structural motif, which is a fragment of a protein that includes the secondary, tertiary, and quaternary environments around a certain residue. As displayed in past publications discussing TERMs, they are a useful way of decomposing proteins into smaller components that help in understanding design and prediction of protein structures. The Grigoryan Lab developed a database that keeps track of naturally occurring overlaps between TERMs, which gives a user the information they would need to put these TERMs together into complex structures. These events led to the development of this project: The Protein Builder. The Protein Builder is a plugin for the molecular visualization software PyMOL that allows a user to build protein structures out of TERMs based on the database of overlaps. The Protein Builder is a Python program that implements a PyQt UI. Using the program's menu and PyMOL's interactive display of atomic structures, users can build structures from scratch, or save/load structures to build off of. The PyMOL client communicates with a server that contains the database, manages the state of a user's project session, and provides recommendations of TERMs to continue building with. The program is very useful to users with research needs, such as users wishing to use TERMs to learn more about protein structure & design or users that wish to design proteins that include certain residues or certain functionality.


Originally posted in the Dartmouth College Computer Science Technical Report Series, number TR2018-862.