From: Vermaas, Josh (
Date: Tue May 04 2021 - 14:48:00 CDT

Hi Kelly,

You've seen the tutorial on this, right?

I think you could do something like the following:

proc saveframe { frameno } {
animate write pdb $frameno.pdb beg $frameno end $frameno

mol new ../../Aldolase-HMR.prmtop
mol addfile ../../ waitfor all
set lastframe [expr { [molinfo top get numframes] - 1}]
parallel for 0 $lastframe saveframe

That being said, I haven't tested this.


On 5/4/21 1:45 PM, Mcguire, Kelly wrote:
I have a DCD file with 5000 frames. I have a script that saves each frame as a PDB (shown below). This takes quite a bit of time to finish as you can imagine. Is there a way to run this in parallel with MPI (I don't have much experience with this) or on multiple CPUs on a node with 24 CPUs or multiple threads to speed up the process? I will need to do this with multiple DCD files in the future. Thanks!

mol new ../../Aldolase-HMR.prmtop
mol addfile ../../ waitfor all

for {set i 1} {$i < 4999} {incr i} {
         [atomselect top all frame $i] writepdb $i.pdb

Dr. Kelly McGuire
Chemistry/Biochemistry Department
Natural Science Building, 4104A, 4106A, 4017

Josh Vermaas
Assistant Professor, MSU-DOE Plant Research Lab and Department of Biochemisty and Molecular Biology<>;!!DZ3fjg!vQgve-QSUmAmZgspjTMEFdEMumzWC-pU4NBpatiTiASxnX3U_IG4H5RrSFLLfXPuFA$