Calculate the radius of gyration of coordinate sets.

rgyr(xyz, mass=NULL, ncore=1, nseg.scale=1)

Arguments

xyz

a numeric vector, matrix or list object with an xyz component, containing one or more coordinate sets.

mass

a numeric vector of atomic masses (unit a.m.u.), or a PDB object with masses stored in the "B-factor" column. If mass==NULL, all atoms are assumed carbon.

ncore

number of CPU cores used to do the calculation. ncore>1 requires package ‘parallel’ installed.

nseg.scale

split input data into specified number of segments prior to running multiple core calculation. See fit.xyz.

Details

Radius of gyration is a standard measure of overall structural change of macromolecules.

Value

Returns a numeric vector of radius of gyration.

References

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

Author

Xin-Qiu Yao & Pete Kekenes-Huskey

See also

Examples

# \donttest{ # PDB server connection required - testing excluded # -- Calculate Rog of single structure pdb <- read.pdb("1bg2")
#> Note: Accessing on-line PDB file
#> Warning: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/1bg2.pdb exists. Skipping download
mass <- rep(12, length(pdb$xyz)/3) mass[substr(pdb$atom[,"elety"], 1, 1) == "N"] <- 14 mass[substr(pdb$atom[,"elety"], 1, 1) == "H"] <- 1 mass[substr(pdb$atom[,"elety"], 1, 1) == "O"] <- 16 mass[substr(pdb$atom[,"elety"], 1, 1) == "S"] <- 32 rgyr(pdb, mass)
#> [1] 19.8667
# } if (FALSE) { # -- Calculate Rog of a trajectory xyz <- read.dcd(system.file("examples/hivp.dcd", package="bio3d")) rg <- rgyr(xyz) rg[1:10] }