[gmx-users] REMD demuxing

David van der Spoel spoel at xray.bmc.uu.se
Sun Jan 7 11:49:54 CET 2007


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.

-- 
David.
________________________________________________________________________
David van der Spoel, PhD, Assoc. Prof., Molecular Biophysics group,
Dept. of Cell and Molecular Biology, Uppsala University.
Husargatan 3, Box 596,  	75124 Uppsala, Sweden
phone:	46 18 471 4205		fax: 46 18 511 755
spoel at xray.bmc.uu.se	spoel at gromacs.org   http://folding.bmc.uu.se
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



More information about the gromacs.org_gmx-users mailing list