R: Calculate the Angle Between Three Atoms

angle.xyz {bio3d} | R Documentation

## Calculate the Angle Between Three Atoms

### Description

A function for basic bond angle determination.

### Usage

    angle.xyz(xyz, atm.inc = 3)

### Arguments

`xyz` | a numeric vector of Cartisean coordinates.
`atm.inc` | a numeric value indicating the number of atoms to increment by between successive angle evaluations (see below).

### Value

Returns a numeric vector of angles.

### Note

With `atm.inc=1`, angles are calculated for each set of three successive atoms contained in `xyz` (i.e. moving along one atom, or three elements of `xyz`, between sucessive evaluations). With `atm.inc=3`, angles are calculated for each set of three successive non-overlapping atoms contained in `xyz` (i.e. moving along three atoms, or nine elements of `xyz`, between sucessive evaluations).

### Author(s)

Barry Grant

### References

Grant, B.J. et al. (2006) Bioinformatics 22, 2695–2696.

### See Also

`torsion.pdb`, `torsion.xyz`, `read.pdb`, `read.dcd`.

### Examples

    ## Read a PDB file
    pdb <- read.pdb( system.file("examples/1hel.pdb", package="bio3d") )

    ## Angle between N-CA-C atoms of residue four
    inds <- atom.select(pdb, resno=4, elety=c("N","CA","C"))
    angle.xyz(pdb$xyz[inds$xyz])

    ## Basic stats of all N-CA-C bound angles
    inds <- atom.select(pdb, elety=c("N","CA","C"))
    summary( angle.xyz(pdb$xyz[inds$xyz]) )
    #hist( angle.xyz(pdb$xyz[inds$xyz]), xlab="Angle" )

[Package bio3d version 2.4-2 Index]