ihmwg / python-ihm

Python package for handling IHM mmCIF and BinaryCIF files
MIT License
14 stars 7 forks source link

IDmapper for assemblies does not work for some PDB-dev entries #45

Closed saijananiganesan closed 5 years ago

saijananiganesan commented 5 years ago

Using ihm.reader to read orphan assemblies (_ihm_struct_assembly.) from mmcif files returns empty list for some files even when the table is present (eg: 04.cif, 05.cif); although this works for some other mmcif files (eg: 02.cif).

benmwebb commented 5 years ago

Works fine when I try it. Both PDBDEV_00000004 and PDBDEV_00000005 show a single assembly. How are you reading these entries, and which version of the code?

benmwebb commented 5 years ago

For reference, this works for me:

$ wget https://pdb-dev.wwpdb.org/static/cif/PDBDEV_00000004.cif
$ python
>>> import ihm.reader
>>> with open('PDBDEV_00000004.cif') as fh:
...    s, = ihm.reader.read(fh)
...
>>> print s.orphan_assemblies
[[<ihm.AsymUnit object at 0x7f2afe722d10>, <ihm.AsymUnit object at 0x7f2afe722d90>]]

If that fails with your python-ihm, then something is up with the installation. If it works, likely it's an issue with your own code.

saijananiganesan commented 5 years ago

Yes, it works. I reinstalled the package and downloaded the file again. Not sure if it was the installation or if I had edited the file by mistake. Thanks!