Bug Report: Voila v3.0.17 - ValueError: Invalid Zarr format 3 data_type ¿?

17 views
Skip to first unread message

Maximo Rivarola

unread,
Feb 20, 2026, 3:15:24 PM (6 days ago) Feb 20
to Biociphers

First of all, I wanted to say thank you for the amazing work on MAJIQ 3 and Voila 3.

 It is a fantastic tool!

 I am still quite new to the full range of advanced options and configurations available in this new version, but I’m learining....

I’m writing to you because I’ve hit a technical hurdle while trying to visualize results synced from our HPC cluster to my local workstation. It seems to be a specific metadata parsing issue related to the transition to Zarr V3.  (command below, all in V3 done)

The Setup:

  • Data Generation (HPC): MAJIQ v3.0.13.dev1+g2db64969d (Python 3.11).

  • Local Visualization: Voila v3.0.17.dev1+g11dc0f550 (Python 3.12).

  • Storage: Zarr V3 format.

The Issue: When running voila view, the process fails while reading the contigs group from the splicegraph.zarr. The error appears to be a mismatch between the Zarr V3 metadata specification and NumPy's dtype parsing for UTF-32 strings.

Error Message: ValueError: Invalid Zarr format 3 data_type: {'name': 'fixed_length_utf32', 'configuration': {'length_bytes': 44}}

System Details:

  • OS: Ubuntu 22.04 LTS

  • Zarr: 3.0.2 (also tested with 3.1.5)

  • NumPy: 1.26.4

  • Xarray: 2025.1.0

As I am still getting familiar with the full breadth of MAJIQ's new features, I wanted to ask if there is a recommended dependency stack or a specific configuration I might be missing to handle these Zarr V3 string encodings correctly.

I am happy to provide sample metadata files or more detailed logs if it helps the community!

Thanks again for the support and for such a great tool.

Best regards, maximo


details:   

$ voila view -p 5000 -j 8 \
  01_majiq_build_output/splicegraph.zarr \
  07_majiq_deltapsi_outputFULL_v4/T2_C_vs_T2_P.voila \
  08_majiq_sgc_output/
2026-02-20 17:05:45,339 (PID:73162) - INFO - Command: /home/epilab/Majiq3/majiq_native_env/bin/voila view -p 5000 -j 8 01_majiq_build_output/splicegraph.zarr 07_majiq_deltapsi_outputFULL_v4/T2_C_vs_T2_P.voila 08_majiq_sgc_output/
2026-02-20 17:05:45,339 (PID:73162) - INFO - Voila v3.0.17.dev1+g11dc0f550
2026-02-20 17:05:45,341 (PID:73162) - INFO - ╔═══════════════════════════════════════════════════════════════╗
2026-02-20 17:05:45,341 (PID:73162) - INFO - ╠╡ ACADEMIC License applied                                     ║
2026-02-20 17:05:45,341 (PID:73162) - INFO - ║  Name: Official Majiq Academic-only License                   ║
2026-02-20 17:05:45,341 (PID:73162) - INFO - ║  File: majiq_license_academic_official.lic                    ║
2026-02-20 17:05:45,341 (PID:73162) - INFO - ║  Expiration Date: Never                                       ║
2026-02-20 17:05:45,341 (PID:73162) - INFO - ║                                                               ║
2026-02-20 17:05:45,341 (PID:73162) - INFO - ╠╡ The academic license is for non-commercial purposes by       ║
2026-02-20 17:05:45,341 (PID:73162) - INFO - ╠╡ individuals at an academic or not for profit institution.    ║
2026-02-20 17:05:45,341 (PID:73162) - INFO - ╚═══════════════════════════════════════════════════════════════╝
2026-02-20 17:05:45,341 (PID:73162) - INFO - config file: /tmp/voila-config-d79c7e2a579e9ba02a083f219ce8f917
/home/epilab/Majiq3/majiq_native_env/lib/python3.12/site-packages/rna_majiq/core/Contigs.py:123: RuntimeWarning: Failed to open Zarr store with consolidated metadata, but successfully read with non-consolidated metadata. This is typically much slower for opening a dataset. To silence this warning, consider:
1. Consolidating metadata in this existing store with zarr.consolidate_metadata().
2. Explicitly setting consolidated=False, to avoid trying to read consolidate metadata, or
3. Explicitly setting consolidated=True, to raise an error in this case instead of falling back to try reading non-consolidated metadata.
  with xr.open_zarr(store, group=group) as df:


2026-02-20 17:05:45,447 (PID:73162) - ERROR - Invalid Zarr format 3 data_type: {'name': 'fixed_length_utf32', 'configuration': {'length_bytes': 44}}


Traceback (most recent call last):
  File "/home/epilab/Majiq3/majiq_native_env/lib/python3.12/site-packages/zarr/core/metadata/v3.py", line 717, in parse





San Jewell

unread,
Feb 20, 2026, 4:48:55 PM (6 days ago) Feb 20
to Biociphers
Hello!

Given your installation, I might try installing various versions of zarr to check which one resolves the check, (for example you can run $ pip index versions zarr to list all available versions) however, then there would then possibly be other dependency issues. I could help you work through this step by step but it would likely be slow going. 

The better solution is that the analysis and the viewing are run with the same versions of majiq/voila, which would involve upgrading your server version or downgrading your local version. 

Let me know which you would be able to pursue and I can help you through the steps I would take. 

Thanks!
-San  

Maximo Rivarola

unread,
Feb 23, 2026, 11:44:43 AM (3 days ago) Feb 23
to Biociphers
Hi San, thanks for reply!,
ok, am struggling with zarr format, will re run on local workstation . starting from bam files. will let you know. thanks!!! ;)
I have:

(majiq_native_env) () epilab@epilab-workstation:Tomate$ 

voila --version
voila 3.0.17.dev1+g11dc0f550
majiq --version
majiq 3.0.17.dev1+g11dc0f55
all installed with pip in python env.

thanks, will let you know.
cheers
maximo

Maximo Rivarola

unread,
Feb 23, 2026, 3:48:32 PM (3 days ago) Feb 23
to Biociphers
hi San, how are you? thanks for all,

I ran all steps, but seems to be a bug with either view or modulize, do not work on same version?

info:   currently working with Voila v3.0.17.dev1+g11dc0f550 on an Ubuntu 22.04 workstation and believe we’ve uncovered a small bug in the modulize and tsv configuration logic. Even when providing a valid splicegraph.zarr and .voila directories, the execution consistently fails with a TypeError: ClassifyConfig.__new__() got an unexpected keyword argument 'disable_reads' (or TsvConfig respectively). 

It seems like the code is trying to trigger a fallback mode when it doesn't find raw experiment coverage (like .sgc or .psicov.zarr), but it's passing an argument that the configuration classes aren't yet set up to handle. We've tried a few workarounds, like pointing to the source .sj files, but the error persists.
seems to be like this? maybe of course i am missing swomething...
can add scripts as well? maybe you have seen this before?
Voila view i have working with one contrast at a time,its fine :) on 127.0.0.1 port 5050


any ideas?
cheers maximo

San Jewell

unread,
Feb 24, 2026, 11:41:59 AM (2 days ago) Feb 24
to Biociphers
Hi Maximo, 

I do appreciate the bug report. While I've not seen this specific case before, as a continually evolving software I expect there may be some usage configurations that were not properly accounted for. 

Can you let me know the command that was run to trigger the issue? It's modulize and tsv modes? I have tried running them on the latest version of majiq_academic (the version noted in your message) and I was unable to reproduce the error. Feel free to redact the names of the actual files, I'd just like to see the types of files input and command line flags to see if I can reproduce the issue. 

Thanks!
-San
Reply all
Reply to author
Forward
0 new messages