-
Notifications
You must be signed in to change notification settings - Fork 10
/
Dockerfile
68 lines (55 loc) · 1.9 KB
/
Dockerfile
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
60
61
62
63
64
65
66
67
68
FROM ubuntu:20.04
MAINTAINER Mikhail Kolmogorov, [email protected]
# update and install dependencies
RUN apt-get update && \
DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata && \
apt-get -y install cmake git make gcc g++ autoconf bzip2 lzma-dev zlib1g-dev tabix libbz2-dev && \
apt-get -y install libcurl4-openssl-dev libpthread-stubs0-dev libbz2-dev liblzma-dev libhdf5-dev && \
apt-get -y install python3-pip python3-virtualenv virtualenv python3-dev && \
apt-get clean && \
apt-get purge && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN ln -s /usr/bin/python3 /usr/bin/python
#RUN which python
RUN python3 --version && \
python3 -m pip install --upgrade pip && \
python3 -m pip install cython wheel pysam numpy biopython && \
python3 -m pip uninstall -y enum34 && \
#disables Cuda, but saved ~2Gb of image size
python3 -m pip install torch==1.9.0+cpu -f https://download.pytorch.org/whl/cpu/torch_stable.html
#build and Flye
WORKDIR /opt
COPY ./submodules/Flye /opt/flye
RUN cd /opt/flye && python3 setup.py install && \
rm -rf /opt/flye
#RUN cmake --version
# get PEPPER
WORKDIR /opt
COPY ./submodules/pepper /opt/pepper/
#COPY ./submodules/pepper-private /opt/pepper/
RUN cd /opt/pepper && \
python3 -m pip install . && \
rm -rf /opt/pepper
#RUN python3 -m pip install --upgrade pip
#RUN rm -rf /opt/pepper/
# install Margin
WORKDIR /opt
COPY ./submodules/margin/ /opt/margin_dir/
RUN cd margin_dir/ && \
mkdir build && \
cd build && \
cmake .. && \
make -j 20 && \
cp margin /usr/local/bin && \
rm -rf /opt/margin_dir
#install the pipeline
WORKDIR /opt
COPY . /opt/hapdup
RUN cd /opt/hapdup && python3 -m pip install . && \
rm -rf /opt/hapdup
# setup models/configurations
COPY ./pepper_models /opt/pepper_models/
COPY ./submodules/margin/params /opt/margin_params/
ENV PEPPER_MODEL_DIR "/opt/pepper_models"
ENV MARGIN_CONFIG_DIR "/opt/margin_params/phase"
ENV PYTHONUNBUFFERED "1"