-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile
More file actions
32 lines (24 loc) · 1.12 KB
/
Dockerfile
File metadata and controls
32 lines (24 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
FROM mambaorg/micromamba:2.5.0-debian12-slim
LABEL org.opencontainers.image.source="https://github.com/broadinstitute/qprimer_designer"
LABEL org.opencontainers.image.description="ML-guided qPCR primer design with off-target minimization"
LABEL org.opencontainers.image.licenses="MIT"
# Layer 1: Conda environment (cached unless environment.yml changes)
COPY --chown=$MAMBA_USER:$MAMBA_USER environment.yml /tmp/environment.yml
RUN micromamba install -y -n base -f /tmp/environment.yml && \
micromamba clean --all --yes
ARG MAMBA_DOCKERFILE_ACTIVATE=1
ENV PATH="/opt/conda/bin:$PATH"
# Layer 2: Install package (cached unless pyproject.toml, README.md, or src/ changes)
COPY --chown=$MAMBA_USER:$MAMBA_USER pyproject.toml README.md /app/
COPY --chown=$MAMBA_USER:$MAMBA_USER src/ /app/src/
WORKDIR /app
RUN pip install --no-cache-dir .
# Layer 3: Copy remaining files (workflows, training, CLAUDE.md, LICENSE, etc.)
COPY --chown=$MAMBA_USER:$MAMBA_USER . /app
# Verify installation
RUN qprimer --help && \
qprimer generate --help && \
RNAduplex --version && \
bowtie2 --version | head -1
WORKDIR /data
CMD ["/bin/bash"]