I’d like to do some post-processing which involves, e.g., assembling the full trajectory for an arbitrary particle in my system. I keep the dumped output of my entire MD run in a single dump file which is too big to fit into system memory. With ascii-based output (e.g. LAMMPS default or custom dump), assembling a single-particle trajectory is a slow operation, since the code needs to read line-by-line, so the run time scales like numAtoms*numTimesteps even if I just want to look at the first atom. I figured there would be some binary based format, e.g. DCD, which would be much more amenable to this kind of post-processing. I’d like to work in python if possible but that’s not strictly necessary.
There is MDTools (http://www.ks.uiuc.edu/Development/MDTools/Python/), but it looks like it can only read all particles for a single given DCD frame, rather than tracking a single particle for all frames. I might be wrong, but this is the impression I get when glancing at the docs. Am I right?
I just came across MDAnalysis: http://code.google.com/p/mdanalysis/
Anyone have any experience with it? Will it assembly single-particle trajectories from a DCD file (or other binary format) in reasonable amounts of time (order numTimesteps rather than order numAtoms*numTimesteps)?