I simply wish to view the trajectory of an md optimization or dynamics run.
input for previously prepared system:
start mypdb
memory total 1000 mb
md
system mypdb
record coord 1
end
task md dynamics
analysis
system mypdb
reference mypdb.rst
file mypdb.trj
copy mypdb.dcd
copy mypdb.crd
end
task analysis
MD completes without error, and 1000 frames are allegedly written to the dcd and crd files.
First attempt:
VMD. After successfully loading the original pdb file, I try to load the crd or dcd file per this link's instructions:
http://www4.ncsu.edu/~franzen/public_html/CH795N/projects/Read_DCD_File.htm
and no dice. crd gives an appropriate number of available frames, but there is clearly something wrong because the "trajectory" just flashes atoms and bonds around the screen. Perhaps I needed a proper "psf" file to start, which I am unsure how to generate
Second attempt:
pymol. Loading the .top (topology) file gives the following message:
ObjectMolecule: Assuming this is an Amber6 topology file.
TOPStrToCoordSet-Error: Error reading counts lines
following that, I load the .trj file as per pymol documentation instructions (load_traj) and receive the following error:
ObjMolLoadTRJFile-Error: Failed to read expected coordinate value.
This traj. does not match the loaded parameter/topology file.
Likely cause: either the atom count or the periodic box settings
are inconsistent between the two files.
Last attempt:
I understand that I may write individual frames to disk using the "write" command within an analysis block.
This would be acceptable, as I may catenate the files after. however I am new to nwchem and do not know how to write a loop to make this happen with all frames. This is my attempt:
python
num = 1
while (num <= 10):
input_parse('''
analysis
system mypdb
reference mypdb.rst
file mypdb.trj
write %d mypdb_%d_coord.xyz
end
''' % (num, num))
num += 1
end
task python
task analysis
Unfortunately, it only pays attention to the very last analysis block from the python loop, and I can't figure out how to run "task analysis" between each python while loop because input_parse() ignores task commands.
Any help is greatly appreciated, because I feel stuck and having trouble finding a solution online.
Thanks
|