forked from darcyabjones/pante
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpante.Dockerfile
265 lines (185 loc) · 7.95 KB
/
pante.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
ARG IMAGE
ARG BEDTOOLS_IMAGE
ARG DECIPHER_IMAGE
ARG EAHELITRON_IMAGE
ARG GENOMETOOLS_IMAGE
ARG GFFPAL_IMAGE
ARG HMMER3_IMAGE
ARG INFERNAL_IMAGE
ARG MITEFINDER_IMAGE
ARG MMSEQS_IMAGE
ARG PYTHON3_IMAGE
ARG OCCULTERCUT_IMAGE
ARG REPEATMASKER_IMAGE
ARG RMBLAST_IMAGE
ARG TRNASCAN_IMAGE
ARG VSEARCH_IMAGE
FROM "${BEDTOOLS_IMAGE}" as bedtools_builder
FROM "${DECIPHER_IMAGE}" as decipher_builder
FROM "${EAHELITRON_IMAGE}" as eahelitron_builder
FROM "${GENOMETOOLS_IMAGE}" as genometools_builder
FROM "${GFFPAL_IMAGE}" as gffpal_builder
FROM "${HMMER3_IMAGE}" as hmmer3_builder
FROM "${INFERNAL_IMAGE}" as infernal_builder
FROM "${MITEFINDER_IMAGE}" as mitefinder_builder
FROM "${MMSEQS_IMAGE}" as mmseqs_builder
FROM "${OCCULTERCUT_IMAGE}" as occultercut_builder
FROM "${PYTHON3_IMAGE}" as python3_builder
FROM "${REPEATMASKER_IMAGE}" as repeatmasker_builder
FROM "${RMBLAST_IMAGE}" as rmblast_builder
FROM "${TRNASCAN_IMAGE}" as trnascan_builder
FROM "${VSEARCH_IMAGE}" as vsearch_builder
FROM "${IMAGE}"
ARG BEDTOOLS_VERSION
ARG BEDTOOLS_PREFIX_ARG
ENV BEDTOOLS_PREFIX="${BEDTOOLS_PREFIX_ARG}"
LABEL bedtools.version="${BEDTOOLS_VERSION}"
ENV PATH "${BEDTOOLS_PREFIX}/bin:${PATH}"
COPY --from=bedtools_builder "${BEDTOOLS_PREFIX}" "${BEDTOOLS_PREFIX}"
COPY --from=bedtools_builder "${APT_REQUIREMENTS_FILE}" /build/apt/bedtools.txt
ARG DECIPHER_VERSION
ARG DECIPHER_PREFIX_ARG
ENV DECIPHER_PREFIX="${DECIPHER_PREFIX_ARG}"
LABEL decipher.version="${DECIPHER_VERSION}"
ENV R_LIBS_USER="${DECIPHER_PREFIX}:${R_LIBS_USER:-}"
COPY --from=decipher_builder "${DECIPHER_PREFIX}" "${DECIPHER_PREFIX}"
COPY --from=decipher_builder "${APT_REQUIREMENTS_FILE}" /build/apt/decipher.txt
ARG EAHELITRON_COMMIT
ARG EAHELITRON_PREFIX_ARG
ENV EAHELITRON_PREFIX="${EAHELITRON_PREFIX_ARG}"
LABEL eahelitron.version="${EAHELITRON_COMMIT}"
ENV PATH="${EAHELITRON_PREFIX}/bin:${PATH}"
COPY --from=eahelitron_builder "${EAHELITRON_PREFIX}" "${EAHELITRON_PREFIX}"
COPY --from=eahelitron_builder "${APT_REQUIREMENTS_FILE}" /build/apt/eahelitron.txt
ARG GENOMETOOLS_VERSION
ARG GENOMETOOLS_PREFIX_ARG
ENV GENOMETOOLS_PREFIX="${GENOMETOOLS_PREFIX_ARG}"
LABEL genometools.version="${GENOMETOOLS_VERSION}"
ENV PATH="${GENOMETOOLS_PREFIX}/bin:${PATH}"
ENV INCLUDE="${GENOMETOOLS_PREFIX}/include:${INCLUDE}"
ENV CPATH="${GENOMETOOLS_PREFIX}/include:${CPATH}"
ENV LIBRARY_PATH="${GENOMETOOLS_PREFIX}/lib:${LIBRARY_PATH}"
ENV LD_LIBRARY_PATH="${GENOMETOOLS_PREFIX}/lib:${LD_LIBRARY_PATH}"
ENV LD_RUN_PATH="${GENOMETOOLS_PREFIX}/lib:${LD_RUN_PATH}"
COPY --from=genometools_builder "${GENOMETOOLS_PREFIX}" "${GENOMETOOLS_PREFIX}"
COPY --from=genometools_builder "${APT_REQUIREMENTS_FILE}" /build/apt/genometools.txt
ARG GFFPAL_COMMIT
ARG GFFPAL_PREFIX_ARG
ENV GFFPAL_PREFIX="${GFFPAL_PREFIX_ARG}"
LABEL gffpal.version="${GFFPAL_COMMIT}"
ENV PATH "${GFFPAL_PREFIX}/bin:${PATH}"
ENV PYTHONPATH "${GFFPAL_PREFIX}/lib/python3.7/site-packages:${PYTHONPATH}"
COPY --from=gffpal_builder "${GFFPAL_PREFIX}" "${GFFPAL_PREFIX}"
COPY --from=gffpal_builder "${APT_REQUIREMENTS_FILE}" /build/apt/gffpal.txt
ARG HMMER3_VERSION
ARG HMMER3_PREFIX_ARG
ENV HMMER3_PREFIX="${HMMER3_PREFIX_ARG}"
ENV PATH="${HMMER3_PREFIX}/bin:${PATH}"
LABEL hmmer3.version="${HMMER3_VERSION}"
COPY --from=hmmer3_builder "${HMMER3_PREFIX}" "${HMMER3_PREFIX}"
COPY --from=hmmer3_builder "${APT_REQUIREMENTS_FILE}" /build/apt/hmmer3.txt
ARG INFERNAL_VERSION
ARG INFERNAL_PREFIX_ARG
ENV INFERNAL_PREFIX="${INFERNAL_PREFIX_ARG}"
LABEL infernal.version="${INFERNAL_VERSION}"
ENV PATH="${INFERNAL_PREFIX}/bin:${PATH}"
COPY --from=infernal_builder "${INFERNAL_PREFIX}" "${INFERNAL_PREFIX}"
COPY --from=infernal_builder "${APT_REQUIREMENTS_FILE}" /build/apt/infernal.txt
ARG MITEFINDER_COMMIT
ARG MITEFINDER_PREFIX_ARG
ENV MITEFINDER_PREFIX="${MITEFINDER_PREFIX_ARG}"
ENV MITEFINDER_PROFILE="${MITEFINDER_PREFIX}/profile/pattern_scoring.txt"
ENV PATH="${MITEFINDER_PREFIX}/bin:${PATH}"
LABEL mitefinder.version = "${MITEFINDER_COMMIT}"
COPY --from=mitefinder_builder "${MITEFINDER_PREFIX}" "${MITEFINDER_PREFIX}"
COPY --from=mitefinder_builder "${APT_REQUIREMENTS_FILE}" /build/apt/mitefinder.txt
ARG MMSEQS_TAG
ARG MMSEQS_PREFIX_ARG
ENV MMSEQS_PREFIX="${MMSEQS_PREFIX_ARG}"
LABEL mmseqs.version="${MMSEQS_TAG}"
ENV PATH="${MMSEQS_PREFIX}/bin:${PATH}"
COPY --from=mmseqs_builder "${MMSEQS_PREFIX}" "${MMSEQS_PREFIX}"
COPY --from=mmseqs_builder "${APT_REQUIREMENTS_FILE}" /build/apt/mmseqs.txt
ARG OCCULTERCUT_VERSION
ARG OCCULTERCUT_PREFIX_ARG
ENV OCCULTERCUT_PREFIX="${OCCULTERCUT_PREFIX_ARG}"
LABEL occultercut.version="${OCCULTERCUT_VERSION}"
ENV PATH="${OCCULTERCUT_PREFIX}/bin:${PATH}"
COPY --from=occultercut_builder "${OCCULTERCUT_PREFIX}" "${OCCULTERCUT_PREFIX}"
COPY --from=occultercut_builder "${APT_REQUIREMENTS_FILE}" /build/apt/occultercut.txt
COPY --from=python3_builder "${APT_REQUIREMENTS_FILE}" /build/apt/python3.txt
ARG TRF_VERSION
ARG TRF_PREFIX_ARG
ENV TRF_PREFIX="${TRF_PREFIX_ARG}"
LABEL trf.version="${TRF_VERSION}"
COPY --from=repeatmasker_builder "${TRF_PREFIX}" "${TRF_PREFIX}"
ENV PATH="${TRF_PREFIX}/bin:${PATH}"
ARG NSEG_PREFIX_ARG
ENV NSEG_PREFIX="${NSEG_PREFIX_ARG}"
ENV PATH="${NSEG_PREFIX}/bin:${PATH}"
LABEL nseg.version="${NSEG_VERSION}"
COPY --from=repeatmasker_builder "${NSEG_PREFIX}" "${NSEG_PREFIX}"
ARG REPEATSCOUT_VERSION
ARG REPEATSCOUT_PREFIX_ARG
ENV REPEATSCOUT_PREFIX="${REPEATSCOUT_PREFIX_ARG}"
LABEL repeatscout.version="${REPEATSCOUT_VERSION}"
ENV PATH="${REPEATSCOUT_PREFIX}/bin:${PATH}"
COPY --from=repeatmasker_builder "${REPEATSCOUT_PREFIX}" "${REPEATSCOUT_PREFIX}"
ARG RECON_VERSION
ARG RECON_PREFIX_ARG
ENV RECON_PREFIX="${RECON_PREFIX_ARG}"
LABEL recon.version="${RECON_VERSION}"
ENV PATH="${RECON_PREFIX}/bin:${RECON_PREFIX}/scripts:${PATH}"
COPY --from=repeatmasker_builder "${RECON_PREFIX}" "${RECON_PREFIX}"
ARG RMASK_VERSION
ARG RMASK_URL
ARG RMASK_PREFIX_ARG
ENV RMASK_PREFIX="${RMASK_PREFIX_ARG}"
LABEL repeatmasker.version="${RMASK_VERSION}"
ARG RM_LIB_ARG="/data/rmlib"
ENV RM_LIB="${RM_LIB_ARG}"
COPY --from=repeatmasker_builder "${RMASK_PREFIX}" "${RMASK_PREFIX}"
ARG RMOD_VERSION
ARG RMOD_URL
ARG RMOD_PREFIX_ARG
ENV RMOD_PREFIX="${RMOD_PREFIX_ARG}"
LABEL repeatmodeler.version="${RMOD_VERSION}"
COPY --from=repeatmasker_builder "${RMOD_PREFIX}" "${RMOD_PREFIX}"
COPY --from=repeatmasker_builder "${APT_REQUIREMENTS_FILE}" /build/apt/repeatmasker.txt
ENV PATH="${RMASK_PREFIX}:${RMASK_PREFIX}/util:${RMOD_PREFIX}:${RMOD_PREFIX}/util:${PATH}"
ARG RMBLAST_VERSION
ARG RMBLAST_PREFIX_ARG
ENV RMBLAST_PREFIX="${RMBLAST_PREFIX_ARG}"
ENV PATH="${RMBLAST_PREFIX}/bin:${PATH}"
ENV CPATH="${RMBLAST_PREFIX}/include"
ENV LIBRARY_PATH="${RMBLAST_PREFIX}/lib:${LIBRARY_PATH}"
ENV LD_LIBRARY_PATH="${RMBLAST_PREFIX}/lib:${LD_LIBRARY_PATH}"
LABEL rmblast.version="${RMBLAST_VERSION}"
COPY --from=rmblast_builder "${RMBLAST_PREFIX}" "${RMBLAST_PREFIX}"
COPY --from=rmblast_builder "${APT_REQUIREMENTS_FILE}" /build/apt/rmblast.txt
ARG TRNASCAN_VERSION
ARG TRNASCAN_PREFIX_ARG
ENV TRNASCAN_PREFIX="${TRNASCAN_PREFIX_ARG}"
LABEL trnascan.version="${TRNASCAN_VERSION}"
ENV PATH="${TRNASCAN_PREFIX}/bin:${PATH}"
ENV INCLUDE="${TRNASCAN_PREFIX}/include:${INCLUDE}"
ENV CPATH="${TRNASCAN_PREFIX}/include:${CPATH}"
ENV LIBRARY_PATH="${TRNASCAN_PREFIX}/lib:${LIBRARY_PATH}"
ENV LD_LIBRARY_PATH="${TRNASCAN_PREFIX}/lib:${LD_LIBRARY_PATH}"
ENV LD_RUN_PATH="${TRNASCAN_PREFIX}/lib:${LD_RUN_PATH}"
COPY --from=trnascan_builder "${TRNASCAN_PREFIX}" "${TRNASCAN_PREFIX}"
COPY --from=trnascan_builder "${APT_REQUIREMENTS_FILE}" /build/apt/trnascan.txt
ARG VSEARCH_VERSION
ARG VSEARCH_PREFIX_ARG
ENV VSEARCH_PREFIX="${VSEARCH_PREFIX_ARG}"
ENV PATH="${VSEARCH_PREFIX}/bin:${PATH}"
LABEL vsearch.version="${VSEARCH_VERSION}"
COPY --from=vsearch_builder "${VSEARCH_PREFIX}" "${VSEARCH_PREFIX}"
COPY --from=vsearch_builder "${APT_REQUIREMENTS_FILE}" /build/apt/vsearch.txt
RUN set -eu \
&& DEBIAN_FRONTEND=noninteractive \
&& . /build/base.sh \
&& apt-get update \
&& apt_install_from_file /build/apt/*.txt \
&& rm -rf /var/lib/apt/lists/* \
&& cat /build/apt/*.txt >> "${APT_REQUIREMENTS_FILE}"