• Outreach

From: Josh Vermaas (vermaas2_at_illinois.edu)
Date: Thu Oct 09 2014 - 15:31:13 CDT

Hi Aiswarya,

Is there a good reason you aren't using "measure dihed"? The syntax is
going to be much simpler, and you won't be approximating pi by 3.14...

measure dihed [list 86 89 75 23]

-Josh Vermaas

On 10/09/2014 01:32 PM, Aiswarya wrote:
> Dear Users,
> Am trying to calculate rotational angle for a given 4 atoms, am getting the value of angle correct but its not differentiating between +ve and -ve. Ie if the angle between 4 atoms is -177 degrees am getting 177 degree, and there is no -ve sign to it. Below is the script i have used.
>
>
>> # Computes the dihedral angle of a bond
>>
>> set coord1 [lindex [[atomselect top "index 86" ] get {x y z}] 0]
>> set coord2 [lindex [[atomselect top "index 89" ] get {x y z}] 0]
>> set coord3 [lindex [[atomselect top "index 75" ] get {x y z}] 0]
>> set coord4 [lindex [[atomselect top "index 23"] get {x y z}] 0]
>> set v1 [vecsub \$coord1 \$coord2]
>> set v2 [vecsub \$coord3 \$coord2]
>> set v3 [vecsub \$coord4 \$coord3]
>>
>> set cross1 [vecnorm [veccross \$v2 \$v1]]
>> set cross2 [vecnorm [veccross \$v2 \$v3]]
>> set cos [vecdot \$cross1 \$cross2]
>> set rotvec [veccross \$cross1 \$cross2]
>> set sin [veclength \$rotvec]
>> set angle [expr atan2(\$sin,\$cos)*(180.0/3.14)]
>> return \$angle
> Please someone tell me were am going wrong.
>
>
> Thank you so much,
> Aiswarya
>