CHM 579 Assignment #1

Molecular Graphics, Structure Refinement Server and Basic Monte Carlo


Due on Wednesday, Feb 1 2017 at 3:29 PM

The objective of this assignment is three-fold: first, to become familiar with protein structures and the Protein Data Bank, to try some of the programs used to display protein structures, and to learn how these programs can be used for research and understanding; second, to be able to use the existing online servers and interpret the results; third, to be able to run a simple program in the linux environment. These skills will form the basis of future assignments in the class.

The Protein Data Bank

The Protein Data Bank, or PDB, is the best place to obtain 3-Dimensional structures of proteins, nucleic acids, peptides and other macromolecules. From their site, you can locate proteins by keyword searching or by entering the accession number for the structure file, like 1mba. Most of the structures in the PDB were determined by X-ray crystallography or NMR spectroscopy with a growing trend of using Cryo-EM. Details on the molecules in the structure file, how the structures were determined, pertinent research articles, etc. can be found on the web site but also in the pdb file itself.

PDB files are just formatted text files, so you can open them in a text editor or even Word and read them. There is a wealth of information there! The molecular viewing programs use the ATOM records in the file, which contain residue name, residue number, atom name and atom number - all of which are important when selecting molecules or parts of them to visualize. Often, the structure files include other molecules besides the protein, such as water molecules, nucleic acid and bound ligands.

Molecular Graphics Programs

There are quite a few programs used to view molecules.. Each has its advantages and disadvantages. We provide links to the programs discussed in the lectures (and their manuals/documentation) on the Programs Page.
  1. PyMol

    PyMol is a relatively new and very promising molecule viewing program. It is available for all Unix/Linux platforms, Windows and Mac OSX. It uses a combination of menus, a powerful selection sidebar, demonstrated in the lecture, and a command line interface. It has a logging feature to remember commands as they are executed, allows for scripting and has a nice movie feature. We have created a PyMol tutorial for you to get started with the program. There is also a tutorial on the PyMol website. Also check out the PyMol Wiki for more help and tips.
  2. Visual Molecular Dynamics (VMD)

    VMD is new and very promising molecule viewing program developed at University of Illinois at Urbana-Champaign. It is available for all Unix/Linux platforms, Windows and Mac OSX. It uses a combination of three windows: a terminal window, a viewing window and a main window. The terminal window (DOS window on Windows machines) is useful in that error messages and command output. The view window is where your molecules will appear, and the main window is where most of the controls for VMD are found. We have created a VMD tutorial for you to get started with VMD. We strongly encourage you to go through the VMD tutorial also which can be found on the VMD website, if you need more information to create this assignment. VMD is a very important tool which would be helpful for further assignments as well.

There are a number of different molecular graphics programs out there (rasmol, molmol, swissPDBviewer, Chimera, to name a few) but we feel that Pymol and VMD together offer the best features for this course. You are free to experiment with other programs but for this assigmnet we require that you use VMD and Pymol.

Structure Refinement Server

The KoBaMIN server is an internet service for very fast protein structure refinement. The refinement protocol is composed of two steps: (1) energy minimization using a knowledge-based potential of mean force and (2) stereochemistry correction. Users submit one or more protein structures and KoBaMIN likely brings them closer to the native-like conformation. Energy minimization is a technique to relax the system of atoms by moving to a local minimum over the potential energy surface. This is achieved by moving the coordinates of atoms in order to reach the minimum of the potential energy surface. At the minimum of the potential energy surface, the gradient is equal to zero and the Hessian is positive definite. You will be using this refinement server on your choice of protein structures in the assignment outlines as follows.

Basic Monte Carlo Program

Monte Carlo is a method that involves random numbers and probability to solve problems in a variety of areas, including, computational chemistry, computational physics, finance, weather prediction, etc. You can read all about Monte Carlo here and we will also cover this topic in our lectures in detail. Here we want to compile and use a simple monte carlo program in a step-wise manner to understand the process of working in the linux environment, see the details of a simple program written in Fortran, and play with parameters to understand the results. A basic introduction to linux and other items for the linux environment is available here for your reference.

The Assignment

  1. Learn to download structure files. Some structure files are often provided with the viewer programs for demonstration purposes, but you should download the structures of different proteins from the PDB.

  2. Learn to use Two Different Molecule Viewing Programs (Pymol and VMD).


  3. Choose Two Protein Structures (of Two Different Proteins).


  4. Use the programs to generate illustrations of interesting aspects of the structure of these proteins.


  5. Run one of your favorite protein structure you have chosen for this assignment for structure refinement server using the KoBaMIN server and download the results when the job is finished.
  6. Follow the instructions and answer questions for the monte carlo program given in the PDF file here. We will go over this part in the lab session. This part of the assignment will help you get comfortable with the linux environment to run programs and interpret the output. The goal of this lab is to get familiar with a simple Monte Carlo program and to be able to compile and run it on a Linux server.
  7. Make a Web Page!


  8. How you will be graded:

Submit your work




Problems? Questions about the Page or the Class? Contact the instructor