Learn R Programming

bio3d (version 2.1-2)

write.pdb: Write PDB Format Coordinate File

Description

Write a Protein Data Bank (PDB) file for a given xyz Cartesian coordinate vector or matrix.

Usage

write.pdb(pdb = NULL, file = "R.pdb", xyz = pdb$xyz, type = NULL, resno = NULL,
 resid = NULL, eleno = NULL, elety = NULL, chain = NULL, insert = NULL, 
 alt = NULL, o = NULL, b = NULL, segid = NULL, elesy = NULL, charge = NULL, 
append = FALSE, verbose = FALSE, chainter = FALSE, end = TRUE, print.segid = FALSE)

Arguments

pdb
a PDB structure object obtained from read.pdb.
file
the output file name.
xyz
Cartesian coordinates as a vector or 3xN matrix.
type
vector of record types, i.e. "ATOM" or "HETATM", with length equal to length(xyz)/3.
resno
vector of residue numbers of length equal to length(xyz)/3.
resid
vector of residue types/ids of length equal to length(xyz)/3.
eleno
vector of element/atom numbers of length equal to length(xyz)/3.
elety
vector of element/atom types of length equal to length(xyz)/3.
chain
vector of chain identifiers with length equal to length(xyz)/3.
insert
vector of insertion code with length equal to length(xyz)/3.
alt
vector of alternate record with length equal to length(xyz)/3.
o
vector of occupancy values of length equal to length(xyz)/3.
b
vector of B-factors of length equal to length(xyz)/3.
segid
vector of segment id of length equal to length(xyz)/3.
elesy
vector of element symbol of length equal to length(xyz)/3.
charge
vector of atomic charge of length equal to length(xyz)/3.
append
logical, if TRUE output is appended to the bottom of an existing file (used primarly for writing multi-model files).
verbose
logical, if TRUE progress details are printed.
chainter
logical, if TRUE a TER line is inserted at termination of a chain.
end
logical, if TRUE END line is written.
print.segid
logical, if FALSE segid will not be written.

Value

  • Called for its effect.

Details

Only the xyz argument is strictly required. Other arguments assume a default poly-ALA C-alpha structure with a blank chain id, occupancy values of 1.00 and B-factors equal to 0.00. If the input argument xyz is a matrix then each row is assumed to be a different structure/frame to be written to a multimodel PDB file, with frames separated by END records.

References

Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696. For a description of PDB format (version3.3) see: http://www.wwpdb.org/documentation/format33/v3.3.html.

See Also

read.pdb, read.dcd, read.fasta.pdb, read.fasta

Examples

Run this code
# Read a PDB file
pdb <- read.pdb( "1bg2" )

# Renumber residues
nums <- as.numeric(pdb$atom[,"resno"])
nums <- nums - (nums[1] - 1)

# Write out renumbered PDB file
outfile = file.path(tempdir(), "eg.pdb")
write.pdb(pdb=pdb, resno = nums, file = outfile)

invisible( cat("\nSee the output file:", outfile, sep = "\n") )

Run the code above in your browser using DataLab