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

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

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.

progress

progress bar for use with shiny web app.

...

extra arguments passed to seqaln function.

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.

Author

Barry Grant

Note

See recommendation in details section above.

See also

Examples

if (FALSE) { ##- 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) ##- Align PDBs (from list of existing PDB objects) pdblist <- list(read.pdb(files[1]), read.pdb(files[2])) pdbaln(pdblist) }