-
Notifications
You must be signed in to change notification settings - Fork 6
/
sra.def
225 lines (201 loc) · 7.67 KB
/
sra.def
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
bootstrap: docker
From: fedora:35
%help
This container provides portable & reproducible components for SRAssembler:
Selective Recursive local Assembler from the Brendel Group.
Please see https://github.com/BrendelGroup/SRAssembler for complete documentation.
To run single-threaded, use `singularity run SRAssembler.sif` with appropriate arguments.
To run multi-threaded, use `singularity exec SRAssembler.sif mpirun -np $NUMBER_OF_PROCESSORS SRAssembler_MPI` with appropriate arguments.
%post
dnf -y update
dnf -y install @development-tools
dnf -y install gcc-c++
dnf -y install bc git tcsh tzdata unzip zip wget which bzip2
dnf -y install libnsl
dnf -y install nano
dnf -y install python3-pip python3-setuptools
echo 'Installing ABySS assembler version 2.3.4'
#### Prerequisites
dnf -y install boost-devel
dnf -y install autoconf automake
dnf -y install sparsehash-devel
dnf -y install openmpi openmpi-devel
export PATH=$PATH:/usr/lib64/openmpi/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/openmpi/lib
#### Install
cd /opt
git clone --branch 2.3.4 --depth 1 https://github.com/bcgsc/abyss.git
cd abyss
./autogen.sh
./configure --prefix=/opt
make
make install
echo 'Installing SOAPdenovo2 assembler version r242'
#### Prerequisites
#### Install
cd /opt
git clone --branch r242 --depth 1 https://github.com/aquaskyline/SOAPdenovo2.git
\rm SOAPdenovo2/fusion/finalFusion
# We need to fix a few things before succesful compilation:
#
sed -i -e 's#^int b_ban;##' SOAPdenovo2/fusion/inc/def.h
sed -i -e 's#^char shortrdsfile\[256\], graphfile\[256\];#static char shortrdsfile[256], graphfile[256];#' SOAPdenovo2/standardPregraph/contig.c
sed -i -e 's#^int b_ban;##' SOAPdenovo2/standardPregraph/inc/def.h
sed -i -e 's#^pthread_mutex_t \*locks;#static pthread_mutex_t *locks;#' SOAPdenovo2/standardPregraph/read2edge.c
# Now:
cd SOAPdenovo2
make
echo 'Installing VMATCH aligner version 2.3.1 from http://vmatch.de '
#### Prerequisites
#### Install
cd /opt
wget http://vmatch.de/distributions/vmatch-2.3.1-Linux_x86_64-64bit.tar.gz
tar -xzf vmatch-2.3.1-Linux_x86_64-64bit.tar.gz
rm vmatch-2.3.1-Linux_x86_64-64bit.tar.gz
ln -s vmatch-2.3.1-Linux_x86_64-64bit VMATCH
echo 'Installing BLAST+ version 2.12.0 from NCBI '
#### Prerequisites
#### Install
cd /opt
wget https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.12.0/ncbi-blast-2.12.0+-x64-linux.tar.gz
tar -xzf ncbi-blast-2.12.0+-x64-linux.tar.gz
rm ncbi-blast-2.12.0+-x64-linux.tar.gz
ln -s ncbi-blast-2.12.0+ BLAST
echo 'Installing GeneSeqer spliced aligner '
#### Prerequisites
#### Install
cd /opt
git clone https://github.com/BrendelGroup/GeneSeqer.git
cd GeneSeqer/src
make linux
echo 'Installing GenomeThreader version 1.7.3 spliced aligner '
#### Prerequisites
#### Install
cd /opt
wget http://genomethreader.org/distributions/gth-1.7.3-Linux_x86_64-64bit.tar.gz
tar -xzf gth-1.7.3-Linux_x86_64-64bit.tar.gz
rm gth-1.7.3-Linux_x86_64-64bit.tar.gz
ln -s gth-1.7.3-Linux_x86_64-64bit GENOMETHREADER
echo 'Installing SNAP gene finder '
#### Prerequisites
#### Install
cd /opt
git clone https://github.com/KorfLab/SNAP.git
cd SNAP
make
echo 'Installing SRAssembler from https://github.com/BrendelGroup/SRAssembler.git '
#### Prerequisites
#### Install
cd /opt
git clone https://github.com/BrendelGroup/SRAssembler.git
cd SRAssembler/src
make
make clean
make mpi
make clean
echo 'Installing bioawk '
dnf -y install byacc zlib-devel
#### Install
cd /opt
wget https://github.com/lh3/bioawk/archive/master.zip
unzip master.zip
cd bioawk-master
make
cd ..
rm master.zip
echo 'Installing SAMTOOLS version 1.14 '
#### Prerequisites
dnf -y install libncurses.so.5 ncurses ncurses-devel bzip2-devel xz-devel
#### Install
cd /opt
wget https://github.com/samtools/samtools/releases/download/1.14/samtools-1.14.tar.bz2
tar -xf samtools-1.14.tar.bz2
rm samtools-1.14.tar.bz2
cd samtools-1.14
./configure
make && make install
echo 'Installing BOWTIE2 version 2.4.5 '
#####
cd /opt
wget https://sourceforge.net/projects/bowtie-bio/files/bowtie2/2.4.5/bowtie2-2.4.5-linux-x86_64.zip
unzip bowtie2-2.4.5-linux-x86_64.zip
rm bowtie2-2.4.5-linux-x86_64.zip
echo 'Installing Integrated Genome Viewer version 2.11.0 '
#### Dependencies
dnf -y install java-1.8.0-openjdk xorg-x11-server-Xvfb
####
cd /opt
wget http://data.broadinstitute.org/igv/projects/downloads/2.11/IGV_2.11.0.zip
unzip IGV_2.11.0.zip
rm IGV_2.11.0.zip
# Patch the igv script to run headless. No need for X display.
printf '#!/bin/sh\n(Xvfb :10 &) && DISPLAY=:10 java -Xmx4000m -Dapple.laf.useScreenMenuBar=true -Djava.net.preferIPv4Stack=true -jar /opt/IGV_2.11.0/lib/igv.jar "$@" && pkill Xvfb\n' > /usr/local/bin/igv
chmod 777 /usr/local/bin/igv
echo 'Installing MUSCLE aligner versions 3.8 and 5.1 '
#### Dependencies
####
cd /opt/bin
wget https://drive5.com/muscle/downloads3.8.31/muscle3.8.31_i86linux64.tar.gz
tar -xzf muscle3.8.31_i86linux64.tar.gz
chmod a+x muscle3.8.31_i86linux64
ln -s muscle3.8.31_i86linux64 muscle
wget https://github.com/rcedgar/muscle/releases/download/v5.1/muscle5.1.linux_intel64
chmod a+x muscle5.1.linux_intel64
ln -s muscle5.1.linux_intel64 muscle5
echo 'Installing InterMine Python package '
pip3 install intermine
echo 'Installing R '
#### Dependencies
dnf -y install udunits2-devel libcurl libcurl-devel geos-devel
####
cd /opt
dnf -y install R-base R-devel
R CMD javareconf
echo 'Installing R packages'
echo 'repo <- "http://ftp.ussg.iu.edu/CRAN"' > R2install
#### Dependencies
dnf -y install cairo-devel libXt-devel
####
echo 'install.packages("R.devices", repos = repo, quick = TRUE)' >> R2install
#### Dependencies
dnf -y install openssl-devel mysql-devel postgresql-devel
####
echo 'install.packages("dplyr", repos = repo, quick = TRUE)' >> R2install
echo 'install.packages("ggplot2", repos = repo, quick = TRUE)' >> R2install
#### Dependencies
dnf -y install libjpeg-turbo-devel libxml2-devel ImageMagick-c++-devel
####
echo 'install.packages("knitr", repos = repo, quick = TRUE)' >> R2install
echo 'install.packages("readr", repos = repo, quick = TRUE)' >> R2install
echo 'install.packages("BiocManager", version = "3.14", repos = repo, quick=TRUE)' >> R2install
echo 'BiocManager::install(c("GenomicRanges"))' >> R2install
Rscript R2install
%environment
export LC_ALL=C
export PATH=$PATH:/opt/bin
export PATH=$PATH:/opt/VMATCH
export PATH=$PATH:/opt/SOAPdenovo2
export PATH=$PATH:/opt/GeneSeqer/bin
export PATH=$PATH:/opt/BLAST/bin
export PATH=$PATH:/opt/GENOMETHREADER/bin
export PATH=$PATH:/opt/SNAP
export PATH=$PATH:/opt/bioawk-master
export PATH=$PATH:/opt/samtools
export PATH=$PATH:/opt/bowtie2-2.4.5-linux-x86_64
export PATH=$PATH:/usr/lib64/openmpi/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/openmpi/lib
export BSSMDIR="/opt/GENOMETHREADER/bin/bssm"
export GTHDATADIR="/opt/GENOMETHREADER/bin/gthdata"
export ZOE="/opt/SNAP"
export PATH=$PATH:/opt/SRAssembler/bin
%runscript
exec SRAssembler "$@"
%test
cd /tmp
\rm -rf testSRA
git clone https://github.com/BrendelGroup/SRAssembler.git testSRA
cd testSRA/demo
./xtest defaultpath
%labels
Maintainer vpbrendel
Version v1.2.0