From: Gustavo Gust (gust77gust_at_gmail.com)
Date: Wed Nov 11 2009 - 09:58:01 CST

Hi John, I'm trying to use bigdcd (I used before) but, how can I read the
xst file, in order to get a,b and c at every frame and wrap the system? I
can't figure out how to read every frame from dcd file and the corresponding
data from xst file.

Thank you for your help.

Here is the script I'm trying to use with bigdcd (and probably is wrong, but
it's based in one it's working fine, without the xst file):

source bigdcd.tcl
package require pbctools

proc nwc {frame} {

global outfile

pbc wrap -all <=== I need to wrap the system at every time before count
the atoms
pbc box

set sel [atomselect top "(resname TIP3 and name OH2) and pbwithin 3 of
(resname GOL)"]

set nw [$sel num]

puts $fid "$frame $nw"

}

set fid [open "nw-file.dat" w]

#-----------

set dir1 "/home/gol"

mol load psf $dir1/structure/file.psf

pbc readxst $dir1/file.xst -all <=== it must be here or inside proc nwc?

bigdcd nwc $dir1/gol.dcd
-----------------

On Wed, Nov 11, 2009 at 4:20 PM, John Stone <johns_at_ks.uiuc.edu> wrote:

>
> Hi,
> You're likely running VMD out of memory by loading the whole 1.9GB DCD on
> your system. What happens if you only load half of it? Another option
> would be for you to make use of the "bigdcd" script and process it one
> frame at a time.
>
> Cheers,
> John Stone
> vmd_at_ks.uiuc.edu
>
> On Wed, Nov 11, 2009 at 04:04:34PM +0100, Gustavo Gust wrote:
> > Dear colleagues,
> > with vmd, I'm trying to use a script like this (vmd -dispdev text -e
> > script.tcl), which select the O atoms from TIP3 water molecules at 3
> > angstroms from the molecule GOL:
> > package require pbctools
> > set dir1 "/home/molecule/eq1"
> > mol load psf $dir1/structure/file.psf dcd $dir1/file.dcd
> > set nf [molinfo top get numframes]
> > pbc readxst $dir1/file.xst -all
> > pbc wrap -all
> > pbc box
> > set outfile [open file.dat w]
> > for { set i 1 } { $i < $nf } { incr i } {
> > set sel [atomselect top "(resname TIP3 and name OH2) and pbwithin 3 of
> > (resname GOL)" frame $i]
> > set nw [$sel num]
> > puts $outfile "$i $nw"
> > $sel delete
> > }
> > close $outfile
> > Sometimes it's working fine, but frequently I get the following error
> > message:
> > terminate called after throwing an instance of 'std::bad_alloc'
> > what(): std::bad_alloc
> > Abort
> > I'm using VMD 1.8.7 and, according to former messages in the mail list
> > (Arneh Babakhani, Josh Stone, Feb 02 2007), I've included the line
> > $sel delete
> > but I couldn't fix this error. Also, I've tried to select index, but
> it's
> > not working anyway.
> >
> > Is there other alternatives or suggestions to avoid this problem?
> > I'm running VMD 1.8.7 in a Linux machine with Open Suse 10.3 and 2 Gb
> of
> > RAM. Every dcd file has 1.9 Gb. The dimensions of the box are in xst
> > file.
> > Thank you for your attention,
> > Gustavo Velardez
>
> --
> NIH Resource for Macromolecular Modeling and Bioinformatics
> Beckman Institute for Advanced Science and Technology
> University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
> Email: johns_at_ks.uiuc.edu Phone: 217-244-3349
> WWW: http://www.ks.uiuc.edu/~johns/ Fax: 217-244-6078
>