Learn R Programming

bio3d (version 2.2-4)

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

# PDB server connection required - testing excluded

# 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