Ambiguous rotation values



Dear All,
 We are trying to sample all possible rotations of a rigid ligand in a discrete
 3D space. We define the rotation using a1x, a2x, a3x and A, where
 (a1x,a2x,a3x) is the unit vector in the direction of the axis and A is the
 angle of rotation in radians. The unit vector is defined by two degrees of
 freedom namely: spherical angles theta and phi, and is calculated from them.
 We are using the rotate function from the BTL package
 (http://bioinformatics.org/project/?group_id=184)
 Unfortunately, sometimes we get identical conformations, while using different
 input to the function. How can this problem can be avoided?
 Every idea will be highly appreciated
 PS
 Some additional details:
 we use discrete value for phi, theta and A:
 0<phi<2*PI,
 0<A<2*PI,
 0<theta<PI
 a1x=sin(theta)*cos(phi),
 a2x=sin(theta)*sin(phi),
 a3x=cos(theta).
 The rotate function is based on the following rotation matrix:
 [cosA+a1x.a1x(1-cosA)      -a3xsinA+a1a2(1-cosA)	a2xsinA+a1xa3x(1-cosA) ]
 [a3xsinA+a1xa2(1-cosA)    cosA+a2xa2x(1-cosA)   	-a1xsinA+a2xa3x(1-cosA)]
 [-a2xsinA+a3xa1x(1-cosA)   a1xsinA+(1-cosA)a2xa3x 	cosA+(1-cosA)a3xa3x   ]
 --
 Boris Gorelik
 -= ( 2*b || !(2*b)) That's the question =-
 Sun, 29/Jun/2003, 30 Sivan 5763
 -------------------------------------------------
 ! Molecular Modelling Group !
 ! Pharmacy School, Hadassa Faculty of medicine !
 ! The Hebrew University of Jerusalem !
 ! http://www.md.huji.ac.il/models/group.html !
 !
 !------------------------------------------------