(Note: These tutorials are meant to provide illustrative
examples of how to use the AMBER software suite to carry out simulations that
can be run on a simple workstation in a reasonable period of time. They do not
necessarily provide the optimal choice of parameters or methods for the
particular application area.)
Copyright Ross Walker 2008
Setting up a DNA-Ligand System
aDept. of Chemistry, Hope College* bSan Diego Supercomputer Center, University of California, San Diego
4) Attaching the FAM5 molecule to the 5' end of a polyAT decamer
In section 4 we will attach the FAM5 molecule to the 5' end of our polyAT decamer (polyAT.pdb). We will use a similar process as that described in Section 2, which involves extensive use of the Sirius visualization program. The attachment of the FAM molecule to the linker is depicted below (Figure 4.1). However, there are several problems with attaching molecules to the 5' end of any DNA or RNA duplex. The first hurdle is the missing phosphate group at the 5' end of our polyAT decamer. In order to attach our FAM molecule we must add the missing phosphate to our decamer by changing the terminal adenine into an internal adenine. We will use xleap to modify polyAT's 5' end, as it provides an automated means of changing the adenine residue. The second hurdle is the lack of duplicate atoms between the FAM and polyAT molecules (because we had to delete the phosphate group on the linker), which could have be en used to superpose the bond. Thus, we have to manually move the linker into a somewhat "correct" bonding position relative to the polyAT decamer. It is important to note that any manually constructed bond will likely be strained therefore careful minimization of the structure will be required prior to running production MD.
Figure 4.1 |
4.1) Preparing the polyAT decamer for attachment
As stated earlier our first step is to add the phosphate group onto the 5' end of the polyAT decamer. Xleap has made this easy through the use of it's "loadpdbusingseq" command. This command enables us to define the exact sequence we would like to load into the program, and specify a pdb file to apply this sequence to. Lets execute the xleap program and begin.
$AMBERHOME/exe/xleap &
In the xleap window we will load the ff99SB force field so that our DNA is recognized.
source oldff/leaprc.ff99SB
Next we will define the sequence that we would like to load into xleap. This is the most important step as we will use this process to specify our residue modification. Instead of specifying the DA5 residue that is in our pdb we will tell xleap to load the DA template for this residue. This is an internal residue and so xleap will add the additional phosphate that we need for connection of the linker.
polyATseq = {DA DA DA DA DA DA DA DA DA DA3 DT5 DT DT DT DT DT DT DT DT DT3 }
Upon specifying the above sequence we will tell xleap to load our polyAT.pdb file but ignore the residue names in the pdb and instead use the sequence we have supplied.
polyAT = loadpdbusingseq polyAT.pdb polyATseq
The following output should appear in the xleap window:
Loading PDB file: ./polyAT.pdb using sequence polyATseq
matching pdb residues -> sequence template
res pdb template
1* A5 DA
2 A DA
3 A DA
4 A DA
5 A DA
6 A DA
7 A DA
8 A DA
9 A DA
10 A3 DA3
11 T5 DT5
12 T DT
13 T DT
14 T DT
15 T DT
16 T DT
17 T DT
18 T DT
19 T DT
20 T3 DT3
* = possible mismatch; total 1
(i.e. pdb name not a substring of template)Created a new atom named: H5T within residue: .R<DA 1>
Added missing heavy atom: .R<DA 1>.A<P 1>
Added missing heavy atom: .R<DA 1>.A<O1P 2>
Added missing heavy atom: .R<DA 1>.A<O2P 3>
total atoms in file: 438
Leap added 203 missing atoms according to residue templates:
3 Heavy
200 H / lone pairs
The file contained 1 atoms not in residue templates
What Happened?
Xleap compared our specified sequence to that of the pdb file and noted the possible mismatch
between the 5' adenine (A5) in the pdb file and the internal adenine (DA) we
specified in the sequence. This is exactly what we expected. Xleap also added the phosphate to our molecule using heavy atoms P and O. This is also fine. We should however, be concerned with the creation of a new atom "H5T".
This means that xleap does not recognize the atom. This atom is an additional
proton which was in the original pdb file but does not correspond to an atom in
an internal adenine. To investigate the atom we will take a look at the structure using the edit window.
edit polyAT
At first glance, we notice that there is an non-bonded atom at the 5' end of the polyAT decamer (circled in the figure below). In order to display atom names, select Display > names. You can also zoom in on the molecule for a better look. The atom name for this molecule, H5T, matches the atom created by xleap. Xleap is smart about adding missing atoms to residues that have been specified, however, it does not delete extra atoms that are present in the pdb file. The H5T atom is a relic of the 5' prime Adenine residue and should be deleted. You can use the eraser which is located on the toolbar to delete this atom.
Figure 4.2
Now that we have added the phosphate group to the 5' Adeninie end of our polyAT decamer, we can save a new pdb file and attach our FAM molecule. Close out of the edit window and save the new pdb file of polyAT.
savepdb polyAT polyAT_edit.pdb
Note: Another approach here would have been to delete this H5T atom from the polyAT.pdb file before loading it into leap.
4.2) Using Sirius to merge the FAM and polyAT molecules together
While combining the pdb files for polyAT and FAM5, we will need to ensure that the two units are reasonably oriented with respect to each other. As in Section 2, we will again use Sirius to help us with this. Start the Sirius application and open both the polyAT_edit.pdb and the fam5_leap.pdb. (note if you don't see the structures in the graphics window you may need to click the fog button and toggle the depth cueing selection on and off to make it appear). The structures will be lying on top of each other. We need to fix this by moving one of the structures while we keep the other fixed. In principle, it doesn't matter which we move as long as we are consistent throughout all of this section; we will choose to move the fam5 portion of the system. To move only the fam5 portion in Sirius, click the Set Separate Motion button.
In the dialog box that opens, select fam5_leap and click OK. Now translating and rotating in Sirius only affects the fam5 molecule. You should carefully position the FAM5 unit such that the oxygen is positioned closely with the phosphate as shown in Figures 4.3 & 4.4 below. You will have to iterate often between rotating the FAM 5 unit (left mouse), translating the FAM 5 (right button for XY and center button for Z) and rotating the entire system to get a better view - by selecting the "set combined motion" button which is immediately below the "set separate motion button". Pay particular attention to having a reasonable P-O bond length and avoiding any steric clashes. This will require some significant patience. Note you should be careful to make sure you use the correct DNA residue to bond to.
Figure 4.3
Figure 4.4
Once you are happy with the orientation select File->Save Structure. Sirius will prompt which object you want to save. Select FAM5_leap and hit save. When prompted to save the new coordinates say yes. You should save this as fam5_newcoord.pdb.
Unfortunately the pdb file produced by Sirius has connectivity information that is incompatible with Leap so we need to remove this. Use a text editor to strip the connectivity data and also the "END" tag and save this as fam5_m.pdb. Next we need to merge the fam5 and polyAT pdb files together:
cat fam5_m.pdb polyAT_edit.pdb > fam5_polyAT_edit.pdb
4.3) Load the combined pdb into Leap and create prmtop and inpcrd files
To read the combined pdb into leap there are a couple things we need to do. Firstly we need to load the parameter set for the DNA as well as the frcmod file for the fam5 that we created in section 3. We also need to load the lib file that describes fam5 also created in section 3. However, we also need to deal with the fact that our fam5 lib file contains FAM5 as the residue name while the pdb file contains just FAM (this is because Sirius only supports 3 character residue names). We will address this using leap's copy command (alternatively you could edit the pdb and replace 'FAM ' with 'FAM5').
xleap -f -s $AMBERHOME/dat/leap/cmd/oldff/leaprc.ff99SB
>loadoff fam5.lib
>loadamberparams fam5.frcmod
>FAM = copy FAM5
>mol = loadpdb fam5_polyAT_edit.pdb
At this point leap will print some warnings along the lines of the following:
Loading PDB file: ./fam5_polyAT_edit.pdb
Warning: name change in pdb file residue 1 ;
this residue is split into FAM and DA.
1 residues had naming warnings.
There are split residues;
residue sequence numbers will not correspond to those in the pdb.
One sided connection. Residue: missing connect1 atom.
total atoms in file: 697
We can actually ignore these warnings. The first one comes about because the FAM and first DA residue both have residue ID's of 1 since we simply appended the files. However, Leap has taken care of this clash for us and updated the numbering. The second warning is that the FAM residue does not contain a tail atom and so there is nothing to bond with the head atom of the first DA residue. We could have addressed this back in section 3 by defining a tail atom. However, we can easily address this now by just issuing a manual bond command:
>bond mol.1.57 mol.2.1
You are now in a position to save gas phase / implicit solvent prmtop and inpcrd files for use in sander or pmemd:
>saveamberparm mol fam5_polyAT_vac.prmtop fam5_polyAT_vac.inpcrd
Finally if you wanted to run explicit solvent simulations you could add counter ions and solvent as was done in earlier tutorials.
| INDEX | SECTION 1 | SECTION 2 | SECTION 3 | SECTION 4 |
*Funding and computational support for the creation of this tutorial was provided by NSF-CIEG (BDI0726924), NSF-REU, NSF-MRI, HHMI and ACS-PRF.
(Note: These tutorials are meant to provide illustrative
examples of how to use the AMBER software suite to carry out simulations that
can be run on a simple workstation in a reasonable period of time. They do not
necessarily provide the optimal choice of parameters or methods for the
particular application area.)
Copyright Ross Walker 2008