[gmx-users] REMD demuxing
Andrea C. Vaiana
vaiana at lanl.gov
Mon Jan 8 21:43:22 CET 2007
David,
Great, it works, and really fast too!
Thanks for all the help.
Nikos,
thanks for pointing out the python module, I think I'll be making
extensive use of it in the future.
Andrea
David van der Spoel wrote:
> Andrea C. Vaiana wrote:
>> 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
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
> There is a perl script in src/contrib/scripts which does what you
> need, i.e. generate input to trjcat.
>
--
Andrea C. Vaiana
Post Doctoral Research Associate
Theoretical Biology and Biophysics
Mail stop K710, T-10
Los Alamos, NM 87545
Los Alamos National Laboratory
More information about the gromacs.org_gmx-users
mailing list