Closed erinyoung closed 11 months 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.
Working on this for Docker Workshop -Miriam Hutchinson NMDOH
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).
@hutchinsonmiri , are you still working on this?
Hi, yes! I am still working on it.
@hutchinsonmiri , I'm just checking in. Is everything going alright?
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
Could you share more of the error?
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
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
@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.
@erinyoung @kapsakcj, thanks to both of you! I will try that first and get back to you. Thanks again!
Thank you @hutchinsonmiri for your contribution! It sounds like it was an ordeal getting this to work.
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: @.***>
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.