scripts/build_dist.sh: sdist + pure wheel + manylinux_2_28 kernel wheels (maturin --zig,
both architectures). Dockerfile (multi-stage, kernels included, non-root user).
packaging/conda/{simurg,simurg-core}. scripts/p10/digest.py: platform-independent content
digests of GTC/VCF/summary outputs. Cloud task p10 installs the artifacts on a fresh
Ubuntu VM and runs the tutorial with pip, Docker and conda installs. trial.sh picks the
arm64/amd64 image from the instance type and can run instances in parallel (PARALLEL=1).
Licence files ship in both wheels; Rust crate notices added.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01814GKVzZVL3FuF3DeiZXhv
29 lines
1.2 KiB
Docker
29 lines
1.2 KiB
Docker
# SimurgArray container: the `simurg` CLI with the compiled kernels.
|
|
# docker build -t simurg:1.0.0 .
|
|
# docker run --rm -v "$PWD":/work simurg:1.0.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"]
|