FredHutch / easybuild-life-sciences

Howto and implementation documentation
https://fredhutch.github.io/easybuild-life-sciences/
21 stars 6 forks source link

MultiQC/1.21-foss-2023a-Python-3.11.3 is broken #557

Closed juyeongkim closed 4 months ago

juyeongkim commented 4 months ago

I noticed that there's a new version of MultiQC available, so I tried it out, but I am getting an error message.

Reproducible example:

module load MultiQC/1.21-foss-2023a-Python-3.11.3
curl -O -J -L http://multiqc.info/examples/rna-seq/data.zip # example data from MultiQC
unzip -q data.zip
multiqc data/SRR3192396_1_fastqc.zip
  /// MultiQC 🔍 | v1.21

|           multiqc | Search path : /home/jkim2345/multiqc/data/SRR3192396_1_fastqc.zip
|         searching | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 1/1  
╭─────────────────────────────────────────────────────── Oops! The 'custom_content' MultiQC module broke... ───────────────────────────────────────────────────────╮
│ Please copy this log and report it at https://github.com/MultiQC/MultiQC/issues                                                                                  │
│ Please attach a file that triggers the error. The last file found was: None                                                                                      │
│                                                                                                                                                                  │
│ Traceback (most recent call last):                                                                                                                               │
│   File "/app/software/MultiQC/1.21-foss-2023a-Python-3.11.3/lib/python3.11/site-packages/multiqc/multiqc.py", line 749, in run                                   │
│     mod = config.avail_modules[this_module].load()                                                                                                               │
│           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                               │
│   File "/app/software/Python-bundle-PyPI/2023.06-GCCcore-12.3.0/lib/python3.11/site-packages/importlib_metadata/__init__.py", line 209, in load                  │
│     module = import_module(match.group('module'))                                                                                                                │
│              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                │
│   File "/app/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/importlib/__init__.py", line 126, in import_module                                             │
│     return _bootstrap._gcd_import(name[level:], package, level)                                                                                                  │
│            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                  │
│   File "<frozen importlib._bootstrap>", line 1206, in _gcd_import                                                                                                │
│   File "<frozen importlib._bootstrap>", line 1178, in _find_and_load                                                                                             │
│   File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked                                                                                    │
│   File "<frozen importlib._bootstrap>", line 690, in _load_unlocked                                                                                              │
│   File "<frozen importlib._bootstrap_external>", line 940, in exec_module                                                                                        │
│   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed                                                                                   │
│   File "/app/software/MultiQC/1.21-foss-2023a-Python-3.11.3/lib/python3.11/site-packages/multiqc/modules/custom_content/__init__.py", line 1, in <module>        │
│     from .custom_content import *  # noqa: F403                                                                                                                  │
│     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                                                │
│   File "/app/software/MultiQC/1.21-foss-2023a-Python-3.11.3/lib/python3.11/site-packages/multiqc/modules/custom_content/custom_content.py", line 15, in <module> │
│     from multiqc.plots import bargraph, beeswarm, heatmap, linegraph, scatter, table                                                                             │
│   File "/app/software/MultiQC/1.21-foss-2023a-Python-3.11.3/lib/python3.11/site-packages/multiqc/plots/bargraph.py", line 12, in <module>                        │
│     from multiqc.plots.plotly import bar                                                                                                                         │
│   File "/app/software/MultiQC/1.21-foss-2023a-Python-3.11.3/lib/python3.11/site-packages/multiqc/plots/plotly/bar.py", line 9, in <module>                       │
│     import plotly.graph_objects as go                                                                                                                            │
│ ModuleNotFoundError: No module named 'plotly'                                                                                                                    │
│                                                                                                                                                                  │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─────────────────────────────────────────────────── Oops! The 'fastqc' MultiQC module broke... ────────────────────────────────────────────────────╮
│ Please copy this log and report it at https://github.com/MultiQC/MultiQC/issues                                                                   │
│ Please attach a file that triggers the error. The last file found was: None                                                                       │
│                                                                                                                                                   │
│ Traceback (most recent call last):                                                                                                                │
│   File "/app/software/MultiQC/1.21-foss-2023a-Python-3.11.3/lib/python3.11/site-packages/multiqc/multiqc.py", line 749, in run                    │
│     mod = config.avail_modules[this_module].load()                                                                                                │
│           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                │
│   File "/app/software/Python-bundle-PyPI/2023.06-GCCcore-12.3.0/lib/python3.11/site-packages/importlib_metadata/__init__.py", line 209, in load   │
│     module = import_module(match.group('module'))                                                                                                 │
│              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                                 │
│   File "/app/software/Python/3.11.3-GCCcore-12.3.0/lib/python3.11/importlib/__init__.py", line 126, in import_module                              │
│     return _bootstrap._gcd_import(name[level:], package, level)                                                                                   │
│            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                                                   │
│   File "<frozen importlib._bootstrap>", line 1206, in _gcd_import                                                                                 │
│   File "<frozen importlib._bootstrap>", line 1178, in _find_and_load                                                                              │
│   File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked                                                                     │
│   File "<frozen importlib._bootstrap>", line 690, in _load_unlocked                                                                               │
│   File "<frozen importlib._bootstrap_external>", line 940, in exec_module                                                                         │
│   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed                                                                    │
│   File "/app/software/MultiQC/1.21-foss-2023a-Python-3.11.3/lib/python3.11/site-packages/multiqc/modules/fastqc/__init__.py", line 1, in <module> │
│     from .fastqc import MultiqcModule                                                                                                             │
│   File "/app/software/MultiQC/1.21-foss-2023a-Python-3.11.3/lib/python3.11/site-packages/multiqc/modules/fastqc/fastqc.py", line 23, in <module>  │
│     from multiqc.plots import bargraph, heatmap, linegraph, table                                                                                 │
│   File "/app/software/MultiQC/1.21-foss-2023a-Python-3.11.3/lib/python3.11/site-packages/multiqc/plots/bargraph.py", line 12, in <module>         │
│     from multiqc.plots.plotly import bar                                                                                                          │
│   File "/app/software/MultiQC/1.21-foss-2023a-Python-3.11.3/lib/python3.11/site-packages/multiqc/plots/plotly/bar.py", line 9, in <module>        │
│     import plotly.graph_objects as go                                                                                                             │
│ ModuleNotFoundError: No module named 'plotly'                                                                                                     │
│                                                                                                                                                   │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
|           multiqc | No analysis results found. Cleaning up..
|           multiqc | MultiQC complete

It looks like MultiQC is now using plotly:

Could you add plotly as a dependency in MultiQC/1.21-foss-2023a-Python-3.11.3?

dtenenba commented 4 months ago

Hi,

We have rebuilt the module with a different name. Please load MultiQC/1.21-foss-2023a.

juyeongkim commented 4 months ago

Awesome! Thank you Dan!