## VMD-L Mailing List

**From:** Ashar Malik (*asharjm_at_gmail.com*)

**Date:** Tue Mar 20 2018 - 10:00:57 CDT

**Next message:**Francesco Pietra: "Re: Adding Hydroxide Ions to the simulation box"**Previous message:**Brian Radak: "Re: Adding Hydroxide Ions to the simulation box"**In reply to:**Peter Mawanga: "Propagating PDB coordinates using Quaternion matrix"**Next in thread:**Ashar Malik: "Re: Propagating PDB coordinates using Quaternion matrix"**Maybe reply:**Ashar Malik: "Re: Propagating PDB coordinates using Quaternion matrix"**Maybe reply:**Peter Mawanga: "Re: Propagating PDB coordinates using Quaternion matrix"**Messages sorted by:**[ date ] [ thread ] [ subject ] [ author ] [ attachment ]

Your transformation matrix was calculated for a certain angle of rotation.

Right? What is that angle?

If the angle was say 180 degrees than 2 rotations will bring the structure

back to its starting point.

What is the structure that you are working with? Is it a protein? something

symmetric?

Are you still trying to do the same thing as before? By before I mean when

you question was originally answered?

On Wed, Mar 21, 2018 at 3:29 AM, Peter Mawanga <

peter.mawanga.lagos_at_gmail.com> wrote:

*> Hello VMD users
*

*>
*

*> I want to apply a 4*4 Quaternion Transformation Matrix "M" to a set of PDB
*

*> coordinates to get propagating structures.
*

*>
*

*> Upon applying the matrix M successively to the PDB coordinates, I don't
*

*> get propagating structures. But instead get back to the starting
*

*> coordinates after second successive transformation.
*

*>
*

*> The first transformation works well and gives me a dataset "ds2". However,
*

*> upon applying the transformation matrix M to ds2, I get back to the
*

*> original dataset "ds1", instead of a distinct dataset "ds3".
*

*>
*

*> Is there any way of escaping this? Please check the text and link given
*

*> below:
*

*>
*

*> "Then we consecutively docked to each of the dimers additional copies of
*

*> the centroid (one at a time) with docking rotation and translation
*

*> parameters, as were used in the initial docking complex configuration
*

*> selected by the Hex program, to extend the dimers. This procedure used
*

*> three-dimensional (3D) transformation matrices that were preliminarily
*

*> calculated for each of the starting dimers."
*

*>
*

*> https://content.iospress.com/download/journal-of-
*

*> alzheimers-disease/jad131589?id=journal-of-alzheimers-disease%2Fjad131589
*

*>
*

*>
*

*> Forwarded conversation
*

*> Subject: vmd-l: Writing all transformed coordinates into single file
*

*> ------------------------
*

*>
*

*> From: Peter Mawanga <peter.mawanga.lagos_at_gmail.com>
*

*> Date: Thu, Mar 15, 2018 at 12:53 AM
*

*> To: Vmd l <vmd-l_at_ks.uiuc.edu>
*

*>
*

*>
*

*> Dear VMD users
*

*>
*

*> I am trying to apply a transformation matrix successively to a set of pdb
*

*> coordinates and save the coordinates after each transformation into a
*

*> single pdb file. I have been able to write the coordinates separately to
*

*> multiple files though. My code (attempt) is given below:
*

*>
*

*> set sel [atomselect top all]
*

*> set matrix {<4 * 4 transformation matrix>}
*

*> set n {10}
*

*>
*

*> for {set i 0} {$i < $n} {incr i} {
*

*> animate write pdb $i.pdb
*

*> $sel move $matrix
*

*> $sel update
*

*> }
*

*>
*

*> $sel delete
*

*>
*

*> The "beg <first frame> end <last frame>" could not be applied in this
*

*> case, since only one frame is involved. Kindly let me know your suggestions.
*

*>
*

*> --
*

*> Cheers
*

*> Peter
*

*>
*

*> ----------
*

*> From: Vermaas, Joshua <Joshua.Vermaas_at_nrel.gov>
*

*> Date: Thu, Mar 15, 2018 at 2:21 AM
*

*> To: Peter Mawanga <peter.mawanga.lagos_at_gmail.com>, Vmd l <
*

*> vmd-l_at_ks.uiuc.edu>
*

*>
*

*>
*

*> Hi Peter,
*

*>
*

*> If I understand this correctly, you start from one molecule loaded with a
*

*> single frame, apply a single transformation matrix n times, and end up with
*

*> n+1 total frames written out to some file. If so, you just need to call
*

*> "animate dup" at the appropriate time, making your script look like this:
*

*>
*

*>
*

*> set sel [atomselect top all]
*

*> set matrix {<4 * 4 transformation matrix>}
*

*> set n {10}
*

*>
*

*> for {set i 1} {$i <= $n} {incr i} {
*

*> animate dup frame [expr {$i-1}] top
*

*> $sel frame $i
*

*> $sel move $matrix
*

*> }
*

*> animate write pdb $i.pdb
*

*> $sel delete
*

*>
*

*>
*

*> The other (slower) alternative is to load your initial pdb multiple times
*

*> until you have as many frames as you need, and then apply your
*

*> transformation successively.
*

*>
*

*> -Josh
*

*>
*

*> ----------
*

*> From: Peter Mawanga <peter.mawanga.lagos_at_gmail.com>
*

*> Date: Thu, Mar 15, 2018 at 6:05 PM
*

*> To: "Vermaas, Joshua" <Joshua.Vermaas_at_nrel.gov>
*

*> Cc: Vmd l <vmd-l_at_ks.uiuc.edu>
*

*>
*

*>
*

*> Hello Josh
*

*>
*

*> Thanks a lot! Yes what you have written is the case. I had never used
*

*> "dup" before. The above command works except:
*

*>
*

*> animate dup frame [expr {$i-1}] top
*

*>
*

*> Needs to be replaced with:
*

*>
*

*> animate dup frame [expr {$i-1}] <molID>
*

*>
*

*> I then replaced all the "END" keywords in the output PDB file with "TER";
*

*> as I want to view all of the transformations together.
*

*>
*

*> --
*

*> Cheers
*

*> Peter
*

*>
*

*>
*

*>
*

*>
*

*> --
*

*> Cheers
*

*> Peter
*

*>
*

-- Best, /A

**Next message:**Francesco Pietra: "Re: Adding Hydroxide Ions to the simulation box"**Previous message:**Brian Radak: "Re: Adding Hydroxide Ions to the simulation box"**In reply to:**Peter Mawanga: "Propagating PDB coordinates using Quaternion matrix"**Next in thread:**Ashar Malik: "Re: Propagating PDB coordinates using Quaternion matrix"**Maybe reply:**Ashar Malik: "Re: Propagating PDB coordinates using Quaternion matrix"**Maybe reply:**Peter Mawanga: "Re: Propagating PDB coordinates using Quaternion matrix"**Messages sorted by:**[ date ] [ thread ] [ subject ] [ author ] [ attachment ]