StaPH-B / docker-builds

:package: :whale: Dockerfiles and documentation on tools for public health bioinformatics
GNU General Public License v3.0
191 stars 119 forks source link

[Request An Update]: MultiQC to version 1.15 #451

Closed erinyoung closed 11 months ago

erinyoung commented 2 years ago

What container needs an update?

There's a new version of MultiQC.

https://github.com/ewels/MultiQC/releases/tag/v1.13

I don't mind the biocontainers one, so I'll be using that in the meantime. The ewels/multiqc wasn't compatible with nextflow-tower the last time I used it.

erinyoung commented 1 year ago

MultiQC has a new version!

https://github.com/ewels/MultiQC/releases/tag/v1.15

There's a lot of changes for MultiQC since 1.8 (the latest image), and I'm not going to list them.

The 1.8 version is missing an app and test layer, as well as the CMD line. MultiQC has a lot of test data to download (https://github.com/ewels/MultiQC_TestData), so it shouldn't be too difficult to create some tests.

hutchinsonmiri commented 1 year ago

Working on this for Docker Workshop -Miriam Hutchinson NMDOH

erinyoung commented 1 year ago

Perfect!

The prior Dockerfiles are missing some key standards that we now require, but a lot of installation steps should be the same (or similar).

erinyoung commented 1 year ago

@hutchinsonmiri , are you still working on this?

hutchinsonmiri commented 1 year ago

Hi, yes! I am still working on it.

erinyoung commented 12 months ago

@hutchinsonmiri , I'm just checking in. Is everything going alright?

hutchinsonmiri commented 12 months ago

Hi @erinyoung, thanks for checking in! I am currently getting an error while building the app stage. The first error is that pip is out of date, so I attempt to update pip, but then I am getting a syntax issue (below). Do you have any suggestions? I haven't changed anything about the docker file except to add a test layer and update MultiQC to 1.17. The original 1.8 version doesn't seem to work either. Thanks a bunch!

0.726 Traceback (most recent call last):                                                                                                                                                                            
0.726   File "/usr/local/bin/pip3", line 7, in <module>                                                                                                                                                             
0.726     from pip._internal.cli.main import main                                                                                                                                                                   
0.726   File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 66                                                                                                                            
0.726     sys.stderr.write(f"ERROR: {exc}")
0.726                                    ^
0.726 SyntaxError: invalid syntax
erinyoung commented 12 months ago

Could you share more of the error?

hutchinsonmiri commented 12 months ago

Sure! Here is the log from the build process:

[+] Building 2.7s (9/16)                                                                                                                                          docker:default
 => [internal] load build definition from Dockerfile                                                                                                                        0.0s
 => => transferring dockerfile: 1.81kB                                                                                                                                      0.0s
 => [internal] load .dockerignore                                                                                                                                           0.0s
 => => transferring context: 2B                                                                                                                                             0.0s
 => [internal] load metadata for docker.io/library/ubuntu:xenial                                                                                                            0.6s
 => [app 1/9] FROM docker.io/library/ubuntu:xenial@sha256:1f1a2d56de1d604801a9671f301190704c25d604a416f59e03c04f5c6ffee0d6                                                  0.0s
 => CACHED [app 2/9] RUN apt-get update && apt-get install -y   software-properties-common                                                                                  0.0s
 => CACHED [app 3/9] RUN add-apt-repository universe                                                                                                                        0.0s
 => CACHED [app 4/9] RUN apt-get update && apt-get install -y   wget   python3   python3-dev   python3-pip   texlive-xetex   texlive-math-extra   locales &&   locale-gen   0.0s
 => CACHED [app 5/9] RUN pip3 install --upgrade pip                                                                                                                         0.0s
 => ERROR [app 6/9] RUN pip3 install "multiqc==1.17"                                                                                                                        2.0s
------                                                                                                                                                                           
 > [app 6/9] RUN pip3 install "multiqc==1.17":                                                                                                                                   
1.997 Traceback (most recent call last):                                                                                                                                         
1.997   File "/usr/local/bin/pip3", line 7, in <module>                                                                                                                          
1.997     from pip._internal.cli.main import main                                                                                                                                
1.997   File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 66                                                                                         
1.997     sys.stderr.write(f"ERROR: {exc}")
1.997                                    ^
1.997 SyntaxError: invalid syntax
------
Dockerfile:38
--------------------
  36 |     RUN pip3 install --upgrade pip
  37 |     # install multiqc
  38 | >>> RUN pip3 install "multiqc==1.17"
  39 |     
  40 |     # install pandoc
--------------------
ERROR: failed to solve: process "/bin/sh -c pip3 install \"multiqc==1.17\"" did not complete successfully: exit code: 1
kapsakcj commented 12 months ago

I've found in the past that it's easier to upgrade the base image to a more recent version of ubuntu, like ubuntu:jammy than it is to try to manually upgrade the pip version in the docker image. More recent versions of pip will require more recent versions of python and it looks like the system-wide python version is 3.5 which is quite old (released in 2015)

More recent distributions of ubuntu will have more recent versions of pip/pip3 available to be installed via apt.

I would at least give that a try before going down the rabbit hole of manually upgrading pip and then dealing with downstream impacts of that

erinyoung commented 12 months ago

@hutchinsonmiri ,

Curtis beat me to the response!

I think it might be easier if you started from one of the Docker templates and then used the 1.8 version as inspiration.

hutchinsonmiri commented 12 months ago

@erinyoung @kapsakcj, thanks to both of you! I will try that first and get back to you. Thanks again!

erinyoung commented 11 months ago

Thank you @hutchinsonmiri for your contribution! It sounds like it was an ordeal getting this to work.

hutchinsonmiri commented 11 months ago

Not a problem!!Sent from my iPhoneOn Dec 8, 2023, at 2:26 PM, Young @.***> wrote: Thank you @hutchinsonmiri for your contribution! It sounds like it was an ordeal getting this to work.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>