MathOnco / NeoPredPipe

Neoantigens prediction pipeline for multi- or single-region vcf files using ANNOVAR and netMHCpan.
GNU Lesser General Public License v3.0
100 stars 28 forks source link

ImportError: cannot import name 'Panel' from 'bokeh.models.widgets' #47

Open evelyn-schmidt opened 3 months ago

evelyn-schmidt commented 3 months ago

When running python NeoPredViz.py --help I get the an import error:

Traceback (most recent call last):                                                                                                                                      
  File "/Users/evelynschmidt/Bioinformatics_tools/NeoPredPipe/NeoPredViz.py", line 14, in <module>                                                                      
    from bokeh.models.widgets import DataTable, TableColumn, Panel, Div, Select                                                                                         
ImportError: cannot import name 'Panel' from 'bokeh.models.widgets' (/Users/evelynschmidt/anaconda3/envs/bioinformatics/lib/python3.12/site-packages/bokeh/models/widgets/__init__.py)   

Conda environment that did NOT work

conda info

     active environment : bioinformatics
    active env location : /Users/evelynschmidt/anaconda3/envs/bioinformatics
            shell level : 1
       user config file : /Users/evelynschmidt/.condarc
 populated config files : /Users/evelynschmidt/.condarc
          conda version : 23.3.1
    conda-build version : 3.24.0
         python version : 3.10.8.final.0
       virtual packages : __archspec=1=arm64
                          __osx=13.4.1=0
                          __unix=0=0
       base environment : /Users/evelynschmidt/anaconda3  (writable)
      conda av data dir : /Users/evelynschmidt/anaconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/bioconda/osx-arm64
                          https://conda.anaconda.org/bioconda/noarch
                          https://repo.anaconda.com/pkgs/main/osx-arm64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-arm64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /Users/evelynschmidt/anaconda3/pkgs
                          /Users/evelynschmidt/.conda/pkgs
       envs directories : /Users/evelynschmidt/anaconda3/envs
                          /Users/evelynschmidt/.conda/envs
               platform : osx-arm64
             user-agent : conda/23.3.1 requests/2.28.1 CPython/3.10.8 Darwin/22.5.0 OSX/13.4.1
                UID:GID : 504:20
             netrc file : None
           offline mode : False
cat /Users/evelynschmidt/.condarc
channels:
  - bioconda
  - defaults
conda list 
# packages in environment at /Users/evelynschmidt/anaconda3/envs/bioinformatics:
#
# Name                    Version                   Build  Channel
anyio                     4.2.0            py38hca03da5_0  
appnope                   0.1.2           py38hca03da5_1001  
argon2-cffi               21.3.0             pyhd3eb1b0_0  
argon2-cffi-bindings      21.2.0           py38h1a28f6b_0  
asttokens                 2.0.5              pyhd3eb1b0_0  
async-lru                 2.0.4            py38hca03da5_0  
attrs                     23.1.0           py38hca03da5_0  
babel                     2.11.0           py38hca03da5_0  
backcall                  0.2.0              pyhd3eb1b0_0  
beautifulsoup4            4.12.2           py38hca03da5_0  
biopython                 1.78             py38h1a28f6b_0  
blas                      2.121                  openblas    conda-forge
blas-devel                3.9.0           21_osxarm64_openblas    conda-forge
bleach                    4.1.0              pyhd3eb1b0_0  
bokeh                     3.1.1            py38h33ce5c2_0  
bottleneck                1.3.7            py38hbda83bc_0  
brotli                    1.0.9                h1a28f6b_7  
brotli-bin                1.0.9                h1a28f6b_7  
brotli-python             1.0.9            py38hc377ac9_7  
bzip2                     1.0.8                h80987f9_5  
ca-certificates           2024.3.11            hca03da5_0  
certifi                   2024.2.2         py38hca03da5_0  
cffi                      1.16.0           py38h80987f9_0  
charset-normalizer        2.0.4              pyhd3eb1b0_0  
colorcet                  3.1.0                      py_0    pyviz
comm                      0.2.1            py38hca03da5_0  
contourpy                 1.0.5            py38h525c30c_0  
cycler                    0.11.0             pyhd3eb1b0_0  
debugpy                   1.6.7            py38h313beb8_0  
decorator                 5.1.1              pyhd3eb1b0_0  
defusedxml                0.7.1              pyhd3eb1b0_0  
exceptiongroup            1.2.0            py38hca03da5_0  
executing                 0.8.3              pyhd3eb1b0_0  
expat                     2.5.0                h313beb8_0  
fonttools                 4.25.0             pyhd3eb1b0_0  
freetype                  2.12.1               h1192e45_0  
holoviews                 1.17.1           py38hca03da5_0  
idna                      3.4              py38hca03da5_0  
importlib-metadata        7.0.1            py38hca03da5_0  
importlib_metadata        7.0.1                hd3eb1b0_0  
importlib_resources       6.1.1            py38hca03da5_1  
ipykernel                 6.28.0           py38hca03da5_0  
ipython                   8.12.2           py38hca03da5_0  
jedi                      0.18.1           py38hca03da5_1  
jinja2                    3.1.3            py38hca03da5_0  
jpeg                      9e                   h80987f9_1  
json5                     0.9.6              pyhd3eb1b0_0  
jsonschema                4.19.2           py38hca03da5_0  
jsonschema-specifications 2023.7.1         py38hca03da5_0  
jupyter-lsp               2.2.0            py38hca03da5_0  
jupyter_client            8.6.0            py38hca03da5_0  
jupyter_core              5.5.0            py38hca03da5_0  
jupyter_events            0.8.0            py38hca03da5_0  
jupyter_server            2.10.0           py38hca03da5_0  
jupyter_server_terminals  0.4.4            py38hca03da5_1  
jupyterlab                4.0.11           py38hca03da5_0  
jupyterlab_pygments       0.1.2                      py_0  
jupyterlab_server         2.25.1           py38hca03da5_0  
kiwisolver                1.4.4            py38h313beb8_0  
lcms2                     2.12                 hba8e193_0  
lerc                      3.0                  hc377ac9_0  
libblas                   3.9.0           21_osxarm64_openblas    conda-forge
libbrotlicommon           1.0.9                h1a28f6b_7  
libbrotlidec              1.0.9                h1a28f6b_7  
libbrotlienc              1.0.9                h1a28f6b_7  
libcblas                  3.9.0           21_osxarm64_openblas    conda-forge
libcxx                    14.0.6               h848a8c0_0  
libdeflate                1.17                 h80987f9_1  
libffi                    3.4.4                hca03da5_0  
libgfortran               5.0.0           13_2_0_hd922786_3    conda-forge
libgfortran5              13.2.0               hf226fd6_3    conda-forge
liblapack                 3.9.0           21_osxarm64_openblas    conda-forge
liblapacke                3.9.0           21_osxarm64_openblas    conda-forge
libopenblas               0.3.26          openmp_h6c19121_0    conda-forge
libpng                    1.6.39               h80987f9_0  
libsodium                 1.0.18               h1a28f6b_0  
libtiff                   4.5.1                h313beb8_0  
libwebp-base              1.3.2                h80987f9_0  
linkify-it-py             2.0.0            py38hca03da5_0  
llvm-openmp               18.1.2               hcd81f8e_0    conda-forge
lz4-c                     1.9.4                h313beb8_0  
markdown                  3.4.1            py38hca03da5_0  
markdown-it-py            2.2.0            py38hca03da5_1  
markupsafe                2.1.3            py38h80987f9_0  
matplotlib                3.7.2            py38hca03da5_0  
matplotlib-base           3.7.2            py38h46d7db6_0  
matplotlib-inline         0.1.6            py38hca03da5_0  
mdit-py-plugins           0.3.0            py38hca03da5_0  
mdurl                     0.1.0            py38hca03da5_0  
mistune                   2.0.4            py38hca03da5_0  
munkres                   1.0.7                      py_1    bioconda
nbclient                  0.8.0            py38hca03da5_0  
nbconvert                 7.10.0           py38hca03da5_0  
nbformat                  5.9.2            py38hca03da5_0  
ncurses                   6.4                  h313beb8_0  
nest-asyncio              1.6.0            py38hca03da5_0  
notebook                  7.0.8            py38hca03da5_0  
notebook-shim             0.2.3            py38hca03da5_0  
numexpr                   2.8.4            py38h79ee842_1  
numpy                     1.24.3           py38h1398885_0  
numpy-base                1.24.3           py38h90707a3_0  
openblas                  0.3.26          openmp_h55c453e_0    conda-forge
openjpeg                  2.3.0                h7a6adac_2  
openssl                   3.2.1                h0d3ecfb_1    conda-forge
overrides                 7.4.0            py38hca03da5_0  
packaging                 23.2             py38hca03da5_0  
pandas                    2.0.3            py38h46d7db6_0  
pandocfilters             1.5.0              pyhd3eb1b0_0  
panel                     1.2.3            py38hca03da5_0  
param                     1.13.0           py38hca03da5_0  
parso                     0.8.3              pyhd3eb1b0_0  
pexpect                   4.8.0              pyhd3eb1b0_3  
pickleshare               0.7.5           pyhd3eb1b0_1003  
pillow                    10.2.0           py38h80987f9_0  
pip                       23.3.1           py38hca03da5_0  
pkgutil-resolve-name      1.3.10           py38hca03da5_1  
platformdirs              3.10.0           py38hca03da5_0  
prometheus_client         0.14.1           py38hca03da5_0  
prompt-toolkit            3.0.43           py38hca03da5_0  
prompt_toolkit            3.0.43               hd3eb1b0_0  
psutil                    5.9.0            py38h1a28f6b_0  
ptyprocess                0.7.0              pyhd3eb1b0_2  
pure_eval                 0.2.2              pyhd3eb1b0_0  
pycparser                 2.21               pyhd3eb1b0_0  
pygments                  2.15.1           py38hca03da5_1  
pyparsing                 3.0.9            py38hca03da5_0  
pysocks                   1.7.1            py38hca03da5_0  
python                    3.8.19               hb885b13_0  
python-dateutil           2.8.2              pyhd3eb1b0_0  
python-fastjsonschema     2.16.2           py38hca03da5_0  
python-json-logger        2.0.7            py38hca03da5_0  
python-tzdata             2023.3             pyhd3eb1b0_0  
pytz                      2023.3.post1     py38hca03da5_0  
pyviz_comms               3.0.0                      py_0    pyviz
pyyaml                    6.0.1            py38h80987f9_0  
pyzmq                     25.1.2           py38h313beb8_0  
readline                  8.2                  h1a28f6b_0  
referencing               0.30.2           py38hca03da5_0  
requests                  2.31.0           py38hca03da5_1  
rfc3339-validator         0.1.4            py38hca03da5_0  
rfc3986-validator         0.1.1            py38hca03da5_0  
rpds-py                   0.10.6           py38hf0e4da2_0  
send2trash                1.8.2            py38hca03da5_0  
setuptools                68.2.2           py38hca03da5_0  
six                       1.16.0             pyhd3eb1b0_1  
sniffio                   1.3.0            py38hca03da5_0  
soupsieve                 2.5              py38hca03da5_0  
sqlite                    3.41.2               h80987f9_0  
stack_data                0.2.0              pyhd3eb1b0_0  
terminado                 0.17.1           py38hca03da5_0  
tinycss2                  1.2.1            py38hca03da5_0  
tk                        8.6.12               hb8d0fd4_0  
tomli                     2.0.1            py38hca03da5_0  
tornado                   6.3.3            py38h80987f9_0  
tqdm                      4.65.0           py38h86d0a89_0  
traitlets                 5.7.1            py38hca03da5_0  
typing-extensions         4.9.0            py38hca03da5_1  
typing_extensions         4.9.0            py38hca03da5_1  
tzdata                    2024a                h04d1e81_0  
uc-micro-py               1.0.1            py38hca03da5_0  
urllib3                   2.1.0            py38hca03da5_1  
wcwidth                   0.2.5              pyhd3eb1b0_0  
webencodings              0.5.1            py38hca03da5_1  
websocket-client          0.58.0           py38hca03da5_4  
wheel                     0.41.2           py38hca03da5_0  
xyzservices               2022.9.0         py38hca03da5_1  
xz                        5.4.6                h80987f9_0  
yaml                      0.2.5                h1a28f6b_0  
zeromq                    4.3.5                h313beb8_0  
zipp                      3.17.0           py38hca03da5_0  
zlib                      1.2.13               h5a0b063_0  
zstd                      1.5.5                hd90d995_0 

According to bokeh it seems that Panel has been changed to TabPanel. So I had to configure my conda environment to use bokeh version 2.4 to get this to work which required python version 3.7.

Enviroment that worked:

conda info

    active environment : neopredviz
    active env location : /Users/evelynschmidt/anaconda3/envs/neopredviz
            shell level : 1
       user config file : /Users/evelynschmidt/.condarc
 populated config files : /Users/evelynschmidt/.condarc
                          /Users/evelynschmidt/anaconda3/envs/neopredviz/.condarc
          conda version : 23.3.1
    conda-build version : 3.24.0
         python version : 3.10.8.final.0
       virtual packages : __archspec=1=x86_64
                          __osx=13.4.1=0
                          __unix=0=0
       base environment : /Users/evelynschmidt/anaconda3  (writable)
      conda av data dir : /Users/evelynschmidt/anaconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/bioconda/osx-64
                          https://conda.anaconda.org/bioconda/noarch
                          https://repo.anaconda.com/pkgs/main/osx-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /Users/evelynschmidt/anaconda3/pkgs
                          /Users/evelynschmidt/.conda/pkgs
       envs directories : /Users/evelynschmidt/anaconda3/envs
                          /Users/evelynschmidt/.conda/envs
               platform : osx-64
             user-agent : conda/23.3.1 requests/2.28.1 CPython/3.10.8 Darwin/22.5.0 OSX/13.4.1
                UID:GID : 504:20
             netrc file : None
           offline mode : False
cat /Users/evelynschmidt/.condarc
channels:
  - bioconda
  - defaults
conda list

# packages in environment at /Users/evelynschmidt/anaconda3/envs/neopredviz:
#
# Name                    Version                   Build  Channel
biopython                 1.78             py37h9ed2024_0  
blas                      1.0                         mkl  
bleach                    6.0.0                    pypi_0    pypi
bokeh                     2.4.3            py37hecd8cb5_0  
ca-certificates           2024.3.11            hecd8cb5_0  
certifi                   2022.12.7        py37hecd8cb5_0  
charset-normalizer        3.3.2                    pypi_0    pypi
colorcet                  3.1.0                    pypi_0    pypi
freetype                  2.12.1               hd8bbffd_0  
giflib                    5.2.1                h6c40b1e_3  
holoviews                 1.16.2                   pypi_0    pypi
idna                      3.6                      pypi_0    pypi
importlib-metadata        6.7.0                    pypi_0    pypi
intel-openmp              2021.4.0          hecd8cb5_3538  
jinja2                    3.1.2            py37hecd8cb5_0  
jpeg                      9e                   h6c40b1e_1  
lcms2                     2.12                 hf1fd2bf_0  
lerc                      3.0                  he9d5cce_0  
libcxx                    14.0.6               h9765a3e_0  
libdeflate                1.17                 hb664fd8_1  
libffi                    3.4.4                hecd8cb5_0  
libpng                    1.6.39               h6c40b1e_0  
libtiff                   4.5.1                hcec6c5f_0  
libwebp                   1.2.4                hf6ce154_1  
libwebp-base              1.2.4                h6c40b1e_1  
lz4-c                     1.9.4                hcec6c5f_0  
markdown                  3.4.4                    pypi_0    pypi
markupsafe                2.1.1            py37hca72f7f_0  
mkl                       2021.4.0           hecd8cb5_637  
mkl-service               2.4.0            py37h9ed2024_0  
mkl_fft                   1.3.1            py37h4ab4a9b_0  
mkl_random                1.2.2            py37hb2f4e1b_0  
ncurses                   6.4                  hcec6c5f_0  
numpy                     1.21.5           py37h2e5f0a9_3  
numpy-base                1.21.5           py37h3b1a694_3  
openssl                   1.1.1w               hca72f7f_0  
packaging                 22.0             py37hecd8cb5_0  
pandas                    1.3.5                    pypi_0    pypi
panel                     0.14.4                   pypi_0    pypi
param                     1.13.0                   pypi_0    pypi
pillow                    9.4.0            py37hcec6c5f_0  
pip                       22.3.1           py37hecd8cb5_0  
pyct                      0.5.0                    pypi_0    pypi
python                    3.7.16               h218abb5_0  
python-dateutil           2.9.0.post0              pypi_0    pypi
pytz                      2024.1                   pypi_0    pypi
pyviz-comms               2.3.2                    pypi_0    pypi
pyyaml                    6.0              py37h6c40b1e_1  
readline                  8.2                  hca72f7f_0  
requests                  2.31.0                   pypi_0    pypi
setuptools                65.6.3           py37hecd8cb5_0  
six                       1.16.0             pyhd3eb1b0_1  
sqlite                    3.41.2               h6c40b1e_0  
tk                        8.6.12               h5d9f67b_0  
tornado                   6.2              py37hca72f7f_0  
tqdm                      4.66.2                   pypi_0    pypi
typing_extensions         4.3.0            py37hecd8cb5_0  
urllib3                   2.0.7                    pypi_0    pypi
webencodings              0.5.1                    pypi_0    pypi
wheel                     0.38.4           py37hecd8cb5_0  
xz                        5.4.6                h6c40b1e_0  
yaml                      0.2.5                haf1e3a3_0  
zipp                      3.15.0                   pypi_0    pypi
zlib                      1.2.13               h4dc903c_0  
zstd                      1.5.5                hc035e20_0 

Creating the conda environment that worked for me

I am on a mac so there was a problem with the M1 chip and python which was resolved this way:

conda create --name neopredviz
conda activate neopredviz

## use x86_64 architecture channel(s)
conda config --env --set subdir osx-64

## install python
conda install python=3.7

## other packages needed for NeoPredViz
conda install biopython
conda install bokeh=2.4 # this specific version
pip install holoviews