write.pdb.RdWrite a Protein Data Bank (PDB) file for a given ‘xyz’ Cartesian coordinate vector or matrix.
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)
| 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. |
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.
Called for its effect.
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.
Barry Grant with contributions from Joao Martins.
Check that:
(1) chain is one character long e.g. “A”, and
(2) resno and eleno do not exceed “9999”.
read.pdb, read.dcd,
read.fasta.pdb, read.fasta
# \donttest{ # PDB server connection required - testing excluded # Read a PDB file pdb <- read.pdb( "1bg2" )#> Note: Accessing on-line PDB file#> Warning: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp4WslmZ/1bg2.pdb exists. Skipping download# 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") )#> #> See the output file: #> /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp4WslmZ/eg.pdb# }