From: Aiswarya Pawar (aiswarya.pawar_at_gmail.com)
Date: Thu Oct 09 2014 - 22:51:41 CDT

Brian and Josh, Thank you so much for reply.

Why am doing this instead of dihedral command is because i wanted to check
individual values for cos and sin. So is there anyway i could rectify the
signs it giving?

Thank you,
Aiswarya

On Fri, Oct 10, 2014 at 12:02 AM, Aiswarya <aiswarya.pawar_at_gmail.com> 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
>
>