/
.Dockerfile
110 lines (95 loc) · 2.42 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
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
FROM rocker/binder:3.4.2
# Note `## If extending this image, remember to switch back to USER root to apt-get`
# at the end of https://github.com/rocker-org/binder/blob/master/3.4.2/Dockerfile
USER root
# Trying to merge the Dockerfiles from:
# https://github.com/alexcoppe/bio-dockers/blob/75906f53d87399d80a9349148559ecb9511eba79/circos/Dockerfile
#https://github.com/rocker-org/geospatial/blob/master/3.4.2/Dockerfile
# https://hub.docker.com/r/genomicpariscentre/bioperl/~/dockerfile/ (found by searching `ubuntu cpan perl gd docker`)
# rocker/binder:3.4.2
# into something that works to install the perl modules Circos needs
# Trying to add circos, and the important dependencies
ENV version 0.69-6
#ADD http://circos.ca/distribution/circos-${version}.tgz /tmp/
RUN wget "http://circos.ca/distribution/circos-0.69-6.tgz" \
&& tar xzvf circos-0.69-6.tgz \
&& rm -rf circos-0.69-6.tgz
# Install compiler and perl stuff
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
gcc-multilib \
apt-utils \
perl \
expat \
libexpat-dev \
cpanminus \
libarchive-zip-perl \
libdbd-mysql \
libdbd-mysql-perl \
libdbd-pgsql \
libgd-gd2-perl \
libgd2-noxpm-dev \
libpixman-1-0 \
libpixman-1-dev \
graphviz \
libxml-parser-perl \
libsoap-lite-perl \
libxml-libxml-perl \
libxml-dom-xpath-perl \
libxml-libxml-simple-perl \
libxml-dom-perl
# Install perl modules
RUN cpanm CPAN::Meta \
readline \
Term::ReadKey \
YAML \
Digest::SHA \
Module::Build \
ExtUtils::MakeMaker \
Test::More \
Data::Stag \
Config::Simple \
Statistics::Lite \
Statistics::Descriptive \
GD \
GD::Graph \
GD::Graph::smoothlines \
Test::Most \
Algorithm::Munkres \
Array::Compare Clone \
#PostScript::TextBlock \
SVG::Graph \
Set::Scalar \
Sort::Naturally \
Graph \
GraphViz \
HTML::TableExtract \
#Convert::Binary::C \
Math::Random \
Error \
Spreadsheet::ParseExcel \
XML::Parser::PerlSAX \
XML::SAX::Writer \
XML::Twig XML::Writer \
Math::Bezier \
Math::Round \
#Readonly::Tiny \
Readonly \
Config::General \
Params::Validate \
Font::TTF::Font \
Regexp::Common \
Math::VecStat \
Text::Format \
SVG \
Clone \
List::MoreUtils \
Number::Format \
Statistics::Basic \
Set::IntSpan \
-f Try::Tiny
# Copy repo into ${HOME}, make user own $HOME
USER root
COPY . ${HOME}
RUN chown -R ${NB_USER} ${HOME}
USER ${NB_USER}