From: John Stone (
Date: Tue Aug 12 2014 - 10:05:56 CDT

Just to add one more option to the list Josh gave:
  On memory capacity limited machines (and ultimately all machines
are limited vs. the size of some trajectories) you can compute average
positions for "chunks" of a trajectory, and then combine those into an
overall average. You could either do it a frame at a time with something
like the "bigdcd" script, or you could write a loop that processes large
batches of frames at a time using the "measure avpos" followed by summation
into the overall average, etc. Either of those schemes could be made to work
on a machine with an arbitrary amount of memory vs. the size of the trajectory,
but they require more scripting than the other approaches.


On Tue, Aug 12, 2014 at 10:36:49AM -0400, Josh Vermaas wrote:
> Hi Natal,
> Is this running windows? If so, you are probably running into the
> limitations of how much memory VMD can address (32-bit applications can
> only access 4GB or so of RAM), as your DCDs are probably combined larger
> than this limit. There are two solutions to this problem: only take a
> subset of the frames (using step as an argument to the addfile command:
>, or go to a
> 64-bit system with sufficient RAM to load all the trajectories at once.
> In terms of writing a pdb with the average structure, this should in
> principle work:
> set sel [atomselect $mol "whatever text you need to get the selection
> you want here"]
> $sel set {x y z} [measure avpos $sel]
> $sel writepdb averagestructure.pdb
> Be aware that the second line will change atomic coordinates for the
> current frame, so instead of it being part of your trajectory, its now
> the average position.
> -Josh Vermaas
> On 8/12/14, 7:30 AM, Natal Kanaan wrote:
> >Dear all,
> >I'm trying to write a pdb structure which is an average of several
> >trajectories. Searching in the list, I found a script similar to the one
> >below, but I don't know how to really write this new-averaged-pdb
> >structure:
> >
> >set mol [mol new ../model8_final/setup/model8_ionized.psf type psf waitfor
> >all]
> >mol addfile model8_R3_parte1.dcd type dcd waitfor all
> >mol addfile model8_R3_parte2.dcd type dcd waitfor all
> >mol addfile model8_R3_parte3.dcd type dcd waitfor all
> >mol addfile model8_R3_parte4.dcd type dcd waitfor all
> >set sel [atomselect $mol all]
> >measure avpos $sel
> >
> >Any kind of help would be really appreciated. Another issue is that, as I
> >have a lot of data, if I just source this script directly in vmd, it ends
> >up being "killed". I already tried with:
> >
> >vmd -dispdev text -e xx.tcl
> >
> >but it is also killed.
> >Thanks a lot in advance for your help,
> >Natal
> >

NIH Center for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801           Phone: 217-244-3349