Find possible chain breaks based on connective Calpha or peptide bond (C-N) atom separation.

chain.pdb(pdb, ca.dist = 4, bond=TRUE, bond.dist=1.5, blank = "X", rtn.vec = TRUE)

Arguments

pdb

a PDB structure object obtained from read.pdb.

ca.dist

the maximum distance that separates Calpha atoms considered to be in the same chain.

bond

logical, if TRUE inspect peptide bond (C-N) instead of Calpha-Calpha distances.

bond.dist

cutoff value for C-N distance separation.

blank

a character to assign non-protein atoms.

rtn.vec

logical, if TRUE then the one-letter chain vector consisting of the 26 upper-case letters of the Roman alphabet is returned.

Details

This is a basic function for finding possible chain breaks in PDB structure files, i.e. connective Calpha atoms that are further than ca.dist apart or peptide bond (C-N) atoms separated by at least bond.dist.

Value

Prints basic chain information and if rtn.vec is TRUE returns a character vector of chain ids consisting of the 26 upper-case letters of the Roman alphabet plus possible blank entries for non-protein atoms.

References

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

Author

Barry Grant

See also

read.pdb, atom.select, trim.pdb, write.pdb

Examples

# \donttest{ # PDB server connection required - testing excluded full.pdb <- read.pdb( get.pdb("5p21", URLonly=TRUE) ) inds <- atom.select(full.pdb, resno=c(10:20,30:33)) cut.pdb <- trim.pdb(full.pdb, inds) chain.pdb(cut.pdb)
#> Found 1 possible chain breaks #> After resno(s): 20 #> Chain length(s): 11, 4
#> [1] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" #> [19] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" #> [37] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" #> [55] "A" "A" "A" "A" "A" "A" "A" "A" "A" "B" "B" "B" "B" "B" "B" "B" "B" "B" #> [73] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" "B" #> [91] "B" "B" "B" "B" "B" "B" "B" "B" "B" "B"
# }