write.pdb {bio3d} | R Documentation |
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, sse = FALSE,
print.segid = FALSE)
Arguments
pdb |
a PDB structure object obtained from
|
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. |
sse |
logical, if TRUE secondary structure annotations are written. |
print.segid |
logical, if FALSE segid will not be written. |
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.
Value
Called for its effect.
Note
Check that:
(1) chain
is one character long e.g. “A”, and
(2) resno
and eleno
do not exceed “9999”.
Author(s)
Barry Grant with contributions from Joao Martins.
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
# 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") )