Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#594 closed defect (fixed)

converting mmcif structure to Python object runs out of memory

Reported by: Greg Couch Owned by: Eric Pettersen
Priority: blocker Milestone:
Component: Input/Output Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Opening copy_1_ccp4.cif (and others) from #284 give the following traceback:

Opened mmCIF data containing 31384 atoms and 31954 bonds

Unexpected exception, save your work and exit:

Traceback (most recent call last):
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/ui/nogui.py", line 186, in execute
    self._cmd.run(text)
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/commands/cli.py", line 2327, in run
    result = ci.function(session, **kw_args)
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/commands/open.py", line 111, in open
    models = session.models.open(paths, format=format, name=name, **kw)
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/models.py", line 363, in open
    self.add(models)
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/models.py", line 241, in add
    m.added_to_session(session)
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/atomic/structure.py", line 1828, in added_to_session
    super().added_to_session(session)
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/atomic/structure.py", line 110, in added_to_session
    if self.num_chains == 0:
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/atomic/molc.py", line 37, in get_prop
    cget(self._c_pointer_ref, 1, v_ref)
MemoryError: not enough memory

Then if you "close", there is another traceback:

Traceback (most recent call last):
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/ui/nogui.py", line 186, in execute
    self._cmd.run(text)
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/commands/cli.py", line 2327, in run
    result = ci.function(session, **kw_args)
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/commands/close.py", line 32, in close
    m.close(cmodels)
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/models.py", line 321, in close
    self.remove(models)
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/models.py", line 303, in remove
    m.removed_from_session(session)
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/atomic/structure.py", line 185, in removed_from_session
    gu.remove_structure(self)
  File "/home/gregc/src/chimerax/ChimeraX.app/lib/python3.6/site-packages/chimerax/core/atomic/structure.py", line 1984, in remove_structure
    self._structures.remove(s)
KeyError: <chimerax.core.atomic.structure.AtomicStructure object at 0x7fffd94171d0>

This needs to be more robust.

Change History (4)

comment:1 by Eric Pettersen, 9 years ago

Status: assignedaccepted

comment:2 by Eric Pettersen, 9 years ago

Resolution: fixed
Status: acceptedclosed

Mis-translated some of the Chimera 1 code. Works now. Very slow on feb11_fit.cif. Will work on that.

comment:3 by Eric Pettersen, 9 years ago

Okay, that feb11_fit.cif has _huge_ numbers of residues that don't connect to the next residue. Not working on that any further!

comment:4 by Eric Pettersen, 8 years ago

Component: UnassignedInput/Output
Note: See TracTickets for help on using tickets.