Errors running Sphire gui on fresh install

21 views
Skip to first unread message

Dirk Reiter

unread,
Jun 3, 2024, 11:36:20 AMJun 3
to EMAN2
Hello,

on a fresh sourcedcode install of EMAN2/Sphire all installation tests for EMAN2 are passed, but there are errors when trying to start the Sphire gui.

First some information about the installation:

e2version.py
EMAN 2.99.55 ( GITHUB: 2024-06-03 15:23 - commit: fe5cfa136 )
Your EMAN2 is running on: Linux-5.15.0-94-generic-x86_64-with-glibc2.31 5.15.0-94-generic
Your Python version is: 3.11.9

cc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0

The OS is Ubuntu 20.04, a fresh Miniconda was used for the installation, the installation was done as described  here: https://blake.bcm.edu/emanwiki/EMAN2/Install/SourceInstall

The command used to start the gui was: sp_gui.py
This produces the following output:

ERROR: If you are seeing this message, you may be using a legacy program which makes use of the BDB: storage system, which was deprecated a decade ago. We are no longer able to support this system in EMAN2 due to issues with the underlying library. If you rely on this program, please contact the developers to let them know it needs to be updated.
/software/AMD/Conda/EMAN2/envs/eman2/lib/python3.11/site-packages/numpy/core/getlimits.py:500: UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero.
  setattr(self, word, getattr(machar, word).flat[0])
/software/AMD/Conda/EMAN2/envs/eman2/lib/python3.11/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero.
  return self._float_to_str(self.smallest_subnormal)
/software/AMD/Conda/EMAN2/envs/eman2/lib/python3.11/site-packages/numpy/core/getlimits.py:500: UserWarning: The value of the smallest subnormal for <class 'numpy.float32'> type is zero.
  setattr(self, word, getattr(machar, word).flat[0])
/software/AMD/Conda/EMAN2/envs/eman2/lib/python3.11/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class 'numpy.float32'> type is zero.
  return self._float_to_str(self.smallest_subnormal)

Current SPHIRE settings directory: sxgui_settings/1.4

Settings directory for current SPHIRE version sxgui_settings/1.4 doesn't exist
Would you like to create a new project directory and continue?
You need to run the sphire command in the foreground (without &) to answer this question
[y/n]
y
Traceback (most recent call last):
  File "/software/AMD/Conda/EMAN2/envs/eman2/bin/sp_gui.py", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/software/AMD/Conda/EMAN2/envs/eman2/lib/python3.11/site-packages/sphire/bin/sp_gui.py", line 7295, in main
    sxmain_window = SXMainWindow(options.helical)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/software/AMD/Conda/EMAN2/envs/eman2/lib/python3.11/site-packages/sphire/bin/sp_gui.py", line 4690, in __init__
    sxmenu_item_btn_area_widget = SXMenuItemBtnAreaWidget(self.sxconst_set[idx], self.sxcmd_category_list[idx], self.sxinfo[idx], idx, central_widget)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/software/AMD/Conda/EMAN2/envs/eman2/lib/python3.11/site-packages/sphire/bin/sp_gui.py", line 543, in __init__
    sxcmd_category_btn_subarea_widget = self.create_sxmenu_item_btn_subarea_widget()
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/software/AMD/Conda/EMAN2/envs/eman2/lib/python3.11/site-packages/sphire/bin/sp_gui.py", line 605, in create_sxmenu_item_btn_subarea_widget
    grid_layout.setSpacing(SXLookFeelConst.grid_distance)
TypeError: setSpacing(self, spacing: int): argument 1 has unexpected type 'float'

Any help would be appreciated.

Kind regards,
Dirk Reiter



Steve Ludtke

unread,
Jun 3, 2024, 11:42:37 AMJun 3
to em...@googlegroups.com
Hi, 
not sure if the SPHIRE developers are monitoring this group. You may wish to email them directly. 

Since Pawel Penczek’s retirement, SPARX development has ended, and it is provided for legacy purposes. 

SPHIRE bifurcated from SPARX some years ago, and ostensibly still has maintenance, but I think they have mostly shifted their efforts in other directions now. This looks like a simple bugfix they could make, though, based on recent changes to the Qt library used by both EMAN and SPARX for GUIs (it used to accept floating point values in some places where only integers are now permitted).


--
--
----------------------------------------------------------------------------------------------
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/b59248be-00e8-4865-834c-71ba4f2e25can%40googlegroups.com.

Dirk Reiter

unread,
Jun 4, 2024, 4:48:03 AMJun 4
to EMAN2
Hello,

from the error message I thought that this might be the case, but wasn't sure as I found no mention of this issue online while this will affect all users of Sphire. I will check if the command-line functions still work. Otherwise it is a pity the 2D-classification in Isac was great. That said we didn't use it very much in recent years due to the limited speed and constraints in particle numbers.
Anyway, thanks a lot for clarifying this!

Tapu Shaikh

unread,
Jun 4, 2024, 2:07:43 PMJun 4
to em...@googlegroups.com
On 6/4/24 10:48, 'Dirk Reiter' via EMAN2 wrote:
> Hello,
>
> from the error message I thought that this might be the case, but
> wasn't sure as I found no mention of this issue online while this will
> affect all users of Sphire. I will check if the command-line functions
> still work.
As a former SPHIRE developer, I too have been having trouble getting
SPHIRE to work, sadly.  However, I think I was able to get it to work. 
I don't have access to the machine with the freshest install right now,
but my recollection is that I specified an older version of eman-deps, I
believe 30.1.  I can confirm tomorrow, if you'd like.
> Otherwise it is a pity the 2D-classification in Isac was great. That
> said we didn't use it very much in recent years due to the limited
> speed and constraints in particle numbers.

If I recall, GPU ISAC breaks the particle set into chunks that fit on
the graphics card.; for CPU ISAC, we needed to split up the particles
into chunks ourselves (manually or in a BASH script). Installation of
GPU ISAC requires a few extra steps, steps which I haven't tested on a
fresh install.  One of my colleagues is having classification problems,
and I'm going to suggest ISAC as a possible solution, so I may have a
specific need to get it working.

-Tapu Shaikh


Dirk Reiter

unread,
Jun 4, 2024, 2:44:54 PMJun 4
to EMAN2
Hi, 

I finally got the gui starting up by adding numerous integer conversions e.g.
replacing lines like: 
" , grid_row, grid_col_origin + token_label_col_span + token_widget_col_span * 3, token_widget_row_span, token_widget_col_span) "
with
", grid_row, int(grid_col_origin + token_label_col_span + token_widget_col_span * 3), token_widget_row_span, int(token_widget_col_span))"
No idea if what I did was the proper way, but the gui starts now. 
I also installed GPU-Isac v2.3.4 and linked it to the gui, but we haven't tested this yet.
We also want to test if we could use e3relion_convert.py to import from newer versions of Relion (4+5) and if the output of this conversion tool meant for eman can be used in Sphire as relion2sphire.py doesn't work with star files produced by newer Relion versions adding extra steps.




Ludtke, Steven J.

unread,
Jun 4, 2024, 5:15:55 PMJun 4
to em...@googlegroups.com
That's good (integer conversion). 

e3relion_convert produces files in the late-EMAN2/EMAN3 compatible style, in which particles are split by micrograph into the "particles" folder. The particles are then merged into a .lst file, which is somewhat equivalent to a STAR file, with per-particle parameters in it. That is, it should be possible to run e2spa_make3d directly on the .lst file after STAR file import and get a good structure out (won't be identical to Relion, but parameters should be right). SPHIRE uses the same Transform and CTF objects as EMAN2/3 to the best of my knowledge, so in principle, it should be possible to use the converted files in some ways, but some details may need to be cleaned up...


---
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.
Reply all
Reply to author
Forward
0 new messages