coords: The Atomic Coordinates of an Object

View source: R/coords.R

coordsR Documentation

The Atomic Coordinates of an Object

Description

Get or set the atomic coordinates (either Cartesian or fractional coordinates) of an object.

Usage

coords(...)

coords(x) <- value

## Default S3 method:
coords(x1, x2, x3, basis = "xyz", ...)

## S3 method for class 'data.frame'
coords(x, basis = NULL, ...)

## S3 method for class 'matrix'
coords(x, basis = NULL, ...)

## S3 method for class 'atoms'
coords(x, ...)

## S3 replacement method for class 'atoms'
coords(x) <- value

## S3 method for class 'pdb'
coords(x, ...)

## S3 replacement method for class 'pdb'
coords(x) <- value

is.coords(x)

Arguments

...

further arguments passed to or from other methods.

x

an R object containing atomic coordinates.

value

an object of class ‘coords’ used for replacement

x1, x2, x3

numeric vectors containing the first, second and third coordinates.

basis

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

Details

The purpose of the ‘coords’ class is to store the coordinates of a molecular system and facilitate their manipulation when passing from the Cartesian to fractional coordinates and vice versa.
coords and coords<- are generic accessor and replacement functions.
The default method of the coords function is actually a builder allowing to create a ‘coords’ object from its different components, i.e.: x1, x2, x3, and basis. All the arguments have to be specified except 'basis' which by default is set to "xyz" (Cartesian coordinates).

For an object of class ‘atoms’, the accessor function extracts its x1, x2 and x3 components as well as its basis attribute to create a ‘coords’ object. The replacement function set its x1, x2 and x3 components as well as its basis attribute.

For an object of class ‘pdb’, the accessor function extracts the x1, x2 and x3 components as well as the basis attribute of its atoms component to create a ‘coords’ object. The replacement function set the x1, x2 and x3 components as well as the basis attribute of its atoms component.

For ‘matrix’ and ‘data.frame’ objects, when basis==NULL this function search x, y, z or a, b, c columns in x.
If x, y, z columns are found they are used to a set the first, second and third coordinates of the returned ‘coords’ object. In that case the basis set of x is set to "xyz".
If a, b, c columns are found they are used to a set the first, second and third coordinates of the returned ‘coords’ object. In that case the basis set of x is set to "abc".
If the function doesn't found neither the x, y, z nor the a, b, c columns an error is returned.
When basis!=NULL it has to be equal to "xyz" or "abc" and x must have exactly 3 columns.

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

Value

The accessor function returns a data.frame of class ‘coords’ whose columns contain the three coordinates of the atoms of a molecular system. The coordinates can either be Cartesian (basis attribute equal to "xyz") or fractional coordinates (basis attribute equal to "abc").

The replacement function returns an object of the same class as x with updated coordinates.

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

See Also

basis

Examples

x <- read.pdb(system.file("examples/PCBM_ODCB.pdb", package="Rpdb"))
is.coords(x)
is.coords(x$atoms)

## Replace the coordinates of x by translated coordinates
coords(x) <- coords(Tz(x, 10))
coords(x)


Rpdb documentation built on Sept. 28, 2023, 5:07 p.m.