-
Notifications
You must be signed in to change notification settings - Fork 32
/
Dockerfile
47 lines (40 loc) · 1.32 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
FROM python:3.8
RUN apt-get update && apt-get install -y \
cmake
RUN mkdir /app/
WORKDIR /app
# ----------------
# Install Gurobi
# ----------------
RUN wget https://packages.gurobi.com/9.0/gurobi9.0.2_linux64.tar.gz -O gurobi9.0.2_linux64.tar.gz
RUN tar xvzf gurobi9.0.2_linux64.tar.gz
RUN (cd gurobi902/linux64/src/build && make)
RUN (cd gurobi902/linux64/lib && ln -f -s ../src/build/libgurobi_c++.a libgurobi_c++.a)
ENV GUROBI_HOME /app/gurobi902
# ----------------
# Install SAMtools
# ----------------
RUN wget https://sourceforge.net/projects/samtools/files/samtools/1.7/samtools-1.7.tar.bz2/download -O samtools-1.7.tar.bz2
RUN tar xvjf samtools-1.7.tar.bz2
RUN (cd samtools-1.7 && ./configure && make)
ENV HATCHET_PATHS_SAMTOOLS /app/samtools-1.7
# ----------------
# Install BCFtools
# ----------------
RUN wget https://sourceforge.net/projects/samtools/files/samtools/1.7/bcftools-1.7.tar.bz2/download -O bcftools-1.7.tar.bz2
RUN tar xvjf bcftools-1.7.tar.bz2
RUN (cd bcftools-1.7 && ./configure && make)
ENV HATCHET_PATHS_BCFTOOLS /app/bcftools-1.7
# ----------------
# Copy source
# ----------------
COPY setup.py /app
COPY CMakeLists.txt /app
COPY FindGUROBI.cmake /app
COPY MANIFEST.in /app
COPY src/ /app/src/
COPY tests /app/tests/
# ----------------
# Install package
# ----------------
RUN CXXFLAGS=-pthread pip install .