RuntimeError: std::exception during initial model generator

23 views
Skip to first unread message

73k

unread,
Apr 1, 2024, 5:58:21 PMApr 1
to EMAN2
Hello EMAN2 developers and community members, 

I am a graduate student at University of Wisconsin-Milwaukee. I am a crystallographer by training and have very little knowledge about cryo-ET. Nevertheless, I am learning to process cyroET data with the EMAN2 workflow tutorial. The program is installed into an existing anaconda setup. I am at the stage of generating a new initial model using the GUI (e2projectmanager.py). While launching the program, I run into 'RuntimeError'. I don't know if this is the issue with the Anaconda, or something I did not do right. If anyone understands this, please let me know. I appreciate any help. 

Thank you in advance.

Here is the version of the program.
(eman2) [73k@submit tutorial-v1]$ e2version.py
EMAN 2.99.47 ( GITHUB: 2023-03-04 19:33 - commit: NOT-INSTALLED-FROM-GIT-REPO )
Your EMAN2 is running on: Linux-4.18.0-477.21.1.el8_8.x86_64-x86_64-with-glibc2.28 4.18.0-477.21.1.el8_8.x86_64
Your Python version is: 3.9.18 

Here is the error output and the command that produced the error.  
e2spt_sgd_new.py sets/tomobox.lst --res=50.0 --niter=10 --shrink=4 --parallel=thread:32 --ncls=1 --batch=32 --learnrate=0.2 --sym=c1
NOT Writing notes, ppid=-2
Cannot use more threads than batch. Using 17 threads now
thread:17
Gathering metadata...
 2407/2407
���V
Traceback (most recent call last):
  File "/home/uwm/73k/Programs/Anaconda/anaconda3/envs/eman2/bin/e2spt_sgd_new.py", line 258, in <module>
    main()
  File "/home/uwm/73k/Programs/Anaconda/anaconda3/envs/eman2/bin/e2spt_sgd_new.py", line 70, in main
    e.process_inplace("math.meanshrink",{"n":shrink})
RuntimeError: std::exception
e.process_inplace("math.meanshrink",{"n":shrink})




Ludtke, Steven J.

unread,
Apr 1, 2024, 6:03:18 PMApr 1
to em...@googlegroups.com
What particle box-size are you using? The box size should be one of the "good" sizes and divisible by 8 if you plan to use --shrink=4.

e2help.py boxsize

So, one of those numbers AND divisible by 8 (divisible by 4 and the result an even number).

Unfortunately a few years ago something changed in the Boost Python wrapper we use and C++ code no longer can generate useful error messages. the "���V" is actually where the error is supposed to be, but due to something unicode related things broke...

---
Steven Ludtke, Ph.D. <slu...@bcm.edu>                      Baylor College of Medicine
Charles C. Bell Jr., Professor of Structural Biology        Dept. of Biochemistry 
Deputy Director, Advanced Technology Cores                  and Molecular Pharmacology
Academic Director, CryoEM Core
Co-Director CIBR Center


--
--
----------------------------------------------------------------------------------------------
You received this message because you are subscribed to the Google
Groups "EMAN2" group.
To post to this group, send email to em...@googlegroups.com
To unsubscribe from this group, send email to eman2+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/eman2

---
You received this message because you are subscribed to the Google Groups "EMAN2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eman2+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/eman2/05f1b914-60e5-4842-8c01-534dfe257bd7n%40googlegroups.com.

73k

unread,
Apr 4, 2024, 11:34:03 AMApr 4
to EMAN2
Hi Steve, 

The box size is 256. I am just following the workflow tutorial with the large dataset.

How do you suggest I move forward? 

Steve Ludtke

unread,
Apr 4, 2024, 12:33:11 PMApr 4
to em...@googlegroups.com
Sorry, I missed that you were just running through the tutorial using the tutorial data.  Sounds like there must be some issue with sets/tomobox.lst. If you use the browser button in the project manager and look in sets/ does it say how many particles and the dimensions of the particles in this file? 

You could run:
e2iminfo.py --all --stat sets/tomobox.lst

this will read each particle in the stack and print the statistics of that particle. The point is not to actually look at the statistics, but just to see that it can successfully read all of the particles and there aren’t any obvious issues.

Note also that .lst files are human-readable text files, so you can further investigate any issues by looking at the file. However, do not edit such files manually, because the number of characters on each line has to be identical (a speed optimization). If you need to manipulate .lst files, use e2proclst.py.

If you don’t find any obvious issues with that, post here again, and we’ll see if we can help debug further. 

Reply all
Reply to author
Forward
0 new messages