Hi everybody,
hi massimo,
I'm using LAMMPS for simulating biomolecules.
I'm also using VMD for solvation, visualization and data analysis.
First I solvate the molecule in VMD, then I convert into
a .data file with charmm2lammps.
The .lammpstrj dump files can be read by VMD, but many
options and built-in VMD commands for atom selection rely
on .pdb file format. I have hence used the dump2pdb tool
actually, it is less the pdb format, but the information it
provides. .psf files provide additional information (and are
lacking some).
let me outline shortly, how VMD reads/handles molecule data.
if you read a 'new' molecule, VMD first tries to read the
'structure' information contained in the file (atom/residue
names, atom type, element, mass, bonding, charge, beta, etc.).
if 'important' information like bonding, element etc. is not
contained, it tries to use heuristics to guess them. in a second
step, VMD will read the coordinates (and/or additional information
like volumetric data etc.). for _each_ subsequent read into the
same molecule, VMD will only look for coordinate and volumetric
data information and disregard 'structure' information (unless
told otherwise). please note, that 'structure' information is
stored only once, so bond breaking/reforming cannot be handled
this way. for more details, please have a look at the vast
documentation and tutorial material on the VMD homepage.
to convert the output, but looking into the file I have noticed that
the information about the residue names of the molecule goes lost in the process
(actually it goes lost in the first step, converting .pdb and .psf into .data).
In the case of the analysis of biomolecules this is very penalizing, because it
kills some nice features provided by VMD.
Has anybody implemented a fix in the dump2pdb.pl, i.e. a loop that scans the
atom sequences and re-labels the residues correctly? or alternatively, is there
any other tool that can do the same? or am I doing something wrong?
the best way to interact with VMD would be to dump into .dcd format and
use the original .psf file (provided you dump the same set of
information). reading the lammpstraj file is _much_ less efficient
(it is a text format file) and also .dcd files are generally smaller.
(.xtc is even smaller, but the current lammps release has a bug in
the box size). in fact, for some simulation data, that i've been using
recently in VMD, i was loading a single frame of a trajectory into VMD
and then assigned the missing information at the script level, and then
written out the data from VMD as an (incomplete) .psf file and am using
that .psf file now to provide the structure data (and can handle either
.dcd, .xtc, and lammpstraj format trajectories with it).
please note, that there are some bugs in the lammpstraj plugin that can
create problems if you have large systems (and waste a lot of memory).
if you use the .psf + XXX strategy you can circumvent them. it should
be fixed in the upcoming 1.8.6 release, but the .psf + XXX combo is
still recommended.
ciao,
axel.