1JTW error

Issue #468 new
Diego Gallego created an issue

Hi! I recently discovered that the PDB 1JTW gives an error when I try to read multiple models:

library(bio3d); pdb <- read.cif("1JTW", multi=T)

Note: Accessing on-line CIF file

Warning messages: 1: In read.cif("1JTW", multi = T) : helix/sheet records will not be parsed in this version of the code

2: In get.pdb(file, path = tempdir(), quiet = TRUE, format = "cif") : /tmp/Rtmp6NsTxE/1JTW.cif exists. Skipping download

3: In matrix(pdb$xyz, nrow = pdb$models, byrow = TRUE) : data length [22536] is not a sub-multiple or multiple of the number of rows [14]

4: In as.xyz(pdb$xyz) : number of cartesian coordinates not a multiple of 3

I though it was worth sharing with you! Cheers,

Diego

Comments (6)

  1. Lars Skjærven

    Thanks for reporting Diego. There are unequal number of atoms between the different models in the PDB file. i.e 537, 538, 539 and 524 atoms.

    The previous version of read.pdb , (found in function read.pdb2()) provides a cleaner error message:

    > pdb = read.pdb2("1jtw.pdb", multi=T)
      PDB has multiple END/ENDMDL records 
      multi=TRUE: 'read.dcd/read.ncdf' will be quicker! 
      HEADER    RNA                                     22-AUG-01   1JTW               
    Warning message:
    In read.pdb2("1jtw.pdb", multi = T) :
      Unequal number of atoms in multi-model records: 1jtw.pdb
    

    Todo:

    • cleaner error messages for read.cif and new read.pdb
    • explore ways to account for the different number of atoms
  2. Log in to comment