binding.site(a, b=NULL, a.inds=NULL, b.inds=NULL, cutoff=5, hydrogens=TRUE, byres=TRUE, verbose=FALSE)
pdb as obtained from
function read.pdb. pdb as obtained from
function read.pdb. atom.select
that selects the elements of a upon which the calculation
should be based.atom.select
that selects the elements of b upon which the calculation
should be based.Determines the interacting residues between two PDB entities.
This function reports the residues of a closer than a cutoff to
b. This is a wrapper function calling the underlying function
dist.xyz.
If b=NULL then b.inds should be elements of a
upon which the calculation is based (typically chain A and B of the
same PDB file).
If b=a.inds=b.inds=NULL the function will use
atom.select with arguments "protein" and
"ligand" to determine receptor and ligand, respectively.
select with atom and
xyz components. a. a. "resno". Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696.
# PDB server connection required - testing excluded pdb <- read.pdb('3dnd')Note: Accessing on-line PDB file PDB has ALT records, taking A only, rm.alt=TRUE## automatically identify 'protein' and 'ligand' bs <- binding.site(pdb) bs$resnames[1] "LEU 49 (A)" "GLY 50 (A)" "VAL 57 (A)" "ALA 70 (A)" "VAL 104 (A)" [6] "MET 120 (A)" "GLU 121 (A)" "TYR 122 (A)" "VAL 123 (A)" "GLU 127 (A)" [11] "GLU 170 (A)" "ASN 171 (A)" "LEU 173 (A)" "THR 183 (A)" "PHE 327 (A)"#pdb$atom[bs$inds$atom, ] # provide indices rec.inds <- atom.select(pdb, chain="A", resno=1:350) lig.inds <- atom.select(pdb, chain="A", resno=351) bs <- binding.site(pdb, a.inds=rec.inds, b.inds=lig.inds) # Interaction between peptide and protein rec.inds <- atom.select(pdb, chain='A', resno=c(1:350)) lig.inds <- atom.select(pdb, chain='I', resno=c(5:24)) bs <- binding.site(pdb, a.inds=rec.inds, b.inds=lig.inds) # Redundant testing excluded # Interaction between two PDB entities #rec <- read.pdb("receptor.pdb") #lig <- read.pdb("ligand.pdb") rec <- trim.pdb(pdb, inds=rec.inds) lig <- trim.pdb(pdb, inds=lig.inds) bs <- binding.site(rec, lig, hydrogens=FALSE)