Amber-MD / pytraj

Python interface of cpptraj
https://amber-md.github.io/pytraj
167 stars 38 forks source link

write_traj problem when selecting a mask and specific frames #1616

Open krlitros87 opened 1 year ago

krlitros87 commented 1 year ago

Hi, I'm trying to save multiple frames from a trajectory, extracting only a selection (with mask) of atoms/residues pt.write_traj('t.pdb',traj,overwrite=True,options='multi',frame_indices=range(0,traj.n_frames,int(traj.n_frames/int(frames)))) This creates a single pdb file without problems.

But when trying to save only a selection of atoms per file, pt.write_traj('t.pdb',traj(mask=(':1-476')),overwrite=True,options='multi',frame_indices=range(0,traj.n_frames,int(traj.n_frames/int(frames)))) it will save all the frames of the simulation, instead of the selection of frames I choose with 'frame_indices'

What could be the problem? Thanks!

hainm commented 1 year ago

Dear @krlitros87 It's a known bug. Can you please try pytraj.iterframe instead?

pt.write_traj("abc.pdb", pt.iterframe(traj, mask='@CA', frame_indices = range(0, 8, 2)),  options='multi')