Re: [AMBER] matching times from .out with frames from .mdcrd

From: Daniel Roe <>
Date: Tue, 17 Jan 2017 13:19:21 -0500

On Tue, Jan 17, 2017 at 1:00 PM, Chris Neale <> wrote:
> Dear Users:
> Sumary: Am I correct to presume that when running with pmemd the times
> listed by "TIME(PS)=" in the .out file match up with the frames listed in
> analyses output from cpptraj based on the .mdcrd trajectory file for
> irest=1 but that when irest=0 there is an additional value of "TIME(PS)="
> listed in the .out file for the very first frame that is not written out to
> the .mdcrd trajectory file?

In general yes, as long as the MD output frequency matches the
trajectory output frequency (i.e. ntpr equals ntwx). The output is
always written to on step 0 when not restarting (irest=0).


> Detail: I have some pmemd runs that I have run in segments, either due to
> wallclock limits or in recovery from a crash. I am having trouble figuring
> out how to match the frames to timesteps. To try to figure this out, I have
> started from the assumption that the value of time given for the
> "TIME(PS)=" entry in the .out file corresponds to the tile of each frame in
> the .mdcrd trajectory file. However, this does not seem to be the case. For
> instance, I have a file called v12.out that has 745 "TIME(PS)=" entries
> running from 0 to 743999.998, whereas when I analyze the v12.mdcrd file I
> get output for only 744 frames. The number of times do match up with the
> number of frames for restarts but just not on the first segment. So I
> presume that the frame at TIME(PS)=0 is not saved for irest=0 but the first
> frame listed as TIME(PS)= in the .out file is indeed saved when irest=1 ?
> ### Here is the script that I used to evaluate this:
> for i in v12 v12_2 v12_3; do
> numt=$(cat ${i}.out |grep "TIME(PS)"|sed "s/=/ /g"|awk '{print $4}'|wc -l)
> mint=$(cat ${i}.out |grep "TIME(PS)"|sed "s/=/ /g"|awk '{print $4}'|head
> -n 1)
> maxt=$(cat ${i}.out |grep "TIME(PS)"|sed "s/=/ /g"|awk '{print $4}'|tail
> -n 1)
> rm -f tmp.out
> {
> cpptraj -p this.prmtop -y ${i}.mdcrd << EOF
> nativecontacts name tAB mindist distance 6.0 out tmp.out :1-20 :41-60
> go
> } > /dev/null 2>&1
> numf=$(cat tmp.out|grep -v "^#Frame" |wc -l)
> minf=$(cat tmp.out|grep -v "^#Frame" |head -n 1|awk '{print $1}')
> maxf=$(cat tmp.out|grep -v "^#Frame" |tail -n 1|awk '{print $1}')
> echo nam=$i NUM_TIMES=$numt MIN_TIME=$mint MAX_TIME=$maxt
> NUM_FRAMES=$numf MIN_FRAME=$minf MAX_FRAME=$maxf
> rm -f tmp.out
> done |column -t > test.output
> ##############################################
> ### Here is the output:
> nam=v12 NUM_TIMES=745 MIN_TIME=0.000 MAX_TIME=743999.998
> nam=v12_2 NUM_TIMES=44 MIN_TIME=744999.998 MAX_TIME=787999.998
> nam=v12_3 NUM_TIMES=316 MIN_TIME=788999.998 MAX_TIME=1103999.994
> ### And here is output from a different set of continuations for a
> different simulation:
> nam=v8 NUM_TIMES=134 MIN_TIME=0.000 MAX_TIME=133000.000
> nam=v8_2 NUM_TIMES=176 MIN_TIME=133000.000 MAX_TIME=308000.000
> nam=v8_3 NUM_TIMES=44 MIN_TIME=309000.000 MAX_TIME=352000.000
> nam=v8_4 NUM_TIMES=322 MIN_TIME=353000.000 MAX_TIME=673999.999
> Thank you for your help,
> Chris.
> _______________________________________________
> AMBER mailing list

Daniel R. Roe
Laboratory of Computational Biology
National Institutes of Health, NHLBI
5635 Fishers Ln, Rm T900
Rockville MD, 20852
AMBER mailing list
Received on Tue Jan 17 2017 - 10:30:04 PST
Custom Search