# SimurgArray container: the `simurg` CLI with the compiled kernels. # docker build -t simurg:1.1.0 . # docker run --rm -v "$PWD":/work simurg:1.1.0 genotype --bpm M.bpm --egt C.egt --idats idats --out run/gtc # Inputs and outputs live in the mounted /work folder; the image holds no data. ARG PYTHON=3.12 FROM python:${PYTHON}-slim-bookworm AS build RUN apt-get update -q && apt-get install -y -q --no-install-recommends curl gcc libc6-dev \ && rm -rf /var/lib/apt/lists/* RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal ENV PATH=/root/.cargo/bin:$PATH WORKDIR /src COPY pyproject.toml README.md LICENSE THIRD_PARTY_NOTICES.md ./ COPY src ./src COPY rust/simurg-core ./rust/simurg-core RUN pip wheel --no-cache-dir --no-deps -w /wheels . ./rust/simurg-core FROM python:${PYTHON}-slim-bookworm LABEL org.opencontainers.image.title="SimurgArray" \ org.opencontainers.image.description="Research toolkit for Illumina Infinium genotyping BeadChip data" \ org.opencontainers.image.licenses="MIT" COPY --from=build /wheels /wheels RUN pip install --no-cache-dir /wheels/*.whl && rm -rf /wheels \ && useradd --create-home --uid 1000 simurg USER simurg WORKDIR /work ENTRYPOINT ["simurg"] CMD ["--help"]