Re: [AMBER] CPPTRAJ - Filtering frames based on lowest of the two RMSD values

From: Hai Nguyen <>
Date: Mon, 20 Jul 2015 19:00:43 -0400


I don't have a clear (and detail) answer for you with cpptraj' command line.

But if you like python, you can try `pytraj` (front end of cpptraj) with
`numpy.where` method.

Example is here (

basically you can use `pytraj` to write a new trajectory with given frame
indices (note: in python, index starts from 0). Your job is to make an
"indices" and pass is to `pytraj`.

Let me know you need further help with pytraj (or let me know if the
trajectory writing is slow, it's not optimized for indices yet).


On Mon, Jul 20, 2015 at 6:30 PM, Stevens, David <>

> To whom this concerns,
> I am trying to figure out a way to specify and filter frames between
> two different conformations of my protein. I would like to create a new
> trajectory file of only the closed conformation and another one of only the
> semi-open. I have two crystal structures that I am referencing and
> performing an RMSD calculation against with a 2.5 Angstrom cutoff. I
> would like any frames that do not meet the 2.5 Angstrom criteria for either
> of the crystal structures to not be included into either of my new
> trajectories (If it could turn into a third trajectory, that would be
> awesome).
> The difficulty that I am running into is that there are some frames in my
> original trajectory that have an RMSD of lower than 2.5 for both
> conformations. In this case I would like the frame to be "binned" into the
> new trajectory that has the lowest RMSD.
> Ex: Frame 733 has an RMSD value of 2.1 for closed and 1.4 for
> semi-open. In this case, I would like a binning to the lowest RMSD to
> occur and Frame 733 to be put into the new trajectory for the semi-open
> conformation.
> I have used the Filter command for cpptraj before, but only to specify
> what frames I want based on a single comparison of RMSD. In this case,
> there are two RMSD comparisons occurring at the same time and I have not
> been able to figure out a way to make this happen.
> Below is my cpptraj input:
> *trajin Combined_ALL_Traj.pdb *
> *reference /home/ds9ug/pdb/closed_backbone.pdb [xtal]*
> *rmsd closed :45-55,79-82.CA,N,C bound 0 bound 2.5 ref [xtal]*
> *reference /home/ds9ug/pdb/semiopen_backbone.pdb [xtal]*
> *rmsd semiopen :45-55,79-82.CA,N,C bound 0 bound 2.5 ref [xtal]*
> *#distance dist :50.CA :149.CA *
> *#filter dist min 12 max 46 out filter.dat *
> *filter rmsd min 0 max 2.5 filter_rmsd.dat*
> *trajout semi_open_filtered.pdb pdb*
> Any help would be fantastic.
> Thank you,
> David
> _______________________________________________
> AMBER mailing list
AMBER mailing list
Received on Mon Jul 20 2015 - 16:30:02 PDT
Custom Search