forked from ComparativeGenomicsToolkit/cactus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.segalign
50 lines (38 loc) · 1.61 KB
/
Dockerfile.segalign
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
# Reminder: if updating this image, also update it in build-tools/makeGpuDockerRelease
FROM nvidia/cuda:11.4.3-devel-ubuntu20.04 as builder
# Prevent dpkg from trying to ask any questions, ever
ENV DEBIAN_FRONTEND noninteractive
# system dependencies are installed by ./installUbuntu.sh below, but we need sudo first
RUN apt-get -qq -y update && \
apt-get -qq -y upgrade && \
apt-get -qq -y install \
sudo git cmake
# Use the commit from the file
COPY build-tools/Segalign.commit /
# clone Segalign
RUN git clone https://github.com/ComparativeGenomicsToolkit/SegAlign.git /WGA_GPU && cd WGA_GPU && git checkout $(cat /Segalign.commit) && git submodule update --init --recursive
# build and install everything but cuda using the install script
RUN cd /WGA_GPU && rm -rf build && ./scripts/installUbuntu.sh -c && git rev-parse HEAD > /Segalign.commit
# Create a thinner final Docker image with only runtime dependencies
FROM nvidia/cuda:11.4.3-runtime-ubuntu20.04
# Install runtime dependencies
RUN apt-get -qq -y update && \
apt-get -qq -y upgrade && \
apt-get -qq -y install \
libkrb5-3 \
libk5crypto3 \
libboost-dev \
libboost-program-options-dev \
zlib1g \
parallel
# copy all the binaries
COPY --from=builder /usr/local/bin /usr/local/bin
# copy the tbb shared library
COPY --from=builder /WGA_GPU/build/tbb_cmake_build/tbb_cmake_build_subdir_release/lib* /usr/local/lib/
# add the library path
ENV LD_LIBRARY_PATH="/usr/local/lib/:${LD_LIBRARY_PATH}"
# remember that commit
COPY --from=builder /Segalign.commit /
# UCSC convention is to work in /data
RUN mkdir -p /data
WORKDIR /data