Creating mismatched DNA duplex using NAB

From Docswiki
Revision as of 18:28, 29 January 2020 by Nn320 (talk | contribs)
Jump to navigation Jump to search

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

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 pdb have changed.

  • 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

Our pdb file containing the mismatched TG base pair is ready to be viewed using vmd :)

References

  1. NAB manual (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.460.7407&rep=rep1&type=pdf)