Sequence Alignment of PDB Files

Usage

pdbaln(files, fit = FALSE, pqr = FALSE, ncore = 1, nseg.scale = 1, ...)

Arguments

files
a character vector of PDB file names. Alternatively, a list of pdb objects can be provided.
fit
logical, if TRUE coordinate superposition is performed on the input structures.
pqr
logical, if TRUE the input structures are assumed to be in PQR format.
ncore
number of CPU cores used to do the calculation. ncore>1 requires package ‘parallel’ installed.
nseg.scale
split input data into specified number of segments prior to running multiple core calculation. See fit.xyz.
...
extra arguments passed to seqaln function.

Description

Create multiple sequences alignments from a list of PDB files returning aligned sequence and structure records.

Details

This wrapper function calls the underlying functions read.pdb, pdbseq, seqaln and read.fasta.pdb returning a list of class "pdbs" similar to that returned by read.fasta.pdb.

As these steps are often error prone it is recomended for most cases that the individual underlying functions are called in sequence with checks made on the valadity of their respective outputs to ensure sensible results.

Value

Returns a list of class "pdbs" with the following five components:
xyz
numeric matrix of aligned C-alpha coordinates.

resno
character matrix of aligned residue numbers.

b
numeric matrix of aligned B-factor values.

chain
character matrix of aligned chain identifiers.

id
character vector of PDB sequence/structure names.

ali
character matrix of aligned sequences.

call
the matched call.

References

Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696.

Note

See recommendation in details section above.

Examples

##- Align PDBs (from vector of filenames) #files <- get.pdb(c("4q21","5p21"), URLonly=TRUE) files <- get.pdb(c("4q21","5p21"), path=tempdir(), overwrite=TRUE) pdbaln(files)
Reading PDB files: /tmp/RtmpTDihxb/4q21.pdb /tmp/RtmpTDihxb/5p21.pdb .. Extracting sequences pdb/seq: 1 name: /tmp/RtmpTDihxb/4q21.pdb pdb/seq: 2 name: /tmp/RtmpTDihxb/5p21.pdb
1 . . . . 50 [Truncated_Name:1]4q21.pdb MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVVIDGET [Truncated_Name:2]5p21.pdb MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVVIDGET ************************************************** 1 . . . . 50 51 . . . . 100 [Truncated_Name:1]4q21.pdb CLLDILDTAGQEEYSAMRDQYMRTGEGFLCVFAINNTKSFEDIHQYREQI [Truncated_Name:2]5p21.pdb CLLDILDTAGQEEYSAMRDQYMRTGEGFLCVFAINNTKSFEDIHQYREQI ************************************************** 51 . . . . 100 101 . . . . 150 [Truncated_Name:1]4q21.pdb KRVKDSDDVPMVLVGNKCDLAARTVESRQAQDLARSYGIPYIETSAKTRQ [Truncated_Name:2]5p21.pdb KRVKDSDDVPMVLVGNKCDLAARTVESRQAQDLARSYGIPYIETSAKTRQ ************************************************** 101 . . . . 150 151 . 168 [Truncated_Name:1]4q21.pdb GVEDAFYTLVREIRQHKL [Truncated_Name:2]5p21.pdb GVEDAFYTLVREIRQH-- **************** 151 . 168 Call: pdbaln(files = files) Class: pdbs, fasta Alignment dimensions: 2 sequence rows; 168 position columns (166 non-gap, 2 gap) + attr: xyz, resno, b, chain, id, ali, resid, sse, call
##- Align PDBs (from list of existing PDB objects) pdblist <- list(read.pdb(files[1]), read.pdb(files[2])) pdbaln(pdblist)
Extracting sequences pdb/seq: 1 name: seq1 pdb/seq: 2 name: seq2
1 . . . . . . 70 seq1 MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVVIDGETCLLDILDTAGQEEYSAMRDQ seq2 MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVVIDGETCLLDILDTAGQEEYSAMRDQ ********************************************************************** 1 . . . . . . 70 71 . . . . . . 140 seq1 YMRTGEGFLCVFAINNTKSFEDIHQYREQIKRVKDSDDVPMVLVGNKCDLAARTVESRQAQDLARSYGIP seq2 YMRTGEGFLCVFAINNTKSFEDIHQYREQIKRVKDSDDVPMVLVGNKCDLAARTVESRQAQDLARSYGIP ********************************************************************** 71 . . . . . . 140 141 . . 168 seq1 YIETSAKTRQGVEDAFYTLVREIRQHKL seq2 YIETSAKTRQGVEDAFYTLVREIRQH-- ************************** 141 . . 168 Call: pdbaln(files = pdblist) Class: pdbs, fasta Alignment dimensions: 2 sequence rows; 168 position columns (166 non-gap, 2 gap) + attr: xyz, resno, b, chain, id, ali, resid, sse, call