-
Notifications
You must be signed in to change notification settings - Fork 2
/
Dockerfile
97 lines (78 loc) · 3.32 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
FROM debian:stable
MAINTAINER Nathan Olson "https://github.com/nate-d-olson"
# edited by Adrian Fritz [email protected]
# Setup a base system
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get install -y -q \
git \
build-essential \
wget \
unzip \
zlib1g-dev \
libbz2-dev \
libncurses5-dev \
libarchive-dev \
libexpat1-dev \
openjdk-7-jdk \
openjdk-7-jre \
r-base \
r-base-dev \
r-recommended \
python-setuptools \
python-pip \
perl
RUN echo 'options(repos = list(CRAN = "http://cran.rstudio.com/"))' >> /etc/R/Rprofile.site
# install bowtie2
RUN wget http://downloads.sourceforge.net/project/bowtie-bio/bowtie2/2.2.2/bowtie2-2.2.2-linux-x86_64.zip;\
unzip bowtie2-2.2.2-linux-x86_64.zip && rm -rf bowtie2-2.2.2-linux-x86_64.zip;\
ln -s `pwd`/bowtie*/bowtie* /usr/local/bin
# install htslib samtools
RUN wget https://github.com/samtools/samtools/releases/download/1.2/samtools-1.2.tar.bz2;\
tar -xaf samtools-1.2.tar.bz2 && rm -rf samtools-1.2.tar.bz2 ;\
cd samtools-1.2;\
make && ln -f -s `pwd`/* /usr/local/bin/ && cd ../
# install bedtools
RUN wget https://github.com/arq5x/bedtools2/releases/download/v2.24.0/bedtools-2.24.0.tar.gz;\
tar -xaf bedtools-2.24.0.tar.gz && rm -rf bedtools-2.24.0.tar.gz ;\
cd bedtools2;\
make && ln -f -s `pwd`/bin/* /usr/local/bin/ && cd ../
# install Perl modules for REAPR
RUN apt-get install -y cpanminus
RUN cpanm -v JSON File::Basename File::Copy File::Spec File::Spec::Link Getopt::Long List::Util
# instal REAPR
RUN wget ftp://ftp.sanger.ac.uk/pub/resources/software/reapr/Reapr_1.0.18.tar.gz;\
tar -xaf Reapr_1.0.18.tar.gz && rm -rf Reapr_1.0.18.tar.gz;\
cd Reapr_1.0.18;\
./install.sh && ln -f -s `pwd`/reapr /usr/local/bin/ && cd ../
# install VALET
RUN apt-get install -y -q python-numpy python-scipy
RUN git clone https://github.com/marbl/VALET.git
RUN ln -s VALET/src/py/valet.py valet
RUN chmod +x valet
ENV CONVERT https://github.com/bronze1man/yaml2json/raw/master/builds/linux_386/yaml2json
# download yaml2json and make it executable
RUN cd /usr/local/bin && wget ${CONVERT} && chmod 700 yaml2json
ENV JQ http://stedolan.github.io/jq/download/linux64/jq
# download jq and make it executable
RUN cd /usr/local/bin && wget --quiet ${JQ} && chmod 700 jq
# Locations for biobox file validator
ENV VALIDATOR /bbx/validator/
ENV BASE_URL https://s3-us-west-1.amazonaws.com/bioboxes-tools/validate-biobox-file
ENV VERSION 0.x.y
RUN mkdir -p ${VALIDATOR}
# download the validate-biobox-file binary and extract it to the directory $VALIDATOR
RUN wget \
--quiet \
--output-document -\
${BASE_URL}/${VERSION}/validate-biobox-file.tar.xz \
| tar xJf - \
--directory ${VALIDATOR} \
--strip-components=1
ENV PATH ${PATH}:${VALIDATOR}
# Add Taskfile to /
ADD Taskfile /
ADD validate /usr/local/bin/
ADD schema.yaml /
ADD unshuffle.pl /
ENTRYPOINT ["validate"]