-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathDockerfile_full
87 lines (72 loc) · 2.87 KB
/
Dockerfile_full
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
FROM kbase/sdkbase2:python
# install cython that pysam likes
RUN \
apt-get update && apt-get install -y build-essential wget \
&& pip install --upgrade pip setuptools Cython==0.25
###### CheckM installation
# Directions from https://github.com/Ecogenomics/CheckM/wiki/Installation#how-to-install-checkm
# CheckM requires the following programs to be added to your system path:
#
# HMMER (>=3.1b1)
# prodigal (2.60 or >=2.6.1)
# executable must be named prodigal and not prodigal.linux
# pplacer (>=1.1)
# guppy, which is part of the pplacer package, must also be on your system path
# pplacer binaries can be found on the pplacer GitHub page
# Install HMMER (>=3.1b1)
WORKDIR /kb/module
RUN \
curl http://eddylab.org/software/hmmer3/3.1b2/hmmer-3.1b2-linux-intel-x86_64.tar.gz > hmmer-3.1b2-linux-intel-x86_64.tar.gz && \
tar -zxvf hmmer-3.1b2-linux-intel-x86_64.tar.gz && \
ln -s hmmer-3.1b2-linux-intel-x86_64 hmmer && \
rm -f hmmer-3.1b2-linux-intel-x86_64.tar.gz && \
cd hmmer && \
./configure && \
make && make install && \
cd easel && make check && make install
# Install Prodigal (2.60 or >=2.6.1)
WORKDIR /kb/module
RUN \
wget https://github.com/hyattpd/Prodigal/archive/v2.6.3.tar.gz && \
tar -zxvf v2.6.3.tar.gz && \
ln -s Prodigal-2.6.3 prodigal && \
rm -f v2.6.3.tar.gz && \
cd prodigal && \
make && \
cp prodigal /kb/deployment/bin/prodigal
# Install Pplacer (>=1.1)
WORKDIR /kb/module
RUN \
wget https://github.com/matsen/pplacer/releases/download/v1.1.alpha19/pplacer-linux-v1.1.alpha19.zip && \
unzip pplacer-linux-v1.1.alpha19.zip && \
ln -s pplacer-Linux-v1.1.alpha19 pplacer && \
rm -f pplacer-linux-v1.1.alpha19.zip && \
rm -f pplacer-1.1.alpha19.tar.gz && \
cp -R pplacer-Linux-v1.1.alpha19 /kb/deployment/bin/pplacer
ENV PATH "$PATH:/kb/deployment/bin/pplacer"
# This will install CheckM and all other required Python libraries.
RUN \
pip3 install numpy \
&& pip3 install matplotlib==3.1.0 \
&& pip3 install pysam \
&& pip3 install scipy \
&& pip3 install dendropy \
&& pip3 install coverage \
&& pip3 install checkm-genome \
&& cp -R /miniconda/bin/checkm /kb/deployment/bin/CheckMBin \
&& mkdir -p /data/checkm_data \
&& mv /miniconda/lib/python3.6/site-packages/checkm/DATA_CONFIG /miniconda/lib/python3.6/site-packages/checkm/DATA_CONFIG.orig \
&& touch /data/DATA_CONFIG \
&& cp /miniconda/lib/python3.6/site-packages/checkm/DATA_CONFIG.orig /data/DATA_CONFIG \
&& ln -sf /data/DATA_CONFIG /miniconda/lib/python3.6/site-packages/checkm/DATA_CONFIG \
&& chmod +rwx /data/DATA_CONFIG
RUN apt-get install -y tree
COPY ./ /kb/module
WORKDIR /kb/module
RUN mkdir -p /kb/module/work/tmp/test_data \
&& cp -r /kb/module/test/data/* /kb/module/work/tmp/test_data/ \
&& chmod -R a+rw /kb/module \
&& make all \
&& rm -f /data/__READY__
ENTRYPOINT [ "./scripts/entrypoint.sh" ]
CMD [ ]