From: JC Gumbart (gumbart_at_ks.uiuc.edu)
Date: Wed Dec 22 2010 - 18:07:46 CST

I'm pretty sure that measure rmsd doesn't support user-supplied ordering. Manually re-ordering the atoms seems to be your only option. Sorry!

On Dec 22, 2010, at 11:43 AM, Lisa Perez wrote:

>
> Thank you. I did find the order option for measure fit (documented) in the vmd manual. :) I should have put "automated" instead of "easy way" to get the vmd measure fit to use the order I give it... I did write a little script to find the order parameter which may be of use to someone (need to use a newer version of vmd which has tcl that supports the -indices flag):
>
> # need to find the transormation matrix to get the ordering correct (vmd reorders by increasing index)
> # this routine is for 4 atoms (specified by serial number) used in the rmsd but can be modified for more.
> set ref {163 164 141 142}
> set other { 13 29 6 16 }
> set indexref [lsort -integer -increasing -indices $ref]
> set indexother [lsort -integer -increasing -indices $other]
> set reorder [list]
> for {set i 0} { $i < 4 } { incr i 1 } {
> for {set j 0} { $j < 4 } { incr j 1 } {
> if { [ lindex $indexref $i ] == [ lindex $indexother $j ] } { lappend reorder $j }
> }
> }
>
> I do have another question... I noticed that in the documentation, the order option is not listed for measure rmsd I have tried both and get slightly different values but the results is still far too large (should be around 0.5 and I am getting 3.6) I am calling the measure rmsd after I use my transformation matrix to overlay the 2 molecules. The overlay looks good but the rmsd value does not...
>
> Can I get the rmsd value directly from the measure fit command? I manually reordered the atoms of interest and the rmsd command gives the correct value... Is there another workaround or have I don't something wrong in the measure rmsd command?
>
> set trans_matrix [measure fit $other_frame $ref_frame order "$reorder"]
> set move_sel [atomselect 0 "all"]
> $move_sel move $trans_matrix
> set rmsdval [measure rmsd $other_frame $ref_frame order "$reorder"]
>
> As I mentioned, the above gives a good visual overlay but a bad rmsd value...
>
> Thank you,
>
> Lisa M. Pérez, Ph.D.
>
> Texas A&M University
> Laboratory for Molecular Simulation, Manager
> Graduate Faculty
> http://lms.chem.tamu.edu/
>
> Department of Chemistry
> 580 Ross Street
> College Station, TX 77842
>
> Chemistry Bldg. RM. 2109
> Ofc: (979) 845-9384
> Fax: (979) 845-2971
>
>
>
> On Dec 21, 2010, at 9:40 PM, JC Gumbart wrote:
>
>> Indeed, there is a way to do this with a (still undocumented?) order parameter. See Leo's post here: http://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/10172.html
>>
>>
>> On Dec 21, 2010, at 2:38 PM, Lisa Perez wrote:
>>
>>>
>>> I just discovered that it is an ordering problem... Has anyone discovered an "easy way" to get vmd measure fit to use the order you give it instead of numerical order?
>>>
>>> Sincerely,
>>>
>>> Lisa M. Pérez, Ph.D.
>>>
>>> Texas A&M University
>>> Laboratory for Molecular Simulation, Manager
>>> Graduate Faculty
>>> http://lms.chem.tamu.edu/
>>>
>>> Department of Chemistry
>>> 580 Ross Street
>>> College Station, TX 77842
>>>
>>> Chemistry Bldg. RM. 2109
>>> Ofc: (979) 845-9384
>>> Fax: (979) 845-2971
>>>
>>>
>>>
>>> On Dec 21, 2010, at 1:30 PM, Lisa Perez wrote:
>>>
>>>>
>>>> I am trying to rmsd a small molecule against a small protein using a subset of 4 atoms and am getting odd results. If I remove all of the 4 atoms of interest from the pdb files and proceed with the rmsd fit, I get expected results but, if the other atoms are present, I get poor results. Here is the small script that I am using to rmsd my 2 molecules (molid 0 is my small molecule and molid 1 is my small protein):
>>>>
>>>> set ref_frame [ atomselect 1 "serial 163 164 141 142" ]
>>>> set other_frame [ atomselect 0 "serial 13 29 6 16" ]
>>>> set trans_matrix [measure fit $other_frame $ref_frame]
>>>> set move_sel [atomselect 0 "all"]
>>>> $move_sel move $trans_matrix
>>>> set rmsdval [measure rmsd $other_frame $ref_frame]
>>>> puts $rmsdval
>>>>
>>>> I have also tried using index instead of serial number. 1 atom overlays perfectly... more than 1 does not.
>>>>
>>>> Any comments and/or help would be greatly appreciated.
>>>>
>>>> Sincerely,
>>>>
>>>> Lisa M. Pérez, Ph.D.
>>>>
>>>> Texas A&M University
>>>> Laboratory for Molecular Simulation, Manager
>>>> Graduate Faculty
>>>> http://lms.chem.tamu.edu/
>>>>
>>>> Department of Chemistry
>>>> 580 Ross Street
>>>> College Station, TX 77842
>>>>
>>>> Chemistry Bldg. RM. 2109
>>>> Ofc: (979) 845-9384
>>>> Fax: (979) 845-2971
>>>>
>>>>
>>>>
>>>
>>
>