Hello everyone,
I'm trying to find a better way of demuxing REMD runs, I wrote a
python script to do this but it is very slow because it relies on
system calls to trjconv in order to read/write frames. I checked the
documentation and mailing lists, it seems that this should be
possible using "trjcat -demux...". I've tried this and reached
similar problems (seemingly unresolved...) as Merc Martens in july.
I've attached the last mail from that thread at the bottom of this
email.
I have an remd.xvg file that looks like this:
0.000000 0 1 2 3 4 5 6 7 8 9 10 11 12
13 15 14 16 17 ....
0.187500 0 1 2 3 4 5 6 7 8 9 10 11 12
13 15 14 16 17
0.375000 0 1 2 3 5 4 6 7 8 9 10 11 12
13 15 14 16 17
0.562500 0 1 2 3 5 4 6 7 8 9 10 11 12
13 15 14 16 17
0.750000 0 1 2 3 5 4 6 7 8 9 10 11 12
13 15 14 16 17
0.937500 0 1 2 3 5 4 6 7 8 9 10 11 12
13 16 14 15 17
.
.
.
When I run:
trjcat -dt 0.75 -f run3.0.xtc ... run3.47.xtc -o run3.U.0.xtc ...
run3.U.47.xtc -demux remd.xvg
NOTE: I dump to the xtc file every 0.75ps but I'm using an xvg file
(created from my log file) with all the replica exchanges i.e., every
0.1875ps. Would this cause problems?
I get 48 identical xtc files named: run3.U.0.xtc #run3.U0.xtc.1# ...
#run3.U0.xtc.47#
each of these is very small (219 K wheras my trajectories are 10 M).
a gmxdump on one of these produces:
run3.U.0.xtc frame 0:
natoms= 0 step= 0 time= 0 prec=2.8026e-45
box (3x3):
box[ 0]={ 5.65765e+00, 0.00000e+00, 0.00000e+00}
box[ 1]={ 0.00000e+00, 5.44156e+00, 0.00000e+00}
box[ 2]={ 0.00000e+00, 0.00000e+00, 5.42684e+00}
not available: x
run3.U.0.xtc frame 1:
natoms= 0 step= 500 time= 0.75 prec=2.8026e-45
box (3x3):
box[ 0]={ 5.65765e+00, 0.00000e+00, 0.00000e+00}
box[ 1]={ 0.00000e+00, 5.44156e+00, 0.00000e+00}
box[ 2]={ 0.00000e+00, 0.00000e+00, 5.42684e+00}
not available: x
run3.U.0.xtc frame 2:
natoms= 0 step= 1000 time= 1.5 prec=2.8026e-45
box (3x3):
box[ 0]={ 5.65765e+00, 0.00000e+00, 0.00000e+00}
box[ 1]={ 0.00000e+00, 5.44156e+00, 0.00000e+00}
box[ 2]={ 0.00000e+00, 0.00000e+00, 5.42684e+00}
not available: x
.
.
.
Does anyone know what's wrong?
Alternatively: does anyone have a fast python routine for
reading/writing xtc frames?
thanks for any help.
Andrea
merc mertens
Mon, 17 Jul 2006 09:20:41 -0700
hello,
i am still trying to figure out how demultiplexing with trjcat
(version 3.3.1) works.
i produced 3 trajectories, each containing only one frame:
e.g.
traj0.xtc frame 0:
natoms= 14670 step= 500 time= 1 prec= 1000
box (3x3):
box[ 0]={ 8.47401e+00, 0.00000e+00, 0.00000e+00}
box[ 1]={ 0.00000e+00, 4.98164e+00, 0.00000e+00}
box[ 2]={ 0.00000e+00, 0.00000e+00, 3.48938e+00}
x (14670x3):
x[ 0]={ 1.95100e+00, 2.11100e+00, 3.09600e+00}
x[ 1]={ 1.95000e+00, 2.14800e+00, 3.19000e+00}
x[ 2]={ 1.88400e+00, 2.15100e+00, 3.03200e+00}
x[ 3]={ 1.94800e+00, 2.01100e+00, 3.11200e+00}
...
traj1.xtc and traj2.xtc look the same (apart from containing
different coordinates).
remd.xvg for -demux contains only one line:
"1 2 1 0"
using those files with:
trjcat -f traj0.xtc traj1.xtc traj2.xtc -demux remd.xvg
produces: trajout.xtc
trajout.xtc frame 0:
natoms= 0 step= 500 time= 1 prec= -1.99104
box (3x3):
box[ 0]={ 8.48018e+00, 0.00000e+00, 0.00000e+00}
box[ 1]={ 0.00000e+00, 4.98527e+00, 0.00000e+00}
box[ 2]={ 0.00000e+00, 0.00000e+00, 3.49192e+00}
not available: x
so, even if there are definitely coordinates in the trajectory and
there can not be a mistake in the frame number, since there is only
one, it seems strange to me, that trjcat does not output anything
but the box to the *xtc file. further, the statement "not available:
x" seems curious to me.
thanks for any help,
merc