# Re: angle between 2 vectors as collective variable

From: Giacomo Fiorin (giacomo.fiorin_at_gmail.com)
Date: Thu Mar 26 2015 - 10:16:25 CDT

So, obviously "angle" function is what you're looking for if you have three
groups (A, B, and C) and you want to calculate the angle between the B-->A
vector and the B-->C vector.

that, where the "B" group isn't shared, but you have four independent
groups, and the vectors are B-->A and C-->D.

So you can do something like this:
- translate A so that B is centered on the origin
- translate D so that C is centered on the origin
- calculate the angle between the origin-->A vector and the origin-->D
vector

You can do that with centerReference, which allows you to translate the
positions of a group (e.g. the A group), and refPositionsGroup, which
allows you to use an additional group for the fitting (e.g. the B group).

colvar {
angle {
group1 {
# define here the "A" group
centerReference yes
rotateReference no
refPositionsGroup {
# define here the "B" group
}
refPositionsFile file.pdb # a set of positions for "B" that is
centered on the origin
}
group2 { dummyAtom (0, 0, 0) }
group3 {
# define here the "D" group
centerReference yes
rotateReference no
refPositionsGroup {
# define here the "C" group
}
refPositionsFile file.pdb # a set of positions for "C" that is
centered on the origin
}
}
}

Note that you need to disable rotateReference, otherwise the rotational fit
of groups B or C will change the orientation of the vectors.

Giacomo

On Thu, Mar 26, 2015 at 11:03 AM, Vlad Cojocaru <

> As distance vectors from positions ...
>
>
> On March 26, 2015 3:58:26 PM CET, Giacomo Fiorin <giacomo.fiorin_at_gmail.com>
> wrote:
>>
>> Hello Vlad, it depends on how the two vectors are being calculated from,
>> e.g. as distance vectors between two positions or axes of rotation.
>>
>> Giacomo
>>
>> On Thu, Mar 26, 2015 at 10:17 AM, Vlad Cojocaru <
>>
>>> Dear all,
>>>
>>> This might be a trivial question but somehow I am not able to find an
>>> answer to it. Is it possible to define the angle between 2 vectors as
>>> collective variable within the COLVAR module ?
>>>
>>> Thanks for any tips
>>>
>>> Best wishes
>>>
>>> --
>>> Computational Structural Biology Laboratory
>>> Department of Cell and Developmental Biology
>>> Max Planck Institute for Molecular Biomedicine
>>> Röntgenstrasse 20, 48149 Münster, Germany
>>> Tel: +49-251-70365-324; Fax: +49-251-70365-399
>>> http://www.mpi-muenster.mpg.de/43241/cojocaru
>>>
>>>
>>
>>
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.
>

```--
Giacomo Fiorin
Assistant Professor of Research
Institute for Computational Molecular Science (ICMS)
College of Science and Technology, Temple University
1925 North 12th Street (035-07), Room 704D