BioSci 1540

Introduction to Biomolecular Simulation

Prepare our Model for Simulation

Initial notes

  • The Tk Console is a terminal-like window that you can access in VMD via the drop down menu Extensions in the VMD Main window. You can execute both unix commands, and specialized VMD commands in this window
  • MAKE SURE to upload your Model folder to your folder on our Box share before you leave today!!!

Download files

First off - create:

      • Create a new word file to answer the questions in this lab and name it [LastNames]MD1.docx
      • (make sure all last names of your group are included in file names above)
      • RIGHT BEFORE YOUR GROUP LEAVES TODAY, make sure to save this folder to someone's pitt.box.com!!!

Then download an archive of files we'll be using by going to: https://github.com/synapticarbors/BioSci1540/zipball/master

The archive will be named something like synapticarbors-BioSci1540-XXXXX.zip, double-click on it to extract a similarly named directory. Rename this extracted directory MDT, and place it on your desktop. From now on, we'll refer to this MDT folder as $MDT

Take quick look inside $MDT - today we'll be creating files inside the $MDT/model_files folder

Construct initial model for gramicidin in membrane and solvent

If we were setting up a system entirely from scratch, we would likely begin with a set of coordinates from the Protein Data Bank. The experimental structure might be missing the coordinates for a subset of the residues, and would be lacking solvent and lipids and probably would not contain the positions of any hydrogens in the protein. Due to the time constraints of the lab, you will begin with a system in which gramicidin has already been embedded in a DMPC lipid bilayer with water and ions, although hydrogen atoms have not been added yet. Take a moment to look at the page for 1JNO structure of Gramicidin A on the PDB website, whose coordinates provide the initial structure of the protein. http://www.pdb.org/pdb/explore/explore.do?structureId=1JNO

QUESTION 1: What experimental method was used to determine the structure of 1JNO?

Create "Protein Structure File" and add hydrogens

While the .pdb file tells NAMD the initial coordinates to begin the simulation with, we also need to provide it with a "protein structure file" that tells it which atoms are bonded, which are connected via an angle spring, etc. This file carries a .psf extension and can be created using the psfgen tool that comes with VMD. This tool can also be used to add hydrogen atoms to the system.

In the Tk Console, first change directories to $MDT and then load the starting coordinates:

Tk Console
1
2
cd $MDT/model_files
mol new gramicidin_initial_struct.pdb

Take a moment to look at the structure - try creating three Representations with these terms in the Selected Atoms field:

      • water
      • protein
      • lipid
    Then double-click on each Representation to hide/reveal them.

The first thing we'll do is split the structure into different subsets and create separate .pdb files for each. We'll use the VMD command atomselect to select the different molecules, and writepdb to create a pdb from each selection.

Tk Console
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
set wat [atomselect top "water"]
$wat writepdb wat.pdb

set lip [atomselect top "lipid"]
$lip writepdb lipids.pdb

set ga1 [atomselect top "segname GA1"]
$ga1 writepdb  ga1.pdb

set ga2 [atomselect top "segname GA2"]
$ga2 writepdb  ga2.pdb

set cl [atomselect top "resname CLA"]
$cl writepdb  cl.pdb

set pot [atomselect top "resname POT"]
$pot writepdb  pot.pdb
      • Visualize the final four atomselect commands above by creating four more Representations with their SELECTION in the Selected Atoms field
          • segname GA1 = The first half of our Gramicidin protein
          • segname GA2 = The second half of the Gramicidin protein
          • resname CLA = Chloride ions
          • resname POT = Potassium ions
          • (Note: the ions don't have bonds, so will be invisible under lines/bonds drawing methods==> try VDW for them)

To generate the psf , load thepsfgen tool:

Tk Console
1
2
package require psfgen
resetpsf

and a topology file. This topology file shows how many different and molecules (like amino acids) should be built ==> such as what atoms lysine should contain, and how they should be connected through chemical bonds.

(we'll also define three aliases - to help translate between pdb and topology naming syntax):

Tk Console
1
2
3
4
5
topology ../toppar/top_all27_prot_lipid_gram.inp

pdbalias residue DLE LEU
pdbalias residue DVA VAL
pdbalias atom ETA O OG

The following set of commands will load all the molecule names from our .pdb into psfgen, which will check them against the topology file for any mistakes.

    1. notice water is referred to as "TIP3", and lipids as "MEMB" below.
    2. For some of the commands below, you'll get a ton of frightening warnings about explicit angles or poorly guessed coordinates ==> these are expected.
Tk Console
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
segment GA1 {
first NONE
last NONE
pdb ga1.pdb
}

segment GA2 {
first NONE
last NONE
pdb ga2.pdb
}

segment TIP3 {
first NONE
last NONE
pdb wat.pdb
}

segment MEMB {
first NONE
last NONE
pdb lipids.pdb
}

segment CLA {
first NONE
last NONE
pdb cl.pdb
}

segment POT {
first NONE
last NONE
pdb pot.pdb
}

Then we'll load our current atomic coordinates of each segment into psfgen:

Tk Console
1
2
3
4
5
6
coordpdb ga1.pdb GA1
coordpdb ga2.pdb GA2
coordpdb wat.pdb TIP3
coordpdb lipids.pdb MEMB
coordpdb cl.pdb CLA
coordpdb pot.pdb POT

And ask psfgen to create coordinates for any atoms missing from our molecules (e.g. hydrogen atoms):

Tk Console
1
guesscoord

Then let psfgen to create a brand new protein structure (.psf) and coordinate (.pdb) file for our entire system - in other words, exactly the input we'll need for a NAMD simulation.

Tk Console
1
2
writepsf gramicidin_model.psf
writepdb gramicidin_model.pdb

To make sure everything looks good visually - load our new model into VMD:

Tk Console
1
2
mol new gramicidin_model.psf
mol addfile gramicidin_model.pdb

(In the VMD Main window, double-click on the "D" to hide the gramicidin_initial_struct.pdb)

QUESTION 2: Did psfgen do a good job of selecting the positions of the hydrogen atoms for the water? Why or why not? (HINT: It may be easier to visualize the water if it is shown in the VDW or CPK representations).

Place a potassium atom in the channel

In order to investigate the behavior of a potassium ion (K+) in the channel, each group in the lab will place an ion at a different position in the channel. We will do so by swapping one of the K+ atoms in the bulk solvent for a water molecule in the channel.

First determine the outer boundaries of the protein by selecting its backbone atoms ==> then measuring their minimum and maximum values in the x, y, & z directions:

Tk Console
1
2
set prot [atomselect top "protein and backbone"]
measure minmax $prot

This will produce the minimimum and maximum values as two lists {xmin,ymin,zmin} and {xmax,ymax,zmax}.

Create a new representation in the Graphical Representations window, and we'll use the zmin and zmax values to display only the water molecules inside the channel.

First try the selection water and z > zmin and z < zmax, where zmin and zmax have been replaced with the actual values from the last step. You should see that there are several water molecules that lay outside of the channel. To focus on the water in the channel, take a look at the description of the same and within keywords in the VMD manual, and modify your selection to show only the water molecules close to the long axis of the channel.

QUESTION 3: Record your final atomselection.

There should be nine water molecules that are in the channel in a single file line along the z-axis. Each group will be assigned a different water molecule to swap with a K+ ion, so that we can analyze the stability of K+ in the channel at different positions. After you have been assigned a water molecule, determine its resid by pressing 1 and then use the mouse to select and label the oxygen atom of the water molecule.

Open up the Graphics > Labels window to see more information about this selected atom - then use its ResID to select it in the Tk Console:

Tk Console
1
2
set watsel [atomselect top "resname TIP3 and resid XXX"]
set potsel [atomselect top "resname POT and resid 1"]

Now determine the center-of-mass position of the water and K+ ion:

Tk Console
1
2
set watpos [measure center $watsel]
set potpos [measure center $potsel]

Then determine the vector between them:

Tk Console
1
set r [vecsub $watpos $potpos]

and swap their positions:

Tk Console
1
2
$potsel moveby $r
$watsel moveby [vecscale $r -1]

If everything looks correct (ie: is there now a POT ion inside the channel?), then save a new pdb file that contains the coordinates with the K+ in the channel:

Tk Console
1
2
set all [atomselect top "all"]
$all writepdb gramicidin_final_model.pdb

Since the topology has not changed, we can continue to use the .psf file we created in the previous step.

Create restraint files

The final step is to create a file that restrains (locks) the positions of the protein and K+ ion in the channel during the minimization and heating of the system, so that these steps do not artifically perturb them. This file is just a .pdb file in which we use the column that specifies the beta factor to indicate which atoms are restrained.

First - go to your VMD main window & delete all of the molecules that have been previously loaded into VMD

Then we'll start creating our restraint file (the noh below = not including Hydrogens)

Tk Console
1
2
3
4
5
6
7
8
9
10
mol new gramicidin_final_model.pdb

set all [atomselect top "all"]
$all set beta 0.0

set prot [atomselect top "not {water or ion or lipid} and noh"]
$prot set beta 1.0

set pot [atomselect top "resname POT and resid 1"]
$pot set beta 1.0

To double-check and visualize our selections - create a VMD representation where the Coloring Method has been set to Beta. You should see the atoms that you have selected to restrain in one color and all of the other atoms in another.

If everything looks good - create this "protein plus potassium" restraint file:

Tk Console
1
$all writepdb gramicidin_res.pdb

We will also create a restraint file to use during our production run, which will apply a weak restraint to the CA atoms in gramicidin’s backbone. This is meant to keep the protein from diffusing in the plane of the membrane. This will make our analysis easier since we will not have to correct for the periodic boundary condition if one of the monomers cross the boundary when the other has not. The weak restraint should have minimimal effect on our results, although this strategy is not commonly used in research (we are only doing this for the purposes of this lab).

To create this second restraint file, we can just reset the beta values. Then we'll select only the protein backbone atoms for the production restraint file:

Tk Console
1
2
3
4
5
6
7
set all [atomselect top "all"]
$all set beta 0.0

set ca [atomselect top "protein and name CA"]
$ca set beta 1.0

$all writepdb gramicidin_res_prod.pdb

HOMEWORK due before the start of the next class:

      • NOT YOUR ENTIRE folder, just your word document uploaded to our CompBio_2161_Drop