binding.site {bio3d}R Documentation

Binding Site Residues

Description

Determines the interacting residues between two PDB entities.

Usage

binding.site(a, b=NULL, a.inds=NULL, b.inds=NULL, cutoff=5,
            hydrogens=TRUE, byres=TRUE, verbose=FALSE)

Arguments

a

an object of class pdb as obtained from function read.pdb.

b

an object of class pdb as obtained from function read.pdb.

a.inds

atom and xyz coordinate indices obtained from atom.select that selects the elements of a upon which the calculation should be based.

b.inds

atom and xyz coordinate indices obtained from atom.select that selects the elements of b upon which the calculation should be based.

cutoff

distance cutoff

hydrogens

logical, if FALSE hydrogen atoms are omitted from the calculation.

byres

logical, if TRUE all atoms in a contacting residue is returned.

verbose

logical, if TRUE details of the selection are printed.

Details

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.

Value

Returns a list with the following components:

inds

object of class select with atom and xyz components.

inds$atom

atom indices of a.

inds$xyz

xyz indices of a.

resnames

a character vector of interacting residues.

resno

a numeric vector of interacting residues numbers.

chain

a character vector of the associated chain identifiers of "resno".

call

the matched call.

Author(s)

Lars Skjaerven

References

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

See Also

read.pdb, atom.select, dm

Examples

   
    # PDB server connection required - testing excluded

     pdb <- read.pdb('3dnd')

     ## automatically identify 'protein' and 'ligand'
     bs <- binding.site(pdb)

     bs$resnames
     #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)
   


   ## Not run:   
     # 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)
   
## End(Not run)

   
    # 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)
   

[Package bio3d version 2.4-4 Index]