Re: Creating psf file DNA

From: Vermaas, Joshua (
Date: Thu Jul 06 2017 - 18:02:37 CDT

Hmm... I tried the autopsf way first, and that appears to have made some aliases that stuck around when I tested the script. Add these right after the topology line:

pdbalias residue DT THY
pdbalias residue DG GUA
pdbalias residue DC CYT
pdbalias residue DA ADE


On 07/06/2017 04:54 PM, Roshan Shrestha wrote:
Thanks Josh, but I am getting this error while using this script as it is. The error is:
psfgen) Info: generating structure...psfgen) unknown residue type DC
ERROR: failed on end of segment
MOLECULE DESTROYED BY FATAL ERROR! Use resetpsf to start over

On Thu, Jul 6, 2017 at 11:18 PM, Vermaas, Joshua <<>> wrote:
Hi Roshan,

If you have VMD 1.9.3, the automatic psf builder in VMD is super easy. Just load your pdb, then click the buttons in the appropriate order (top to bottom). It guesses the waters correctly and picks up that it is meant to be DNA automatically. If you only care about this particular pdb, this is the easiest way to do it. However, that is no fun, so here is how I'd do it manually, since to me, "manually" means writing a script for it, which makes it much more flexible if you want to do something strange in the future. These scripts to make psfs are pretty generic, and always do three things: load a topology file, create a segment, and assign atomic positions to atoms in the segment. There is a slight wrinkle if you are doing this manually, since the default it to have the all nucleic acids be RNA, and you want DNA. This can be handled in the script pretty easily. The full script for VMD is below, and only assumes you've downloaded the pdb and the appropriate topology for DNA.


package require psfgen
topology top_all36_na.rtf
mol new 1bna.pdb
set chaina [atomselect top "chain A and not water"]
$chaina writepdb A.pdb
set chainb [atomselect top "chain B and not water"]
$chainb writepdb B.pdb
segment DA {
    pdb A.pdb
    first 5TER
    last 3TER
#Make this DNA, not RNA
patch DEO5 DA:1
for { set i 2 } { $i <= [llength [lsort -unique [$chaina get resid]]]} { incr i } {
    patch DEOX DA:$i
segment DB {
    pdb B.pdb
    first 5TER
    last 3TER
#For comparison, we are leaving chain B unpatched, which leaves it as RNA!!!

#Load in coordinates
coordpdb A.pdb DA
coordpdb B.pdb DB

regenerate angles dihedrals

writepsf dna.psf
writepdb dna.pdb

#inspect your handiwork
mol load psf dna.psf pdb dna.pdb

On 07/06/2017 10:54 AM, Roshan Shrestha wrote:
I am trying to create psf for 1bna.pdb (DNA) using CHARMM36 force field either manually or using automatic psf builder in VMD. But, I am lost on how shall I start or do it. I would be very grateful if anyone could suggest me the steps to start with. Thanks

Roshan Shrestha
Graduate Student
Central Department of Physics,Tribhuvan University
Roshan Shrestha
Graduate Student
Central Department of Physics,Tribhuvan University

This archive was generated by hypermail 2.1.6 : Mon Dec 31 2018 - 23:20:25 CST