Hey Floris, Here's a python script to write out the last frame from a .trr file:
#<PYTHON> #!/usr/bin/env python import sys # Read a 32 bit unsigned int def i(x): return sum([ord(x[j])<<(24-j*8) for j in range(4)]) # Open the file, find the end and go back f = open(sys.argv[1],'rb') f.seek(0,2) eof = f.tell() f.seek(0) # Have to read frame by frame since a TRR may have differently sized frames start = 0 while True: tag = f.read(12) tag = tag + f.read(i(tag[-4:])) num = f.read(40) size = sum( [ i(num[j:j+4]) for j in range(0,40,4) ] ) + 20 if (f.tell() + size >= eof): break # May be an incomplete frame f.seek(size,1) start = f.tell() # Go back to the start of the last good frame f.seek(start) # Open the output file if len(sys.argv) > 2: o = sys.argv[2] else: o = sys.argv[1][:-4]+"-last.trr" open(o,"w").write(f.read()) #</PYTHON> Hope it helps, Tsjerk On Mon, Oct 4, 2010 at 11:31 AM, Floris Buelens <floris_buel...@yahoo.com> wrote: > sorry for the incomplete post before, believe it or not my cat was to blame. > > I want to write out only the final frames from a set of trr trajectories. This > was discussed here with apparently only a workaround: > > http://www.mail-archive.com/gmx-users@gromacs.org/msg19545.html > > however intuitively it seems trjconv should do this with the -dump option > documented like this: > > -dump time -1 Dump frame nearest specified time (ps) > > if I give e.g. -dump 999999 trjconv doesn't do what the description led me to > believe but falls off the end with "WARNING no output". Wouldn't it make more > sense for trjconv to write out the last frame? > Thanks, > > Floris > > > > > ----- Forwarded Message ---- > From: Floris Buelens <floris_buel...@yahoo.com> > To: gmx-users@gromacs.org > Sent: Mon, 4 October, 2010 11:24:57 > Subject: last frame in trr > > Hi, > > I want to write out only the final frames from a set of trr trajectories. This > was discussed here: > > however intuitively it seems trjconv should do this with the -dump option > documented like this: > > -dump time -1 Dump frame nearest specified time (ps) > > if I give e.g. -dump 999999 trjconv doesn't do what the description led me to > believe > > > > -- > gmx-users mailing list gmx-us...@gromacs.org > http://lists.gromacs.org/mailman/listinfo/gmx-users > Please search the archive at > http://www.gromacs.org/Support/Mailing_Lists/Search before posting! > Please don't post (un)subscribe requests to the list. Use the > www interface or send it to gmx-users-requ...@gromacs.org. > Can't post? Read http://www.gromacs.org/Support/Mailing_Lists > -- Tsjerk A. Wassenaar, Ph.D. post-doctoral researcher Molecular Dynamics Group * Groningen Institute for Biomolecular Research and Biotechnology * Zernike Institute for Advanced Materials University of Groningen The Netherlands -- gmx-users mailing list gmx-users@gromacs.org http://lists.gromacs.org/mailman/listinfo/gmx-users Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/Search before posting! Please don't post (un)subscribe requests to the list. Use the www interface or send it to gmx-users-requ...@gromacs.org. Can't post? Read http://www.gromacs.org/Support/Mailing_Lists