higlass / higlass/higlass-python

Opening display from a script

Open
#95 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
66
Forks
11
PR merge metrics
No merged PRs in 30d

Description

I've got higlass working from within a Jupyter notebook, but the same code gives an error when I run it from a script. Is there something different that needs to be done for non-jupyter notebook usage?

Here is the error:
```
Process Process-1:
Traceback (most recent call last):
File "/Users/wnoble/opt/anaconda3/envs/ppx/lib/python3.9/site-packages/multiprocess/process.py", line 315, in _bootstrap
self.run()
File "/Users/wnoble/opt/anaconda3/envs/ppx/lib/python3.9/site-packages/multiprocess/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/Users/wnoble/opt/anaconda3/envs/ppx/lib/python3.9/site-packages/flask/app.py", line 1188, in run
run_simple(t.cast(str, host), port, self, **options)
File "/Users/wnoble/opt/anaconda3/envs/ppx/lib/python3.9/site-packages/werkzeug/serving.py", line 1069, in run_simple
fd = int(os.environ["WERKZEUG_SERVER_FD"])
File "/Users/wnoble/opt/anaconda3/envs/ppx/lib/python3.9/os.py", line 679, in __getitem__
raise KeyError(key) from None
KeyError: 'WERKZEUG_SERVER_FD'

```

And here is the code:

```
my_array = sparse_matrix.toarray().astype(float)

ts = Tileset(
tileset_info=lambda: npmatrix.tileset_info(my_array),
tiles=lambda tids: npmatrix.tiles_wrapper(my_array, tids)
)

display, server, viewconf = higlass.display([
View([
Track(track_type='top-axis', position='top'),
Track(track_type='left-axis', position='left'),
Track(track_type='heatmap',
position='center',
tileset=ts,
height=500),

])
], fuse=False)
display
```

I am running this on MacOS 12.5.1.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure from a non-Jupyter script using higlass.display(..., fuse=False), then compare its startup path with the working notebook usage. Investigate the Flask server error involving WERKZEUG_SERVER_FD; done means the script opens the display without raising the reported KeyError.

Written by the indexing model from the issue text.

Assessment

Tech stack
flask, jupyter-notebook, python
Domain
api, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.