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
>