Creating mismatched DNA duplex using NAB
This can be done using NAB which comes as a part of Ambertools. The strategy would be to create two Watson Crick duplexes such that one of them contains our desired 5'-3' strand and the other contains our 3'-5' strand. The next step would be to simply merge the two pdb files such that the new pdb file contains information about only two strands which we are interested in.
As an example let's try to make a DNA duplex containing one TG mismatched base pair i.e. two strands with the following sequence-
5'-GCTCATGACAGG-3'
3'-CGAGTGCTGTCC-5'
STEPS
Creating Watson Crick base paired DNA duplex
Load the following modules using
module load ambertools/16/19 module load mpi/openmpi/64/gnu/1.6.5 module load amber/14
Create input files for both strands. Note that input file must end with .nab
- For the 5'-3' strand, create input1.nab file containing the following lines
// Program 1- Average B-form DNA duplex molecule m; m = bdna( "gctcatgacagg" ); putpdb( "strand1.pdb", m );
- For the 3'-5' strand, create another file input2.nab containing the following lines
Note: The sequence specified within bdna() is the one for strand running from 5'-3'. So, to get a TG mismatch use the same sequence in input2.nab as that used in input1.nab, just replace T with C so as to get G on the 3'-5' strand at the desired place to create a mismatch against T.
// Program 2 - Average B-form DNA duplex molecule m; m = bdna( "gctcacgacagg" ); putpdb( "strand2.pdb", m );
Run nab using
nab -o strand1.out input1.nab nab -o strand2.out input2.nab
Run the executables to get strand1.pdb and strand2.pdb as output files
./strand1.out ./strand2.out
Merging pdb files
For merging the two pdb files, follow the steps given below (the following explanation is specific for this example, line numbers will change depending on your pdb files)
- Take the first 381 lines of strand1.pdb. This corresponds to 5'-3' strand we want.
- Take the lines starting from 380 to 761 from strand2.pdb. This corresponds to 3'-5' strand that we want.
- Paste these two parts one after the other into a new pdb file TGmismatch.pdb
However there is a problem! The atom numbers as found in column 2 of TGmismatch.pdb are not in correct order.
Correcting pdb file
- To correct atom numbers, simply go to the end of file, and generate numbers from 381 to 761 using the following Ex command in vim
:put =range(381,761)
- Next, yank these numbers generated in column using Ctrl+V and yy commands in vim.
- Go to line number 382 of TGmismatch.pdb, place cursor next to column two and use p command to paste the yanked column.
- Now, simply use Ctrl+V, x and Esc to delete the column containing incorrect atom numbers and also for modifying the spacing between columns in pdb file.
- Make sure the last line of the TGmismatch.pdb file (i.e. line number 763 here) is TER. 'TER' is used to separate parts of pdb file which are not connected covalently. In our pdb file 'TER' occurs twice.
- Alternatively we can also use pdb4amber command in ambertools (this shortcut method needs to be checked, not sure about it!)
pdb4amber -i TGmismatch.pdb -o TGmismatch_for_amber.pdb
In case, we don't want Hydrogen atoms in our pdb file for use with leap, add --nohyd i.e.
pdb4amber -i TGmismatch.pdb -o TGmismatch_for_amber.pdb --nohyd
Our pdb file containing the mismatched TG base pair is ready to be viewed using vmd :)