Mercurial > repos > galaxytrakr > mitokmer
diff Dockerfile @ 2:dd206296acbf draft
planemo upload commit 83cba09882dc583100b39b69b41cf791e4efb55a
| author | galaxytrakr |
|---|---|
| date | Mon, 14 Sep 2026 19:47:05 +0000 |
| parents | adc887a1a6de |
| children | ecf96ad08611 |
line wrap: on
line diff
--- a/Dockerfile Fri Sep 11 22:01:39 2026 +0000 +++ b/Dockerfile Mon Sep 14 19:47:05 2026 +0000 @@ -37,10 +37,10 @@ WORKDIR /opt/mitokmer2 -# Compile the C++ read-screening program -# kmer_read_1.cpp -> kmerread -RUN g++ -O3 kmer_read_1.cpp -o kmerread -lz && \ - chmod +x kmerread +# Compile kmer_read_1.cpp -> kmerread7 +# kmer_read_m7.py calls ./kmerread7 as a subprocess +RUN g++ -O3 kmer_read_1.cpp -o kmerread7 -lz && \ + chmod +x kmerread7 # Install any Python requirements declared in the repo RUN if [ -f requirements.txt ]; then \ @@ -64,22 +64,25 @@ && rm -rf /var/lib/apt/lists/* # Copy compiled binary from build stage -COPY --from=build /opt/mitokmer2/kmerread /usr/local/bin/kmerread +# kmerread7 is called by kmer_read_m7.py as ./kmerread7 so it +# must be in the working directory at runtime; place it in both +# /usr/local/bin (for PATH) and /opt/mitokmer2 (for relative invocation) +COPY --from=build /opt/mitokmer2/kmerread7 /usr/local/bin/kmerread7 +COPY --from=build /opt/mitokmer2/kmerread7 /opt/mitokmer2/kmerread7 # Copy Python scripts and supporting files from build stage COPY --from=build /opt/mitokmer2 /opt/mitokmer2 # Copy Python virtual environment from build stage -# --copies in the build stage ensures no broken symlinks here COPY --from=build /opt/venv /opt/venv -# Refresh the dynamic linker cache so zlib and other shared -# libraries are found at runtime +# Refresh the dynamic linker cache RUN ldconfig || true # Ensure all users (including arbitrary Galaxy UIDs) can # read and execute binaries, scripts, and the venv -RUN chmod a+rx /usr/local/bin/kmerread && \ +RUN chmod a+rx /usr/local/bin/kmerread7 \ + /opt/mitokmer2/kmerread7 && \ chmod -R a+rX /opt/mitokmer2 && \ chmod -R a+rX /opt/venv
