Read CRD File

Usage

"read.crd"(file, ext = TRUE, verbose = TRUE, ...)

Arguments

file
the name of the CRD file to be read.
ext
logical, if TRUE assume expanded CRD format.
verbose
print details of the reading process.
...
arguments going nowhere.

Description

Read a CHARMM CARD (CRD) coordinate file.

Details

See the function read.pdb for more details.

Value

Returns a list with the following components:
atom
a character matrix containing all atomic coordinate data, with a row per atom and a column per record type. See below for details of the record type naming convention (useful for accessing columns).

xyz
a numeric vector of coordinate data.

calpha
logical vector with length equal to nrow(atom) with TRUE values indicating a C-alpha “elety”.

References

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

For a description of CHARMM CARD (CRD) format see: http://www.charmmtutorial.org/index.php/CHARMM:The_Basics.

Note

Similar to the output of read.pdb, the column names of atom can be used as a convenient means of data access, namely: Atom serial number “eleno”, Atom type “elety”, Alternate location indicator “alt”, Residue name “resid”, Residue sequence number “resno”, Code for insertion of residues “insert”, Orthogonal coordinates “x”, Orthogonal coordinates “y”, Orthogonal coordinates “z”, Weighting factor “b”. See examples for further details.

Examples

pdb <- read.pdb("1bg2")
Note: Accessing on-line PDB file
crdfile <- paste(tempfile(), '.crd', sep='') write.crd(pdb, file=crdfile) crd <- read.crd(crdfile, ext=FALSE)
1 3 ASP N 43.74300 -2.10600 39.40800 A 3 100.00000 2 3 ASP CA 45.05300 -2.66100 39.85600 A 3 100.00000 3 3 ASP C 45.30500 -2.40100 41.34000 A 3 100.00000
ca.inds <- which(crd$calpha) crd$atom[ca.inds[1:20],c("x","y","z")]
x y z [1,] "45.05300" "-2.66100" "39.85600" [2,] "44.79100" "-1.07900" "43.31900" [3,] "42.45100" "-3.69100" "44.79000" [4,] "40.33400" "-4.57200" "41.73700" [5,] "36.71100" "-3.53200" "42.17100" [6,] "36.94000" "-0.63600" "44.62000" [7,] "33.15200" "-0.58800" "44.61500" [8,] "31.26600" "0.46900" "47.71900" [9,] "27.50600" "0.28400" "47.95400" [10,] "25.35400" "2.27500" "50.35700" [11,] "21.59500" "1.82500" "50.57400" [12,] "19.61700" "4.96000" "51.35900" [13,] "15.98900" "4.74800" "52.41800" [14,] "13.92000" "7.91100" "52.27800" [15,] "10.89400" "8.75300" "54.46100" [16,] "7.47700" "7.51800" "53.37300" [17,] "5.89100" "10.27900" "51.32200" [18,] "2.41200" "11.71600" "51.73100" [19,] "1.16300" "9.79300" "48.69700" [20,] "2.30600" "6.49900" "50.21400"
# write.pdb(crd, file=tempfile())