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

From: Daniel Roe <>
Date: Mon, 20 Jul 2015 17:40:53 -0600


I don't think there is a way to do exactly what you want here. If you
really want to divide the trajectory into separate states you're probably
better off conducting cluster analysis (which will ensure no overlap by
definition) or at least making your cutoffs more strict (in my mind if your
metrics that you're using to define states overlap, then they aren't good

Check out the 'maxmin' keyword for the 'outtraj' command, which will write
out frames based on specified criteria. It works in a similar fashion to
'filter' but doesn't prevent subsequent actions from executing. For example,

reference /home/ds9ug/pdb/closed_backbone.pdb [CLOSED]
reference /home/ds9ug/pdb/semiopen_backbone.pdb [SEMI]
rmsd closed :45-55,79-82.CA,N,C ref [CLOSED]
rmsd semiopen :45-55,79-82.CA,N,C ref [SEMI]
outtraj maxmin semiopen min 0 max 2.0
outtraj maxmin closed min 0 max 2.0

Also note there were a couple of issues with the input you posted. For
example, you shouldn't give two reference structures the same tag:

> *reference /home/ds9ug/pdb/closed_backbone.pdb [xtal]*
> *reference /home/ds9ug/pdb/semiopen_backbone.pdb [xtal]*

Cpptraj should complain about this. The problem is that when you
subsequently refer to this tag cpptraj will use only the first structure it
encounters. In the example input above I have given the different reference
structures different tags.

Also, 'bound' is not a keyword that is recognized by the cpptraj 'rmsd'
command; cpptraj should have exited with an error upon encountering this
input (unless 'noexitonerror' was previously specified). What version of
cpptraj are you running?


On Mon, Jul 20, 2015 at 4: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

Daniel R. Roe, PhD
Department of Medicinal Chemistry
University of Utah
30 South 2000 East, Room 307
Salt Lake City, UT 84112-5820
(801) 587-9652
(801) 585-6208 (Fax)
AMBER mailing list
Received on Mon Jul 20 2015 - 17:00:02 PDT
Custom Search