|
1 |
| -FROM ubuntu:latest |
| 1 | +FROM debian:bullseye-slim AS binary |
2 | 2 | LABEL description="cosigt"
|
3 |
| -LABEL base_image="ubuntu:latest" |
| 3 | +LABEL base_image="debian:bullseye-slim" |
4 | 4 | LABEL software="cosigt"
|
5 | 5 | LABEL about.home="https://github.com/davidebolo1993/cosigt"
|
6 | 6 | LABEL about.license="GPLv3"
|
7 | 7 |
|
8 | 8 | ARG DEBIAN_FRONTEND=noninteractive
|
9 | 9 | #install basic libraries and python
|
10 |
| -#this is useful for having control on all the depenendencies |
11 |
| -#odgi and pggb are excluded here |
12 | 10 |
|
13 | 11 | WORKDIR /opt
|
14 | 12 |
|
15 | 13 | RUN apt-get update
|
16 | 14 |
|
17 |
| -RUN apt-get -y install build-essential \ |
| 15 | +RUN apt-get -y install \ |
| 16 | + build-essential \ |
18 | 17 | software-properties-common \
|
19 |
| - wget curl git \ |
20 |
| - bzip2 libbz2-dev \ |
21 |
| - zlib1g zlib1g-dev \ |
| 18 | + bash \ |
| 19 | + wget \ |
| 20 | + curl \ |
| 21 | + git \ |
| 22 | + bzip2 \ |
| 23 | + libbz2-dev \ |
| 24 | + zlib1g \ |
| 25 | + zlib1g-dev \ |
22 | 26 | liblzma-dev \
|
23 | 27 | libssl-dev \
|
24 | 28 | libncurses5-dev \
|
25 | 29 | libz-dev \
|
26 |
| - python3-dev python3-pip \ |
| 30 | + python3-dev \ |
| 31 | + python3-pip \ |
27 | 32 | libjemalloc-dev \
|
28 |
| - cmake make g++ \ |
| 33 | + cmake \ |
| 34 | + make \ |
| 35 | + g++ \ |
29 | 36 | libhts-dev \
|
30 | 37 | libzstd-dev \
|
31 | 38 | autoconf \
|
32 | 39 | libatomic-ops-dev \
|
33 | 40 | pkg-config \
|
34 |
| - pigz \ |
35 | 41 | clang-14 \
|
36 |
| - libomp5 libomp-dev libssl-dev libssl3 pkg-config \ |
37 |
| - zip unzip |
| 42 | + libomp5 \ |
| 43 | + libomp-dev \ |
| 44 | + libssl-dev \ |
| 45 | + libssl3 \ |
| 46 | + pkg-config \ |
| 47 | + zip \ |
| 48 | + unzip |
38 | 49 |
|
39 | 50 | #install golang
|
40 | 51 | RUN add-apt-repository ppa:longsleep/golang-backports
|
41 | 52 |
|
42 | 53 | RUN apt-get -y install golang-go \
|
43 | 54 | && apt-get -y clean all \
|
44 |
| - && rm -rf /var/cache |
| 55 | + && apt-get -y purge \ |
| 56 | + && rm -rf /var/cache \ |
| 57 | + && rm -rf /var/lib/apt/lists/* |
45 | 58 |
|
46 | 59 | #install rust
|
47 | 60 | RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
|
@@ -71,15 +84,19 @@ RUN wget https://github.com/samtools/samtools/releases/download/1.21/samtools-1.
|
71 | 84 | && cd samtools-1.21 \
|
72 | 85 | && ./configure \
|
73 | 86 | && make \
|
74 |
| - && make install |
| 87 | + && cp samtools /opt/samtools \ |
| 88 | + && cd .. \ |
| 89 | + && rm -rf samtools-1.21 |
75 | 90 |
|
76 | 91 | ##install bwa-mem
|
77 | 92 | RUN git clone https://github.com/lh3/bwa.git \
|
78 | 93 | && cd bwa \
|
79 | 94 | && git checkout 79b230de48c74156f9d3c26795a360fc5a2d5d3b \
|
80 |
| - && make |
81 |
| - |
82 |
| -ENV PATH /opt/bwa:$PATH |
| 95 | + && make \ |
| 96 | + && cp bwa ../bwa-tmp \ |
| 97 | + && cd .. \ |
| 98 | + && rm -rf bwa \ |
| 99 | + && mv bwa-tmp bwa |
83 | 100 |
|
84 | 101 | ##install bwa-mem2
|
85 | 102 | RUN wget https://github.com/bwa-mem2/bwa-mem2/releases/download/v2.2.1/bwa-mem2-2.2.1_x64-linux.tar.bz2 \
|
@@ -108,37 +125,42 @@ RUN wget https://github.com/ChristopherWilks/megadepth/releases/download/1.2.0/m
|
108 | 125 | RUN wget https://github.com/waveygang/wfmash/releases/download/v0.15.0/wfmash \
|
109 | 126 | && chmod +x wfmash
|
110 | 127 |
|
111 |
| -ENV PATH /opt:$PATH |
112 |
| - |
113 | 128 | ##install gafpack
|
114 | 129 | RUN git clone https://github.com/ekg/gafpack.git \
|
115 | 130 | && cd gafpack \
|
116 | 131 | && git checkout cf2e96057c4efe86317caa990b53f1fc1fdc6367 \
|
117 |
| - && cargo install --force --path . |
118 |
| - |
119 |
| -ENV PATH /opt/gafpack/target/release:$PATH |
| 132 | + && cargo install --force --path . \ |
| 133 | + && cp target/release/gafpack ../gafpack-tmp \ |
| 134 | + && cd .. \ |
| 135 | + && rm -rf gafpack \ |
| 136 | + && mv gafpack-tmp gafpack |
120 | 137 |
|
121 | 138 | ##install gfainject
|
122 | 139 | RUN git clone https://github.com/chfi/gfainject.git \
|
123 | 140 | && cd gfainject \
|
124 | 141 | && git checkout e56cba362047e7137352858dfba5f56e944cbf06 \
|
125 |
| - && cargo install --force --path . |
126 |
| - |
127 |
| -ENV PATH /opt/gfainject/target/release:$PATH |
| 142 | + && cargo install --force --path . \ |
| 143 | + && cp target/release/gfainject ../gfainject-tmp \ |
| 144 | + && cd .. \ |
| 145 | + && rm -rf gfainject \ |
| 146 | + && mv gfainject-tmp gfainject |
128 | 147 |
|
129 | 148 | ##install impg
|
130 | 149 | RUN git clone https://github.com/pangenome/impg \
|
131 | 150 | && cd impg \
|
132 | 151 | && git checkout 4cf6009160ec9d64e9f9972248511a63d6d012a5 \
|
133 |
| - && cargo install --force --path . |
134 |
| - |
135 |
| -ENV PATH /opt/impg/target/release:$PATH |
| 152 | + && cargo install --force --path . \ |
| 153 | + && cp target/release/impg ../impg-tmp \ |
| 154 | + && cd .. \ |
| 155 | + && rm -rf impg \ |
| 156 | + && mv impg-tmp impg |
136 | 157 |
|
137 | 158 | ##install cosigt
|
138 | 159 | RUN git clone https://github.com/davidebolo1993/cosigt.git \
|
139 | 160 | && cd cosigt \
|
140 | 161 | && go mod init cosigt \
|
141 | 162 | && go mod tidy \
|
142 |
| - && go build cosigt |
143 |
| - |
144 |
| -ENV PATH /opt/cosigt:$PATH |
| 163 | + && go build cosigt \ |
| 164 | + && cp cosigt ../cosigt-tmp \ |
| 165 | + && rm -rf cosigt \ |
| 166 | + && mv cosigt-tmp cosigt |
0 commit comments