distances {Rpdb}R Documentation

Inter-Atomic Distances

Description

Computes inter-atomic distance vectors.

Usage

distances(...)

## Default S3 method:
distances(
  dx1 = numeric(0),
  dx2 = numeric(0),
  dx3 = numeric(0),
  basis = "xyz",
  ...
)

## S3 method for class 'coords'
distances(x, sel1, sel2, ...)

## S3 method for class 'atoms'
distances(x, sel1, sel2, ...)

## S3 method for class 'pdb'
distances(x, sel1, sel2, ...)

is.distances(x)

norm(...)

## S3 method for class 'distances'
norm(x, type = "xyz", ...)

Arguments

...

further arguments passed to or from other methods.

dx1, dx2, dx3

numeric arrays containing the first, second and third components of the distance vectors.

basis

a single element character vector indicating the type of basis vector used to express the coordinates.

x

an R object containing atomic coordinates.

sel1, sel2

integer or logical vectors defining two atomic selections between which the distance vectors are computed.

type

a single element character vector indicating how to project the distances vectors before computing the norms. See details.

Details

The purpose of the ‘distances’ class is to store the inter-atomic distance vectors and facilitate their manipulation when passing from the Cartesian to fractional references and vice versa.
The default method of the distances function is actually a builder allowing to create a ‘distances’ object from its different components, i.e.: dx1, dx2, dx3, and basis. All the arguments have to be specified except 'basis' which by default is set to "xyz" (Cartesian reference).

For objects of class ‘coords’, ‘atoms’, ‘pdb’, two sets of atomic coordinates, defined by sel1 and sel2, are extracted and inter-atomic distance vectors are computed between these two sets.

The method of the norm function for objects of class ‘distances’ computes the norm of the distances vectors. type specify how to project the distance vectors before computing the norms. By default no projection is perform. The three dx, dy, and dz components of the distance vectors are used to compute the norm. type can take the following values:

is.distances tests if x is an object of class ‘distances’, i.e. if x has a “class” attribute equal to distances.

Value

The distance function return an object of class ‘distances’ containing inter-atomic distance vectors. The norm function return an array, with the same dimensions as the dx1, dx2, dx3 components of the ‘distances’ object for which the norms have to be computed, containing the norm of the distance vectors.

is.distances returns TRUE if x is an object of class ‘distances’ and FALSE otherwise

See Also

coords, basis, xyz2abc, abc2xyz

Examples

x <- read.pdb(system.file("examples/PCBM_ODCB.pdb", package="Rpdb"))
is.DCB7 <- x$atoms$resname == "DCB" & x$atoms$resid == 7
is.DCB8 <- x$atoms$resname == "DCB" & x$atoms$resid == 8
d <- distances(x, is.DCB7, is.DCB8)
norm(d, type = "xyz")
norm(d, type = "xy")
norm(d, type = "x")


[Package Rpdb version 2.3.4 Index]