-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathDockerfile
77 lines (62 loc) · 3.72 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
################## BASE IMAGE ######################
FROM nfcore/base
################## METADATA ######################
LABEL base_image="nfcore/base"
LABEL version="1.0"
LABEL software="svaba-nf"
LABEL software.version="1.0"
LABEL about.summary="Container image containing all requirements for ITH_pipeline"
LABEL about.home="http://github.com/delhommet/ITH_pipeline"
LABEL about.documentation="http://github.com/delhommet/ITH_pipeline/README.md"
LABEL about.license_file="http://github.com/delhommet/ITH_pipeline/LICENSE.txt"
LABEL about.license="GNU-3.0"
################## MAINTAINER ######################
MAINTAINER Tiffany Delhomme <[email protected]>
################## INSTALLATION ######################
RUN apt-get update -y && \
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y build-essential # to have gcc compiler for seaborn
RUN cd ~ && wget http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz && tar xf cmake-3.2.2.tar.gz && cd cmake-3.2.2 && ./configure && make
RUN chmod +x ~/cmake-3.2.2/bin/cmake && ln -s ~/cmake-3.2.2/bin/cmake /usr/bin
################## HATCHET ###########################
RUN conda install -c bioconda bcftools=1.7
RUN conda install -c bioconda samtools=1.7
# installation of python libraries
RUN pip install multiprocess && pip install pandas && pip install seaborn && pip install matplotlib
RUN pip install matplotlib-venn #in order to run the BBeval script
# installation of bnpy
RUN cd ~ && git clone https://[email protected]/michaelchughes/bnpy-dev/
# environment variable to use correctly bnpy
ENV BNPYROOT=~/bnpy-dev
ENV PYTHONPATH=${PYTHONPATH}:~/bnpy-dev
ENV BNPYOUTDIR=~/nbpy-dev-results
# install gurobi
RUN cd ~ && wget https://packages.gurobi.com/8.1/gurobi8.1.1_linux64.tar.gz && tar -zxvf gurobi8.1.1_linux64.tar.gz
RUN cd ~/gurobi811/linux64/src/build/ && make && cp libgurobi_c++.a ../../lib/
ENV PATH=${PATH}:~/gurobi811/linux64/bin
# next should be modified to get the license path in input
ENV GRB_LICENSE_FILE=~/gurobi811/gurobi.lic
ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:~/gurobi811/linux64/lib"
ENV GUROBI_LIB=~/gurobi811/linux64/lib/libgurobi81.so
# install hatchet
# here should 1. modify FindGUROBI.cmake to add gurobi path 2. modify CMakeLists.txt by adding -pthread
RUN cd ~ && git clone https://github.com/raphael-group/hatchet
RUN cd ~/hatchet && sed -i '5s/""/"~\/gurobi811\/"/g' FindGUROBI.cmake && sed -i '7s/-std=c++11/-std=c++11 -pthread/g' CMakeLists.txt # second sed only in this dockerfile
RUN mkdir ~/hatchet/build && cd ~/hatchet/build/ && cmake .. \
-DGUROBI_CPP_LIB=/root/gurobi811/linux64/lib/libgurobi_c++.a \
-DGUROBI_INCLUDE_DIR=/root/gurobi811/linux64/include/ \
-DGUROBI_LIB=/root/gurobi811/linux64/lib/libgurobi81.so && make
RUN sed -i '451,452s/.*/#&/' ~/hatchet/utils/ArgParsing.py # see issue: https://github.com/raphael-group/hatchet/issues/1
################# DECIFER ##########################
# install boost library
RUN cd ~ && wget https://sourceforge.net/projects/boost/files/boost/1.61.0/boost_1_61_0.tar.bz2 && tar --bzip2 -xf boost_1_61_0.tar.bz2
RUN cd ~/boost_1_61_0 && ./bootstrap.sh --prefix=~/usr && ./b2
ENV BOOST_ROOT=~/boost_1_61_0
# install lemon
RUN cd ~ && wget http://lemon.cs.elte.hu/pub/sources/lemon-1.3.1.tar.gz && tar -zxvf lemon-1.3.1.tar.gz
RUN cd ~/lemon-1.3.1/ && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=~/lemon .. && make && make install
#install decifer
RUN cd ~ && git clone https://github.com/raphael-group/decifer
RUN cd ~/decifer/ && mkdir build && cd build && cmake -DLIBLEMON_ROOT=~/lemon -DCPLEX=OFF \
-DGUROBI_INCLUDE_DIR=~/gurobi811/linux64/include \
-DGUROBI_CPP_LIB=~/gurobi811/linux64/lib/libgurobi_c++.a \
-DGUROBI_LIB=~/gurobi811/linux64/lib/libgurobi81.so .. && make