-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDockerfile_test_mod
249 lines (214 loc) · 13.1 KB
/
Dockerfile_test_mod
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
FROM continuumio/anaconda3
MAINTAINER Billy Taj
RUN apt-get update
RUN apt-get install wget
RUN apt-get install unzip
RUN apt-get -y install g++
RUN apt-get -y install gcc
RUN apt-get -y install make
RUN apt-get -y install libz-dev
RUN apt-get -y install libbz2-dev
RUN apt-get -y install autoconf
RUN apt-get -y install build-essential
RUN apt-get -y install libboost-all-dev
RUN apt-get -y install flex
RUN apt-get -y install cmake
RUN apt-get -y install libncurses5-dev
RUN apt-get -y install liblzma-dev
RUN apt-get -y install perl
RUN apt-get -y install openjdk-8-jre
RUN apt-get -y install openjdk-8-jdk
RUN conda update -n base conda -y
RUN conda install Biopython -y
RUN conda install Pandas -y
#needed for Needle
RUN ln -s /bin/sed /usr/bin/sed
RUN apt-get install libgd-dev -y
WORKDIR /pipeline_tools
#----------------------------------------------------
# Install AdapaterRemoval
RUN wget https://github.com/MikkelSchubert/adapterremoval/archive/v2.1.7.tar.gz -O adapterremoval.tar.gz && mkdir /pipeline_tools/adapterremoval
RUN tar -xzvf adapterremoval.tar.gz && rm adapterremoval.tar.gz
WORKDIR adapterremoval-2.1.7
RUN make && mv build/AdapterRemoval /pipeline_tools/adapterremoval/
WORKDIR /pipeline_tools
RUN rm -r adapterremoval-2.1.7
#---------------------------------------
# Install Barrnap
RUN wget https://github.com/tseemann/barrnap/archive/0.8.zip -O barrnap.zip && unzip barrnap.zip && rm barrnap.zip | mkdir Barrnap && cd barrnap-0.8 && make | mv * /pipeline_tools/Barrnap && cd /pipeline_tools && rm -r barrnap-0.8
#------------------------------------
# Install BLAST+
# compiling from source takes a much longer time than downloading the executables
RUN wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.7.1+-x64-linux.tar.gz -O BLAST_p.tar.gz && tar --remove-files -xzvf BLAST_p.tar.gz && rm BLAST_p.tar.gz
RUN mkdir BLAST_p && mv ncbi-blast-2.7.1+/bin/* BLAST_p && rm -r ncbi-blast-2.7.1+
#---------------------------------------------------
# Install BLAT (pblat)
RUN wget https://github.com/icebert/pblat/tarball/master -O PBLAT.tar.gz | mkdir PBLAT
RUN tar --remove-files -xzvf PBLAT.tar.gz && rm PBLAT.tar.gz
WORKDIR /pipeline_tools/icebert-pblat-e05e284
RUN make && mv pblat /pipeline_tools/PBLAT/
WORKDIR /pipeline_tools
RUN rm -r icebert-pblat-e05e284
#------------------------------------------------------
# Install BWA
RUN wget https://sourceforge.net/projects/bio-bwa/files/bwa-0.7.17.tar.bz2 -O bwa.tar.bz2 && mkdir BWA && tar --remove-files -xjvf bwa.tar.bz2 && rm bwa.tar.bz2
WORKDIR /pipeline_tools/bwa-0.7.17
RUN make
WORKDIR /pipeline_tools
RUN mv bwa-0.7.17/bwa BWA/ && rm -r bwa-0.7.17
#----------------------------------------------------
# Install CD-HIT-DUP (from auxtools)
RUN wget https://github.com/weizhongli/cdhit/releases/download/V4.6.8/cd-hit-v4.6.8-2017-1208-source.tar.gz -O cdhit.tar.gz && tar --remove-files -xzvf cdhit.tar.gz && rm cdhit.tar.gz && mkdir cdhit_dup
WORKDIR cd-hit-v4.6.8-2017-1208/
RUN make && mv cd-hit-auxtools/cd-hit-dup /pipeline_tools/cdhit_dup/
WORKDIR /pipeline_tools
RUN rm -r cd-hit-v4.6.8-2017-1208
#----------------------------------------------------
# Install Centrifuge
RUN wget https://github.com/infphilo/centrifuge/archive/v1.0.3.tar.gz -O centrifuge.tar.gz && tar --remove-files -xzvf centrifuge.tar.gz && rm centrifuge.tar.gz
WORKDIR centrifuge-1.0.3
RUN make
WORKDIR /pipeline_tools
RUN mv centrifuge-1.0.3 centrifuge
#-----------------------------------------------------
# Install DIAMOND
RUN wget http://github.com/bbuchfink/diamond/releases/download/v0.9.19/diamond-linux64.tar.gz -O DIAMOND.tar.gz && mkdir DIAMOND
RUN tar --remove-files -xzvf DIAMOND.tar.gz -C DIAMOND && rm DIAMOND.tar.gz
#----------------------------------------------------
# Install EMBOSS
RUN mkdir EMBOSS && wget ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz && tar -xzvf EMBOSS-6.6.0.tar.gz
WORKDIR EMBOSS-6.6.0
RUN sh configure && make
WORKDIR /pipeline_tools
#------------------------------------------------------
# Install FLASH (Fast length adjustment of Short Reads)
RUN wget http://ccb.jhu.edu/software/FLASH/FLASH-1.2.11.tar.gz -O FLASH.tar.gz && tar --remove-files -xzvf FLASH.tar.gz && rm FLASH.tar.gz && mkdir FLASH
WORKDIR FLASH-1.2.11
RUN make && mv flash /pipeline_tools/FLASH
WORKDIR /pipeline_tools
RUN rm -r FLASH-1.2.11
#-------------------------------------------
# Install Infernal
RUN wget http://eddylab.org/infernal/infernal-1.1.2-linux-intel-gcc.tar.gz -O infernal.tar.gz && tar --remove-files -xzvf infernal.tar.gz && rm infernal.tar.gz && mkdir infernal && mv infernal-1.1.2-linux-intel-gcc/binaries/* infernal && rm -r infernal-1.1.2-linux-intel-gcc
WORKDIR /pipeline_tools
#-------------------------------------------
# Install Kaiju
RUN wget https://github.com/bioinformatics-centre/kaiju/releases/download/v1.6.2/kaiju-1.6.2-linux-x86_64.tar.gz -O kaiju.tar.gz && tar --remove-files -xzvf kaiju.tar.gz && rm kaiju.tar.gz && mkdir kaiju && mv kaiju-v1.6.2-linux-x86_64-static/bin/* kaiju/ && rm -r kaiju-v1.6.2-linux-x86_64-static
WORKDIR /pipeline_tools
#---------------------------------------
# Install KronaTools (for ktImportText)
# note, ktImportText is now a perl script, not a binary. We probably need most of this, if not all of this. No cleaning
RUN wget https://github.com/marbl/Krona/releases/download/v2.7/KronaTools-2.7.tar -O KronaTools.tar && tar --remove-files -xvf KronaTools.tar && rm KronaTools.tar && mkdir KronaTools && mv KronaTools-2.7/* KronaTools/ && rm -r KronaTools-2.7
WORKDIR KronaTools
RUN perl install.pl
WORKDIR /pipeline_tools
#----------------------------------------
# Install k-SLAM
RUN wget https://github.com/aindj/k-SLAM/archive/master.zip -O k_slam.zip && unzip k_slam.zip && rm k_slam.zip && mkdir k-SLAM
WORKDIR k-SLAM-master
RUN make -C build && mv build/SLAM /pipeline_tools/k-SLAM/
WORKDIR /pipeline_tools
RUN rm -r k-SLAM-master
#--------------------------------------------
# Install PRIAM
RUN mkdir PRIAM_search && wget http://priam.prabi.fr/utilities/PRIAM_search.jar && mv PRIAM_search.jar PRIAM_search
WORKDIR /pipeline_tools
#------------------------------------------------------
# Install SAMTools
RUN wget https://sourceforge.net/projects/samtools/files/samtools/1.8/samtools-1.8.tar.bz2 -O samtools.tar.bz2 && tar --remove-files -xjvf samtools.tar.bz2 && rm samtools.tar.bz2 && mkdir samtools
WORKDIR samtools-1.8
RUN make && mv samtools /pipeline_tools/samtools
WORKDIR /pipeline_tools
RUN rm -r samtools-1.8
#-------------------------------------------------------
# Install SPAdes
RUN wget http://cab.spbu.ru/files/release3.11.1/SPAdes-3.11.1-Linux.tar.gz -O SPAdes.tar.gz && tar --remove-files -xzvf SPAdes.tar.gz && rm SPAdes.tar.gz && mkdir SPAdes && mv SPAdes-3.11.1-Linux/* SPAdes && rm -r SPAdes-3.11.1-Linux
#---------------------------------------------------
# Install Trimmomatic and get the adapters files
RUN wget http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.36.zip -O Trimmomatic.zip && unzip Trimmomatic.zip && rm Trimmomatic.zip && mkdir Trimmomatic && mv Trimmomatic-0.36/* Trimmomatic && rm -r Trimmomatic-0.36
#----------------------------------------------------
# Install vsearch
RUN wget https://github.com/torognes/vsearch/archive/v2.7.1.tar.gz -O vsearch.tar.gz && mkdir vsearch && tar --remove-files -xzvf vsearch.tar.gz && rm vsearch.tar.gz
WORKDIR vsearch-2.7.1
RUN sh autogen.sh && sh configure && make && mv bin/vsearch /pipeline_tools/vsearch
WORKDIR /pipeline_tools
RUN rm -r vsearch-2.7.1
#------------------------------------
# Install WEVOTE
RUN wget https://github.com/aametwally/WEVOTE/archive/master.zip -O wevote.zip && unzip wevote.zip && rm wevote.zip
WORKDIR WEVOTE-master
RUN mkdir ../WEVOTE && ./install.sh && mkdir WEVOTE_db && mv bin/WEVOTE ../WEVOTE && mv downloadTaxonomyDB.sh ../WEVOTE && mkdir ../WEVOTE/WEVOTE_db
WORKDIR /pipeline_tools
RUN rm -r WEVOTE-master
#--------------------------------------------
# get reference files
#
#WORKDIR /pipeline_reference_files
#there's a bunch of DBs that need to be downloaded too. including the wevote files, called by the download script they supply, and the priam DB files.
#RUN wget ftp://ftp.ncbi.nlm.nih.gov/pub/UniVec/UniVec_Core -O UniVec_Core.fasta
#RUN mkdir Trimmomatic_adapters
#RUN mv /pipeline_tools/Trimmomatic/adapters/* /pipeline_reference_files/Trimmomatic_adapters
#RUN wget ftp://ftp.ensembl.org/pub/release-92/fasta/mus_musculus/cds/Mus_musculus.GRCm38.cds.all.fa.gz -O Mouse_cds.gz
#RUN gunzip Mouse_cds.gz && mv Mouse_cds Mouse_cds.fasta
#RUN wget ftp://ftp.ebi.ac.uk/pub/databases/Rfam/13.0/Rfam.cm.gz
#RUN gunzip Rfam.cm.gz
#RUN /pipeline_tools/infernal/cmpress Rfam.cm
#-------------------------------------------
# add the pipeline code -> prototype form. need to make it pull from a single location in github for all time (maybe something like "latest" or something)
WORKDIR /pipeline
RUN mkdir /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/MetaPro.py /pipeline
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/MetaPro_paths.py /pipeline
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/MetaPro_commands.py /pipeline
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Config.ini /pipeline
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/Detect_2.1.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/assembly_deduplicate.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/assembly_map.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/ea_combine.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/ga_BLAT.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/ga_BWA.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/ga_Diamond.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/output_table.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/output_visualization.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/read_BLAT_filter.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/read_orphan.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/read_rRNA_barrnap.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/read_rRNA_infernal.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/read_repopulation.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/read_sam.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/read_sort.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/read_split.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/ta_combine.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/ta_constrain.py /pipeline/Scripts
#ADD https://raw.githubusercontent.com/billyc59/parkinson_int_meta_pipe/feature/quiet_mode/Scripts/ta_taxid.py /pipeline/Scripts
ADD MetaPro.py /pipeline
ADD MetaPro_paths.py /pipeline
ADD MetaPro_commands.py /pipeline
ADD Config.ini /pipeline
ADD Scripts/Detect_2.1.py /pipeline/Scripts
ADD Scripts/assembly_deduplicate.py /pipeline/Scripts
ADD Scripts/assembly_map.py /pipeline/Scripts
ADD Scripts/ea_combine.py /pipeline/Scripts
ADD Scripts/ga_BLAT.py /pipeline/Scripts
ADD Scripts/ga_BWA.py /pipeline/Scripts
ADD Scripts/ga_Diamond.py /pipeline/Scripts
ADD Scripts/output_contig_stats.py /pipeline/Scripts
ADD Scripts/output_EC_metrics.py /pipeline/Scripts
ADD Scripts/output_read_counts.py /pipeline/Scripts
ADD Scripts/output_read_quality_metrics.py /pipeline/Scripts
ADD Scripts/output_table.py /pipeline/Scripts
ADD Scripts/output_visualization.py /pipeline/Scripts
ADD Scripts/read_BLAT_filter.py /pipeline/Scripts
ADD Scripts/read_orphan.py /pipeline/Scripts
ADD Scripts/read_rRNA_barrnap.py /pipeline/Scripts
ADD Scripts/read_rRNA_infernal.py /pipeline/Scripts
ADD Scripts/read_repopulation.py /pipeline/Scripts
ADD Scripts/read_sam.py /pipeline/Scripts
ADD Scripts/read_sort.py /pipeline/Scripts
ADD Scripts/read_split.py /pipeline/Scripts
ADD Scripts/ta_combine.py /pipeline/Scripts
ADD Scripts/ta_constrain.py /pipeline/Scripts
ADD Scripts/ta_taxid.py /pipeline/Scripts
RUN chmod -R 555 /pipeline
WORKDIR /
CMD ["bash"]