Build the Protein

In this stage we build a psf file for the protein. The original pdb file comes from the RCSB databank, access code 1JNO. This is a very recently released (August 2001) structure, so of course we are very interested in being one of the first to simulate it!

First, we use VMD to split the original structure into two files, one for each segment. Then we build a psf file using psfgen. Our life is made more complicated by the D-Val and D-Leu residues, the formyl groups at the N-termini, and the ethanolamide group at the C-terminus. We don't have topology files for these residues by default. I guessed topology entries for these residues; you'll find them at the very end of the topology file (toppar/top_all27_prot_lipid.inp).

After the structure has been build, both the origin pdb file (1JNO.pdb) and the structure built by psfgen (protein.pdb) will be loaded into VMD. Use the options in the VMD graphics meny to compare them. Are there any differences?

Run this step!     Continue

build_protein.vmd

# STEP 1: Build Protein

# Script to split 1JNO into two pdb files, one for each chain.
# run with "vmd -dispdev text -e "

# Load the PDB file
mol delete all

# mol load pdb input/1JNO.pdb
mol load pdb 1JNO.pdb

# Select chain A and chain B
set chainA [atomselect top "chain A and not hydrogen"]
set chainB [atomselect top "chain B and not hydrogen"]

# Write these atoms to separate pdb files
$chainA writepdb chainA.pdb
$chainB writepdb chainB.pdb

# Script to build the protein structure of GA
# Run with "psfgen <  > 
package require psfgen
 
# Use the specified CHARMM27 topology file.
topology top_all27_prot_lipid.inp

# D-Leucine and D-Valine have the same topology as the
# usual L-Leu and L-Val residues, they're just mirror
# images.  Hence we can use the existing topology file.
# We also pdbalias an atom in the ethanolamide residue so 
# that psfgen doesn't have to guess the position of the atom.
pdbalias residue DLE LEU
pdbalias residue DVA VAL
pdbalias atom ETA O OG

# Build two segments, one for each chain.
segment GA1 {
  first NONE
  last NONE
  pdb chainA.pdb
}

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

# Load the coordinates for each segment.
coordpdb chainA.pdb GA1
coordpdb chainB.pdb GA2

# Write out the psf file
writepsf protein.psf

# Guess the positions of missing atoms.  As long as all the heavy
# atoms are present, psfgen usually does a very good job of this.
guesscoord
writepdb protein.pdb

mol load psf protein.psf pdb protein.pdb