compomics / moFF

A modest Feature Finder (moFF) to extract MS1 intensities from Thermo raw file
Apache License 2.0
33 stars 11 forks source link

Backwards incompatible changes in pandas cause building the Dockerfile to fail #48

Open YaPaHa opened 4 years ago

YaPaHa commented 4 years ago

I ran into problems when trying to setup moFF. At first I assumed it was a problem with my local system. However when I decided to try to build the docker image you provide it also failed.

After many hours of googling and scrolling through your code I found it had to do with backwards incompatible changes in pandas. It turns out that, as of version 0.25, pandas has removed support for panels and they now recommend using xarray instead.

I solved it by simply installing version 0.24.2 of pandas with conda (the last version before the 0.25 release). Could you update the requirements section to reflect pandas' backwards incompatible changes to save other users of your code some time and effort during setup?

Maux82 commented 4 years ago

Hi, Thank you for let me know this compatibility problems with the current version version of pandas. I have fixed the docker file, but not tested yet. let know if it is work like that.

I think that this problem has consequences also in the conda version. Have you tried to install it from conda ? Does it show the same issue ?

Unfortunately, I don't work anymore on moFF (moved outside academia to the private sector) I will try to check all this compatibility issues as soon I have a bit of free time.

YaPaHa commented 4 years ago

Installing it via conda indeed caused problems as well. Below are my minimal working conda environment & dockerfile. However you will get a warning about missing cython compiled modules.

FROM nfcore/base
LABEL authors="Veit Schwaemmle" \
    description="Docker image containing all requirements for moFF"

COPY environment.yml /
RUN conda env create -f /environment.yml && conda clean -a;

SHELL ["conda", "run", "-n", "moFF", "/bin/bash", "-c"]
ENV PATH /opt/conda/envs/moFF/bin:$PATH
ENTRYPOINT ["conda", "run", "-n", "moFF", "/bin/bash", "-c"]

where the contents of environment.yml are:

name: moFF
channels:
  - conda-forge
  - bioconda
  - anaconda
  - defaults
dependencies:
  - python=3.6
  - moff=2.0.3
  - pandas=0.24.2