Unable to use dash_bio for plotting ideograms due to incorrect Javascript dependency

I am trying to include dash_bio ideogram in my proyect. I have just included in my project a simple ideogram as follows:

    dashbio.Ideogram(
        id='ideogram-id',
        chromosomes=['X'],
        orientation='horizontal',
    ),

There are no callbacks for this ideogram, I am just trying the simplest example for an indeogram. The error I get on my console when trying to plot it is the following:

bundle.js:1 GET https://unpkg.com/dash-bio@1.0.1/dash_bio/async-alignment.js net::ERR_ABORTED 404

When visiting the link, I can see that the requested JS does not exist:

Cannot find "/dash_bio/async-alignment.js" in dash-bio@1.0.1

Is there any way to solve this issue?

Hola @asdrgil thanks for your post
Did you have a look at the Ideogram documentation here and test the example code?

How did you install dash_bio? (pip install?)

Hi, @davi. Yes, I did install dash-bio with pip install and it did not return me any error. The thing is that the URL are actually incorrect, so I am not sure if the error is on my side that the urls are actually not being correctly built or that the pages are temporally unavailable.

And yes, I actually took the examples from the Dash ideogram’s documentation.

Hi,

just in case, is there any robust version where this does not happen or is there any way to monkey-patch this?

Hello,

Could you share all your code? I ran the snippet you mentioned in an app - in this google colab and couldn’t replicate your error.
Would love to understand how the error came about, so we can prevent this in the future. Let me know if the colab helps!
Best,

Emilie

1 Like

Hi @Emilie. I am currently using the same dash div code as you provided in order to check that the issue is not regarding that part.

I’ve reinstalled dash-bio and got the following dependencies’ output:

PS C:\Users\AdrianGilMoral\Documents\workspace\project_01> python.exe -m pip install dash-bio --no-cache-dir
Collecting dash-bio
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2/10.2 MB 22.5 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Requirement already satisfied: dash>=1.6.1 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash-bio) (1.20.0)
Requirement already satisfied: pandas in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash-bio) (1.1.5)
Requirement already satisfied: scipy in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash-bio) (1.7.3)
Requirement already satisfied: scikit-learn>=0.20.1 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash-bio) (1.0.2)
Requirement already satisfied: colour in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash-bio) (0.1.5)
Requirement already satisfied: GEOparse>=1.1.0 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash-bio) (2.0.3)
Requirement already satisfied: jsonschema in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash-bio) (4.0.1)
Requirement already satisfied: parmed in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash-bio) (3.4.3)
Requirement already satisfied: periodictable in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages\periodictable-1.6.0-py3.7.egg (from dash-bio) (1.6.0)
Requirement already satisfied: requests in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash-bio) (2.27.1)
Requirement already satisfied: biopython>=1.77 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages\biopython-1.79-py3.7-win-amd64.egg (from dash-bio) (1.79)
Requirement already satisfied: numpy in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from biopython>=1.77->dash-bio) (1.21.5)
Requirement already satisfied: plotly in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash>=1.6.1->dash-bio) (5.4.0)
Requirement already satisfied: dash-renderer==1.9.1 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash>=1.6.1->dash-bio) (1.9.1)
Requirement already satisfied: dash-table==4.11.3 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash>=1.6.1->dash-bio) (4.11.3)
Requirement already satisfied: dash-core-components==1.16.0 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash>=1.6.1->dash-bio) (1.16.0)
Requirement already satisfied: Flask>=1.0.4 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash>=1.6.1->dash-bio) (2.0.2)
Requirement already satisfied: flask-compress in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash>=1.6.1->dash-bio) (1.10.1)
Requirement already satisfied: future in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash>=1.6.1->dash-bio) (0.18.2)
Requirement already satisfied: dash-html-components==1.1.3 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from dash>=1.6.1->dash-bio) (1.1.3)
Requirement already satisfied: tqdm>=4.31.1 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from GEOparse>=1.1.0->dash-bio) (4.63.0)
Requirement already satisfied: pytz>=2017.2 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from pandas->dash-bio) (2021.3)
Requirement already satisfied: python-dateutil>=2.7.3 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from pandas->dash-bio) (2.8.2)
Requirement already satisfied: charset-normalizer~=2.0.0 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from requests->dash-bio) (2.0.12)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from requests->dash-bio) (2021.10.8)
Requirement already satisfied: idna<4,>=2.5 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from requests->dash-bio) (3.3)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from requests->dash-bio) (1.26.8)
Requirement already satisfied: threadpoolctl>=2.0.0 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from scikit-learn>=0.20.1->dash-bio) (3.1.0)
Requirement already satisfied: joblib>=0.11 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from scikit-learn>=0.20.1->dash-bio) (1.1.0)
Requirement already satisfied: attrs>=17.4.0 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from jsonschema->dash-bio) (21.4.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from jsonschema->dash-bio) (0.18.1)
Requirement already satisfied: importlib-metadata in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from jsonschema->dash-bio) (4.11.0)
Requirement already satisfied: pyparsing in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from periodictable->dash-bio) (3.0.7)
Requirement already satisfied: itsdangerous>=2.0 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from Flask>=1.0.4->dash>=1.6.1->dash-bio) (2.0.1)
Requirement already satisfied: Jinja2>=3.0 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from Flask>=1.0.4->dash>=1.6.1->dash-bio) (3.0.3)
Requirement already satisfied: Werkzeug>=2.0 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from Flask>=1.0.4->dash>=1.6.1->dash-bio) (2.0.3)
Requirement already satisfied: click>=7.1.2 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from Flask>=1.0.4->dash>=1.6.1->dash-bio) (8.0.3)
Requirement already satisfied: six>=1.5 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from python-dateutil>=2.7.3->pandas->dash-bio) (1.16.0)
Requirement already satisfied: colorama in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from tqdm>=4.31.1->GEOparse>=1.1.0->dash-bio) (0.4.4)
Requirement already satisfied: brotli in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from flask-compress->dash>=1.6.1->dash-bio) (1.0.9)
Requirement already satisfied: zipp>=0.5 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from importlib-metadata->jsonschema->dash-bio) (3.7.0)
Requirement already satisfied: typing-extensions>=3.6.4 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from importlib-metadata->jsonschema->dash-bio) (4.0.1)
Requirement already satisfied: tenacity>=6.2.0 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from plotly->dash>=1.6.1->dash-bio) (8.0.1)
Requirement already satisfied: MarkupSafe>=2.0 in c:\users\adriangilmoral\documents\workspace\project_01\venv3.7\lib\site-packages (from Jinja2>=3.0->Flask>=1.0.4->dash>=1.6.1->dash-bio) (2.0.1)
Building wheels for collected packages: dash-bio
  Building wheel for dash-bio (setup.py) ... done
  Created wheel for dash-bio: filename=dash_bio-1.0.1-py3-none-any.whl size=10337986 sha256=e308497a3449cbdffb709e98cfe70815da7ce146297e7ed80277f2e14a990728
  Stored in directory: C:\Users\ADRIAN~1\AppData\Local\Temp\pip-ephem-wheel-cache-dqjvfd3a\wheels\a1\55\43\3e93599d86a9b33f87079705e2fb5a9b7bc1675d4766e365aa
Successfully built dash-bio
Installing collected packages: dash-bio
Successfully installed dash-bio-1.0.1

The Javascript errors which I believe that will be more usefull are as follows:

GET https://unpkg.com/dash-bio@1.0.1/dash_bio/async-ideogram.js net::ERR_ABORTED 404
GET https://unpkg.com/dash-bio@1.0.1/dash_bio/async-alignment.js net::ERR_ABORTED 404

react-dom.production.min.js:125 ChunkLoadError: Loading chunk 3 failed.
(error: https://unpkg.com/dash-bio@1.0.1/dash_bio/async-ideogram.js)
    at Function.a.e (bundle.js:1:994)
    at ideogram (bundle.js:1:3268)
    at ri (react-dom.production.min.js:18:330)
    at zj (react-dom.production.min.js:228:56)
    at Th (react-dom.production.min.js:152:223)
    at tj (react-dom.production.min.js:152:152)
    at Te (react-dom.production.min.js:146:151)
    at react-dom.production.min.js:61:68
    at unstable_runWithPriority (react.production.min.js:25:260)
    at Da (react-dom.production.min.js:60:280)


dash_renderer.min.js:20 ChunkLoadError: Loading chunk 3 failed.
(error: https://unpkg.com/dash-bio@1.0.1/dash_bio/async-ideogram.js)
    at Function.a.e (bundle.js:1:994)
    at ideogram (bundle.js:1:3268)
    at ri (react-dom.production.min.js:18:330)
    at zj (react-dom.production.min.js:228:56)
    at Th (react-dom.production.min.js:152:223)
    at tj (react-dom.production.min.js:152:152)
    at Te (react-dom.production.min.js:146:151)
    at react-dom.production.min.js:61:68
    at unstable_runWithPriority (react.production.min.js:25:260)
    at Da (react-dom.production.min.js:60:280)

Please let me know if I have to include any other output.

Thank you.

Thanks @asdrgil, this was very helpful!

We have identified the problem and pushed a patch release (1.0.2) that should fix this issue. Let me know if this works!

Best,
Emilie

2 Likes

Hi, @Emilie. Yes, the provided new version works as expected. I am now able to plot the ideograms. Thank you very much.