translation: Translation of Atomic Coordinates

translationR Documentation

Translation of Atomic Coordinates

Description

Translation of Cartesian or fractional coordinates.

Usage

Txyz(...)

## S3 method for class 'coords'
Txyz(
  obj,
  x = 0,
  y = 0,
  z = 0,
  mask = TRUE,
  thickness = NULL,
  cryst1 = NULL,
  ...
)

## S3 method for class 'pdb'
Txyz(
  obj,
  x = 0,
  y = 0,
  z = 0,
  mask = TRUE,
  thickness = NULL,
  cryst1 = obj$cryst1,
  ...
)

Tabc(...)

## S3 method for class 'coords'
Tabc(
  obj,
  a = 0,
  b = 0,
  c = 0,
  mask = TRUE,
  thickness = NULL,
  cryst1 = NULL,
  ...
)

## S3 method for class 'pdb'
Tabc(
  obj,
  a = 0,
  b = 0,
  c = 0,
  mask = TRUE,
  thickness = NULL,
  cryst1 = obj$cryst1,
  ...
)

Arguments

...

further arguments passed to or from other methods.

obj

an R object containing atomic coordinates.

x

the x-component of the translation vector.

y

the y-component of the translation vector.

z

the z-component of the translation vector.

mask

a logical vector indicating the set of coordinates to which to apply the translation.

thickness

a numeric value indicating the fraction of the thicknees of the selected atom to be added to the translation vector (Usually 0, 0.5 or 1. See details).

cryst1

an object of class ‘cryst1’ use to convert Cartesian into fraction coordinates (or Vis Versa) when need.

a

the a-component of the translation vector.

b

the b-component of the translation vector.

c

the c-component of the translation vector.

Details

Txyz and Tabc are generic functions. Method for objects of class ‘coords’ first convert the coordinates into Cartesian or fractional coordinates using cryst1 if needed to performed the translation. Once translated, the coordinates are reconverted back to the orginal basis set using again cryst1. Method for objects of class ‘pdb’ first extract coordinates from the object using the function coords, perform the translation, and update the coordinates of the ‘pdb’ object using the function coords<-. The thickness argument can be use to translate selected atoms by a fraction of its thickness along the translation direction. This can be use when merging two fragments centered at the origin to build a dimer to avoid atomic overlap and set the inter-fragment distance (see examples).

Value

An object of the same class as x with translated coordinates.

See Also

Helper functions for translation along given Cartesian or lattice vector:
Tx, Ty, Tz, Ta, Tb, Tc
Passing from Cartesian to fractional coordinates (or Vis Versa):
xyz2abc, abc2xyz

Examples

# First lets read a pdb file
x <- read.pdb(system.file("examples/PCBM_ODCB.pdb", package="Rpdb"))
visualize(x, mode = NULL)
visualize(Txyz(x, y=10), mode = NULL)
visualize(Txyz(x, y=10, mask = x$atoms$resid==1), mode = NULL)
visualize(Tabc(x, b=1 ), mode = NULL)
visualize(Tabc(x, b=1 , mask = x$atoms$resid==1), mode = NULL)

# Lets build a C70/Pentacene dimer with an inter-molecular distance equal to 3.5
C70 <- read.pdb(system.file("examples/C70.pdb", package="Rpdb"))
Pen <- read.pdb(system.file("examples/Pentacene.pdb", package="Rpdb"))
x <- merge(C70, Pen)
visualize(x, mode = NULL)
viewXY()
visualize(Txyz(x, x=0, y=0, z=3.5, mask = x$atoms$resname == "C70", thickness=0.5), mode = NULL)
viewXY()


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