Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Object 'quartets' does not exist #462

Open
alexkrohn opened this issue Sep 20, 2021 · 4 comments
Open

Object 'quartets' does not exist #462

alexkrohn opened this issue Sep 20, 2021 · 4 comments

Comments

@alexkrohn
Copy link

I've encountered an error when trying to restart a tetrad run that failed because the Jupyter notebook shut down/restarted. The full error is posted below, and occurs immediately after restarted (after running tet.run(auto = True)). The analysis-tetrad folder is unchanged from when the run stopped, and the *quartets.txt file is still present with the correct number of lines: nquartets and wc -l *.quartets.txt both equal 20e6.

Is this a permissions issue? An issue with directing ipyrad where to look for the quartets file upon reset? Any help you have would be great. Thanks!

Running ipyrad version 0.9.81 on Jupyter (4.5.0) notebook (5.2.2) on a Linux (Ubuntu 20.04) desktop.

Parallel connection | alex-desktop: 4 cores
[                    ]   0% 0:00:01 | boot rep. 2  
Encountered an Error.
Message: KeyError: "Unable to open object (object 'quartets' doesn't exist)"
Use debug flag (-d) for full code traceback.
---------------------------------------------------------------------------KeyError                                  Traceback (most recent call last)<string> in <module>()
/home/alex/miniconda3/envs/ipyrad/lib/python3.6/site-packages/tetrad/worker.py in nworker(tet, chunk)
     69             seqview = io5["bootsarr"][:]
     70             maparr = io5["bootsmap"][:, 0]
---> 71             smps = io5["quartets"][chunk:chunk + tet._chunksize]
     72 
     73             # create an N-mask array of all seq cols
h5py/_objects.pyx in h5py._objects.with_phil.wrapper()
h5py/_objects.pyx in h5py._objects.with_phil.wrapper()
/home/alex/miniconda3/envs/ipyrad/lib/python3.6/site-packages/h5py/_hl/group.py in __getitem__(self, name)
    262                 raise ValueError("Invalid HDF5 object reference")
    263         else:
--> 264             oid = h5o.open(self.id, self._e(name), lapl=self._lapl)
    265 
    266         otype = h5i.get_type(oid)
h5py/_objects.pyx in h5py._objects.with_phil.wrapper()
h5py/_objects.pyx in h5py._objects.with_phil.wrapper()
h5py/h5o.pyx in h5py.h5o.open()
KeyError: "Unable to open object (object 'quartets' doesn't exist)"
@isaacovercast
Copy link
Collaborator

You need to use tet.run(auto = True, force=True).

If the jupyter notebook shutdown hard then it's possible the "quartets" dataset wasn't saved to the h5py file. You'll have to force recreating it unfortunately. Tetrad is more Deren's creation, so he might have more to say here.

@alexkrohn
Copy link
Author

alexkrohn commented Sep 20, 2021 via email

@isaacovercast
Copy link
Collaborator

I see your point. This is really a better question for Deren. I can probably figure it out, but I won't be able to look at it until I get past a couple very imminent deadlines, maybe later this week.

Notebooks crashing are often memory allocation issues. If the system runs out of RAM because the notebook process chews it all up then this can cause a crash.

@alexkrohn
Copy link
Author

Got it. Thanks. I'll tag @dereneaton and hope he can chime in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants