R: Binding Site Residues

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.3-3 Index]