Voila view v3 DataTable error

33 views
Skip to first unread message

Matthew Wright

unread,
Mar 18, 2026, 2:42:24 PMMar 18
to Biociphers
Hi,

I recently switched from majiq v2 to majiq v3. I was able to install majiq v3 in a python 3.12 conda environment. I can run all the build steps and deltapsi, but when attempting to visualize results with voila view, I get the following error -  DataTables warning: table id=results - Ajax error. For more information about this error, please see http://datatables.net/tn/7 . Attached is a screenshot. This happens if I click on any of the genes or try to re-sort or re-filter the results.

Has anyone else encountered this? Are there possibly additional packages I need to install in this conda environment to get this to work?

Thank you,
Matthew
Screenshot 2026-03-18 132817.png

San Jewell

unread,
Mar 19, 2026, 10:21:44 AMMar 19
to Biociphers
Hi Matthew, 

I've just ran through my battery of tests which was on the latest version voila 3.0.19.dev1+gde48918a5 (you can see this by running $ voila -v) ; I didn't see this issue pop up, but it might be some combination of groups / experiments that I didn't account for or something else silly. Can you make sure you are on the most recent version, and if that doesn't help, can you:

1) give the list of steps you took running majiq/voila (feel free to redact the actual names of files/experiments)
2) try to run voila using the switches $ --debug --web-server flask ; this should show an error in the terminal upon seeing that datatables error which would be more informative to me ; you can copy it here. 

Thank you!
-San

Matthew Wright

unread,
Mar 24, 2026, 2:36:43 PMMar 24
to Biociphers
Hi San,

Thanks for your help with this. (I think I just accidentally sent you a DM instead of replying to this thread - my apologies). It looks like I ran majiq-v3 build-pipeline to create the splicegraph.zarr, then majiq-v3 deltapsi and majiq-v3 sg-coverage to get the voila and sgc files. I'm running the version of voila you mention on the computer I'm trying to use voila view on, but on my HPC, where I ran the majiq commands, I'm running 3.0.11.dev1+g75b92395 - maybe this is a compatibility issue between builds?

Attached is the debugging output after I open voila view and try to sort the events by dPSI:

2026-03-20 12:51:05,152 (PID:41699) - INFO - Serving on: http://127.0.0.1:5000
2026-03-20 12:51:05,157 (PID:41699) - WARNING -  * Debugger is active!
2026-03-20 12:51:05,158 (PID:41699) - INFO -  * Debugger PIN: 533-020-757
2026-03-20 12:51:18,025 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET / HTTP/1.1" 200 -
2026-03-20 12:51:18,120 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/css/lib/pure-min.css HTTP/1.1" 304 -
2026-03-20 12:51:18,125 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/css/lib/jquery.dataTables.min.css HTTP/1.1" 304 -
2026-03-20 12:51:18,125 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/css/custom.css HTTP/1.1" 304 -
2026-03-20 12:51:18,126 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/css/lsv.css HTTP/1.1" 304 -
2026-03-20 12:51:18,131 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/css/copy_lsv.css HTTP/1.1" 304 -
2026-03-20 12:51:18,136 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/css/index.css HTTP/1.1" 304 -
2026-03-20 12:51:18,138 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/img/LogoOnly.svg HTTP/1.1" 304 -
2026-03-20 12:51:18,145 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/lib/jquery.min.js HTTP/1.1" 304 -
2026-03-20 12:51:18,146 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/lib/d3.v5.min.js HTTP/1.1" 304 -
2026-03-20 12:51:18,147 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/img/penn.jpg HTTP/1.1" 304 -
2026-03-20 12:51:18,148 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/lib/jquery.dataTables.min.js HTTP/1.1" 304 -
2026-03-20 12:51:18,152 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/lib/d3-beeswarm.js HTTP/1.1" 304 -
2026-03-20 12:51:18,154 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/lib/clipboard.min.js HTTP/1.1" 304 -
2026-03-20 12:51:18,154 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/utils.js HTTP/1.1" 304 -
2026-03-20 12:51:18,163 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/ajax.js HTTP/1.1" 304 -
2026-03-20 12:51:18,167 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/splicegraphs.js HTTP/1.1" 304 -
2026-03-20 12:51:18,171 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/plotOptions.js HTTP/1.1" 304 -
2026-03-20 12:51:18,176 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/violin.js HTTP/1.1" 304 -
2026-03-20 12:51:18,177 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/splicegraphtools.js HTTP/1.1" 304 -
2026-03-20 12:51:18,179 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/table.js HTTP/1.1" 304 -
2026-03-20 12:51:18,182 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/colors.js HTTP/1.1" 304 -
2026-03-20 12:51:18,182 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/heatmap.js HTTP/1.1" 304 -
2026-03-20 12:51:18,186 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/lsv.js HTTP/1.1" 304 -
2026-03-20 12:51:18,189 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/common.js HTTP/1.1" 304 -
2026-03-20 12:51:18,190 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/js/copy_lsv.js HTTP/1.1" 304 -
2026-03-20 12:51:18,232 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:18] "GET /static/css/images/sort_both.png HTTP/1.1" 304 -
2026-03-20 12:51:19,895 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:19] "POST /index-table HTTP/1.1" 200 -
2026-03-20 12:51:20,019 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:20] "GET /static/img/ucsc.png HTTP/1.1" 304 -
2026-03-20 12:51:20,705 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:20] "POST /lsv-data/ENSG00000175899.15:s:9115764-9116061 HTTP/1.1" 200 -
2026-03-20 12:51:20,735 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:20] "POST /lsv-data/ENSG00000081760.17:t:125114421-125114557 HTTP/1.1" 200 -
2026-03-20 12:51:20,788 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:20] "POST /lsv-data/ENSG00000090861.17:t:70271781-70271972 HTTP/1.1" 200 -
2026-03-20 12:51:20,797 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:20] "POST /lsv-data/ENSG00000087884.14:s:77884780-77884916 HTTP/1.1" 200 -
2026-03-20 12:51:20,798 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:20] "POST /lsv-data/ENSG00000087884.14:t:77900571-77900785 HTTP/1.1" 200 -
2026-03-20 12:51:20,799 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:20] "POST /lsv-data/ENSG00000115977.21:s:69514471-69514749 HTTP/1.1" 200 -
2026-03-20 12:51:20,801 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:20] "POST /lsv-data/ENSG00000087884.14:t:77918061-77918432 HTTP/1.1" 200 -
2026-03-20 12:51:20,829 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:20] "POST /lsv-data/ENSG00000090861.17:s:70276486-70276631 HTTP/1.1" 200 -
2026-03-20 12:51:20,855 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:20] "POST /lsv-data/ENSG00000124608.5:t:44306923-44307031 HTTP/1.1" 200 -
2026-03-20 12:51:20,857 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:20] "GET /static/css/images/sort_asc.png HTTP/1.1" 304 -
2026-03-20 12:51:20,857 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:20] "POST /lsv-data/ENSG00000124608.5:s:44310299-44310443 HTTP/1.1" 200 -
2026-03-20 12:51:23,083 (PID:41699) - INFO - 127.0.0.1 - - [20/Mar/2026 12:51:23] "POST /index-table HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/home/kiskinislab/programs/majiq3/lib/python3.12/site-packages/flask/app.py", line 1498, in __call__
    return self.wsgi_app(environ, start_response)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kiskinislab/programs/majiq3/lib/python3.12/site-packages/flask/app.py", line 1476, in wsgi_app
    response = self.handle_exception(e)
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kiskinislab/programs/majiq3/lib/python3.12/site-packages/flask/app.py", line 1473, in wsgi_app
    response = self.full_dispatch_request()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kiskinislab/programs/majiq3/lib/python3.12/site-packages/flask/app.py", line 882, in full_dispatch_request
    rv = self.handle_user_exception(e)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kiskinislab/programs/majiq3/lib/python3.12/site-packages/flask/app.py", line 880, in full_dispatch_request
    rv = self.dispatch_request()
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kiskinislab/programs/majiq3/lib/python3.12/site-packages/flask/app.py", line 865, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kiskinislab/programs/majiq3/lib/python3.12/site-packages/rna_voila/view/deltapsi.py", line 104, in index_table
    dt = DataTables(get_index_class().delta_psi(), ('gene_name', 'lsv_id', '', 'excl_incl'), slice=False)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/kiskinislab/programs/majiq3/lib/python3.12/site-packages/rna_voila/view/datatables.py", line 30, in __init__
    self.sort()
  File "/home/kiskinislab/programs/majiq3/lib/python3.12/site-packages/rna_voila/view/datatables.py", line 66, in sort
    self._records.sort(key=lambda x: x[col_name],
TypeError: '>' not supported between instances of 'float' and 'NoneType'

Matthew Wright

unread,
Mar 27, 2026, 2:12:53 PMMar 27
to Biociphers
Update: re-running the majiq analysis with 3.0.19.dev1+gde48918a5 still gives me the same error

San Jewell

unread,
Mar 31, 2026, 10:24:16 AMMar 31
to Biociphers
Hi Matthew, 

I may need to take a look over some sample data to try to reproduce this, but as a first step, I think it looks like this error is related to the index that was built ; are you able to try running voila view with the --force-index switch? Or if that doesn't work for some reason, run with --index-file <path> (path can be any file path you can write to) 

Let me know if either of these help when you have a chance. 

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