-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
71 lines (62 loc) · 1.58 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
69
70
FROM alpine:3.17.3
LABEL maintainer="[email protected]"
ENV PERL_MM_USE_DEFAULT=1 \
PERL_UNICODE=SDL
RUN apk add --update --no-cache \
python3 \
python3-dev \
py3-pip \
py3-pandas \
py3-numpy \
py3-matplotlib \
perl \
perl-utils \
perl-dev \
perl-dbd-pg \
perl-db_file \
perl-net-ssleay \
perl-crypt-ssleay \
perl-app-cpanminus \
# Expat and expat-dev are for XML::DOM.
curl \
wget \
expat \
expat-dev \
postgresql-dev \
git \
gcc \
g++ \
gd-dev \
vim \
bash \
musl-dev \
build-base \
libxml2-dev \
libxslt-dev \
# tzdata for setting the timezone.
tzdata \
gnupg \
rust \
cargo \
zip
RUN pip install --upgrade pip &&\
pip install wheel &&\
pip install "Cython<3.0" pyyaml --no-build-isolation &&\
pip install psycopg2 &&\
pip install 'sqlalchemy>=1.4,<2.0' &&\
pip install bioservices &&\
pip install pubchempy
RUN cp /usr/share/zoneinfo/America/New_York /etc/localtime
RUN echo "America/New_York" > /etc/timezone
RUN apk del tzdata
RUN curl -L http://xrl.us/cpanm > /bin/cpanm && chmod +x /bin/cpanm
RUN cpanm --quiet --notest XML::DOM &&\
cpanm --quiet --notest XML::Parser::PerlSAX &&\
cpanm --quiet --notest DBI &&\
cpanm --quiet --notest Bio::DB::GenBank &&\
cpanm --quiet --notest Bio::Tools::Run::StandAloneBlast &&\
cpanm --quiet --notest DBD::Pg &&\
cpanm --query --notest Sort::Key::Natural &&\
cpanm --query --notest LWP::Protocol::https
# Remove CPANM cache.
RUN rm -fr /root/.cpanm/work