dms-vep / SARS-CoV-2_Omicron_BA.2_spike_DMS

Other
1 stars 0 forks source link

module loading issue #1

Closed Bernadetadad closed 1 year ago

Bernadetadad commented 1 year ago

@jbloom for some reason when I run the pipeline on slurm it cannot load matplotlib._contour module require for dms_variants. Pipeline fails in the first cell of build_codon_variants.ipynb notebook. The error log is below pipeline is on antibody_sera_selections_221022 branch. If I just run the notebook interactively importing all modules does not seem to be an issue. I'm running all of this in dms-vep-pipeline conda environment.

Input Notebook:  dms-vep-pipeline/notebooks/build_codon_variants.ipynb
Output Notebook: results/notebooks/build_codon_variants.ipynb

Executing:   0%|          | 0/29 [00:00<?, ?cell/s]Executing notebook with kernel: python3

Executing:   3%|▎         | 1/29 [00:07<03:19,  7.13s/cell]
Executing:   7%|▋         | 2/29 [00:26<06:23, 14.21s/cell]
Executing:   7%|▋         | 2/29 [00:27<06:04, 13.50s/cell]
Traceback (most recent call last):
  File "/fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/bin/papermill", line 10, in <module>
    sys.exit(papermill())
  File "/fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/papermill/cli.py", line 250, in papermill
    execute_notebook(
  File "/fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/papermill/execute.py", line 122, in execute_notebook
    raise_for_execution_errors(nb, output_path)
  File "/fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/papermill/execute.py", line 234, in raise_for_execution_errors
    raise error
papermill.exceptions.PapermillExecutionError: 
---------------------------------------------------------------------------
Exception encountered at "In [1]":
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In [1], line 8
      4 import Bio.SeqIO
      6 import altair as alt
----> 8 import dms_variants.codonvarianttable
      9 import dms_variants.plotnine_themes
     11 import matplotlib.pyplot as plt

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/dms_variants/codonvarianttable.py:23
     19 import numpy
     21 import pandas as pd
---> 23 import plotnine as p9
     25 import dms_variants.utils
     26 from dms_variants.constants import (
     27     AAS_WITHSTOP,
     28     AAS_WITHSTOP_WITHGAP,
   (...)
     37     NTS_WITHGAP,
     38 )

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/__init__.py:1
----> 1 from .qplot import qplot            # noqa: F401
      2 from .ggplot import ggplot, ggsave  # noqa: F401
      3 from .ggplot import save_as_pdf_pages  # noqa: F401

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/qplot.py:9
      6 import numpy as np
      7 from patsy.eval import EvalEnvironment
----> 9 from .ggplot import ggplot
     10 from .mapping.aes import aes, ALL_AESTHETICS, SCALED_AESTHETICS
     11 from .labels import labs

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/ggplot.py:18
     16 from .mapping.aes import aes, make_labels
     17 from .layer import Layers
---> 18 from .facets import facet_null
     19 from .facets.layout import Layout
     20 from .options import get_option, SUBPLOTS_ADJUST

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/facets/__init__.py:1
----> 1 from .facet_grid import facet_grid
      2 from .facet_null import facet_null
      3 from .facet_wrap import facet_wrap

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/facets/facet_grid.py:6
      4 from ..utils import match, join_keys
      5 from ..exceptions import PlotnineError
----> 6 from .facet import facet, layout_null, combine_vars, add_missing_facets
      7 from .facet import eval_facet_vars
      8 from .strips import strip

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/facets/facet.py:14
     12 from ..utils import cross_join, match
     13 from ..exceptions import PlotnineError, PlotnineWarning
---> 14 from ..scales.scales import Scales
     16 # For default matplotlib backend
     17 with suppress(ImportError):

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/scales/__init__.py:83
     81 from .scale_xy import scale_y_timedelta
     82 # limits
---> 83 from .limits import xlim, ylim, lims, expand_limits
     86 __all__ = [
     87            # color
     88            'scale_color_brewer', 'scale_colour_brewer',
   (...)
    151            'xlim', 'ylim', 'lims', 'expand_limits'
    152            ]

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/scales/limits.py:8
      5 import pandas as pd
      7 from ..mapping.aes import aes, ALL_AESTHETICS
----> 8 from ..geoms import geom_blank
      9 from ..scales.scales import make_scale
     10 from ..exceptions import PlotnineError

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/geoms/__init__.py:6
      1 """
      2 Plotting objects
      3 """
      5 # geoms
----> 6 from .geom_abline import geom_abline
      7 from .geom_area import geom_area
      8 from .geom_bar import geom_bar

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/geoms/geom_abline.py:9
      7 from ..utils import make_iterable, order_as_data_mapping
      8 from ..doctools import document
----> 9 from .geom import geom
     10 from .geom_segment import geom_segment
     13 @document
     14 class geom_abline(geom):

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/geoms/geom.py:3
      1 from copy import deepcopy
----> 3 from ..stats.stat import stat
      4 from ..mapping.aes import rename_aesthetics, is_valid_aesthetic
      5 from ..mapping.evaluation import evaluate

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/stats/__init__.py:7
      5 from .stat_boxplot import stat_boxplot
      6 from .stat_density import stat_density
----> 7 from .stat_density_2d import stat_density_2d
      8 from .stat_ecdf import stat_ecdf
      9 from .stat_ellipse import stat_ellipse

File /fh/fast/bloom_j/computational_notebooks/bdadonai/2022/vep_dms/SARS-CoV-2_Omicron_BA.2_spike_DMS/.snakemake/conda/bb0d8a5346a04ec06d89866ac3cebf86/lib/python3.9/site-packages/plotnine/stats/stat_density_2d.py:3
      1 import numpy as np
      2 import pandas as pd
----> 3 import matplotlib._contour as _contour
      4 from mizani.breaks import extended_breaks
      6 from ..doctools import document

ModuleNotFoundError: No module named 'matplotlib._contour'
jbloom commented 1 year ago

The source of this issue is that plotnine does not work with the latest version of matplotlib: see https://github.com/has2k1/plotnine/issues/621

jbloom commented 1 year ago

@Bernadetadad, for now I just pinned the version of matplotlib to be 3.5 until the plotnine issue above is fixed. This is in the latest dms-vep-pipeline: https://github.com/dms-vep/dms-vep-pipeline/pull/78

If you use that latest version, it should work now.