From ecd03c04b5145037ce2368e8595c2e41efedf3d5 Mon Sep 17 00:00:00 2001 From: Gavin Date: Tue, 8 Oct 2024 11:24:04 -0700 Subject: [PATCH] Precompile quast dependencies Turns out that when you pip install the dependencies compile at first use, so they're compiling for every run. That being said, I don't think it takes very long; the real reason for this is that NERSC complains when QUAST tries to write to read only locations during compilation. --- Dockerfile | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 761b107..7e37bd6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,8 @@ MAINTAINER KBase Developer # Insert apt-get instructions here to install # any required dependencies for your module. -RUN apt update && apt install -y g++ nano tree +# libz is for Minimap2 in Quast +RUN apt update && apt install -y g++ nano tree wget libz-dev RUN python -m pip install --upgrade pip \ && pip install \ @@ -18,6 +19,16 @@ RUN python -m pip install --upgrade pip \ # Genemark is not open source for non-academic use, and so can't be used in KBase +# Precompile dependencies vs compiling at first use +# In particular, this allows the container to run @ NERSC +RUN mkdir /quasttemp \ + && cd /quasttemp \ + && wget quast.sf.net/test_data.tar.gz \ + && tar xzf test_data.tar.gz \ + && quast.py --test --debug \ + && cd - \ + && rm -r /quasttemp + # ----------------------------------------- COPY ./ /kb/module