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 `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.
`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") )

[Package bio3d version 2.3-4 Index]