forked from populationgenomics/ClinvArbitration
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
59 lines (47 loc) · 1.61 KB
/
Dockerfile
File metadata and controls
59 lines (47 loc) · 1.61 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Any analysis-runner driver image must at least include git.
ARG PY_VER=${PY_VER:-3.10}
FROM python:${PY_VER}-slim-bullseye AS basic
ENV PYTHONDONTWRITEBYTECODE=1
RUN apt update && apt install --no-install-recommends -y \
apt-transport-https \
bzip2 \
ca-certificates \
git \
gnupg \
libbz2-1.0 \
libcurl4 \
liblzma5 \
openjdk-17-jdk-headless \
wget \
zip && \
pip install --no-cache-dir -U pip && \
rm -r /var/lib/apt/lists/* && \
rm -r /var/cache/apt/*
FROM basic AS bcftools_compiler
RUN apt-get update && apt-get install --no-install-recommends -y \
gcc \
libbz2-dev \
libcurl4-openssl-dev \
liblzma-dev \
libssl-dev \
make \
zlib1g-dev && \
wget https://github.com/samtools/bcftools/releases/download/1.21/bcftools-1.21.tar.bz2 && \
tar -xf bcftools-1.21.tar.bz2 && \
cd bcftools-1.21 && \
./configure --enable-libcurl --enable-s3 --enable-gcs && \
make && \
strip bcftools plugins/*.so && \
make DESTDIR=/bcftools_install install
FROM basic AS base_bcftools
COPY --from=bcftools_compiler /bcftools_install/usr/local/bin/* /usr/local/bin/
COPY --from=bcftools_compiler /bcftools_install/usr/local/libexec/bcftools/* /usr/local/libexec/bcftools/
FROM base_bcftools AS now_build_clinvarbitration
# now do some fun stuff, installing ClinvArbitration
WORKDIR /clinvarbitration
COPY src src/
COPY LICENSE README.md .
COPY pyproject.toml README.md ./
# pip install but don't retain the cache files
RUN pip install --no-cache-dir .
COPY nextflow nextflow/