Find core positions that have the largest number of contact with neighboring residues.

core.cmap(pdbs, write.pdb = FALSE, outfile="core.pdb",
          cutoff = NULL, refine = FALSE, ncore = NULL, ...)

Arguments

pdbs

an alignment data structure of class ‘pdbs’ as obtained with read.fasta.pdb or pdbaln, or a numeric matrix of aligned C-alpha xyz Cartesian coordinates.

write.pdb

logical, if TRUE core coordinate files, containing only core positions for each iteration, are written to a location specified by outpath.

outfile

character string specifying the output directory when write.pdb is ‘TRUE’.

cutoff

numeric value speciyfing the inclusion criteria for core positions.

refine

logical, if TRUE explore core positions determined by multiple eigenvectors. By default only the eigenvector describing the largest variation is used.

ncore

number of CPU cores used to do the calculation. By default (ncore=NULL) use all cores detected.

...

arguments passed to and from functions.

Details

This function calculates eigenvector centrality of the weighted contact network built based on input structure data and uses it to determine the core positions.

In this context, core positions correspond to the most invariant C-alpha atom positions across an aligned set of protein structures. Traditionally one would use the core.find function to for their identification and then use these positions as the basis for improved structural superposition. This more recent function utilizes a much faster approach and is thus preferred in time sensitive applications such as shiny apps.

Value

Returns a list of class "select" containing ‘atom’ and ‘xyz’ indices.

References

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

Author

Xin-Qiu Yao

See also

core.find, read.fasta.pdb, fit.xyz

Examples

if (FALSE) { ##-- Generate a small kinesin alignment and read corresponding structures pdbfiles <- get.pdb(c("1bg2","2ncd","1i6i","1i5s"), URLonly=TRUE) pdbs <- pdbaln(pdbfiles) ##-- Find 'core' positions core <- core.cmap(pdbs) xyz <- pdbfit(pdbs, core, outpath="corefit_structures") }