BUG: binding.site() for PDB file with negative resno

Issue #207 resolved
Xinqiu Yao created an issue

binding.site() returns wrong $resno and $chain when PDB contains negative residue numbers:

> pdb <- read.pdb("4wgi")
  Note: Accessing on-line PDB file
  HEADER    APOPTOSIS/INHIBITOR                     18-SEP-14   4WGI               
   PDB has ALT records, taking A only, rm.alt=TRUE
> lig.inds <- atom.select(pdb, resid="MAL")
> prot.inds <- atom.select(pdb, "protein")
> 
> binding.site(pdb, a.inds=prot.inds, b.inds=lig.inds)
$inds

 Call:  NULL

   Atom Indices#: 175  ($atom)
   XYZ  Indices#: 525  ($xyz)

+ attr: atom, xyz

$resnames
 [1] "ASN--184 (A)" "ASP--182 (A)" "LYS--181 (A)" "GLU--152 (A)" "TRP--134 (A)"
 [6] "ALA--133 (A)" "ASP--131 (A)" "ARG--130 (A)" "GLU--85 (A)"  "ASN--46 (A)" 
[11] "GLU--43 (A)"  "PRO--42 (A)"  "TYR--41 (A)"  "PHE--40 (A)"  "TRP-34 (A)"  
[16] "MET-134 (A)"  "TRP-144 (A)"  "ARG-148 (A)" 

$resno
 [1]  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  34 134 144 148

$chain
 [1] "184" "182" "181" "152" "134" "133" "131" "130" "85"  "46"  "43"  "42" 
[13] "41"  "40"  "A"   "A"   "A"   "A"  

$call
binding.site(a = pdb, a.inds = prot.inds, b.inds = lig.inds)

Comments (5)

  1. Lars Skjærven
    > binding.site(pdb, a.inds=prot.inds, b.inds=lig.inds)
    $inds
    
     Call:  NULL
    
       Atom Indices#: 175  ($atom)
       XYZ  Indices#: 525  ($xyz)
    
    + attr: atom, xyz
    
    $resnames
     [1] "ASN-184 (A)" "ASP-182 (A)" "LYS-181 (A)" "GLU-152 (A)" "TRP-134 (A)"
     [6] "ALA-133 (A)" "ASP-131 (A)" "ARG-130 (A)" "GLU-85 (A)"  "ASN-46 (A)" 
    [11] "GLU-43 (A)"  "PRO-42 (A)"  "TYR-41 (A)"  "PHE-40 (A)"  "TRP34 (A)"  
    [16] "MET134 (A)"  "TRP144 (A)"  "ARG148 (A)" 
    
    $resno
     [1] -184 -182 -181 -152 -134 -133 -131 -130  -85  -46  -43  -42  -41  -40   34
    [16]  134  144  148
    
    $chain
     [1] "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A" "A"
    
    $call
    binding.site(a = pdb, a.inds = prot.inds, b.inds = lig.inds)
    

    bugfix cc7d93

    what do you think about the $resnames here. should there be a space there perhaps? previously I used a hyphen.

  2. Xinqiu Yao reporter

    Thanks a lot!

    Add space between resid and resno would be better, but I guess the $resnames is mainly for human reading (right?) and so it is fine to me with current format.

  3. Lars Skjærven

    Jepp.. in principle we could just omit resnames and rather make a print.bindingsite instead.

  4. Log in to comment