3
|
1 Bootstrap: docker
|
|
2 From: debian:latest
|
|
3
|
|
4 %labels
|
|
5 software=pggb
|
|
6 about.home=https://github.com/pangenome/pggb
|
|
7
|
|
8 %runscript
|
|
9 echo "This is what happens when you run the container..."
|
|
10
|
|
11 %post
|
|
12 echo "Hello from inside the container"
|
|
13 apt-get update
|
|
14 apt-get install -y bash wget r-base-core r-cran-svglite r-cran-upsetr r-cran-optparse r-cran-dendextend r-cran-gplots r-bioc-ctc ncbi-blast+ ncbi-blast+-legacy roary prokka snakemake python3 cd-hit mafft mcl phylip python3-pip libstatistics-linefit-perl bioperl libstatistics-distributions-perl pdf2svg python3-biopython r-cran-heatmaply python3-pandas python3-numpy python3-seaborn python3-xarray python3-plotly pipx autoconf libgsl-dev fastani python3-virtualenv cmake samtools curl make g++-11 pybind11-dev libbz2-dev bc libatomic-ops-dev autoconf libgsl-dev zlib1g-dev libzstd-dev libjemalloc-dev libhts-dev build-essential pkg-config time pigz bcftools libcairo2-dev unzip parallel circos multiqc
|
|
15
|
|
16 wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.8.3-Linux-x86_64.sh
|
|
17 chmod +x Miniconda3-py38_4.8.3-Linux-x86_64.sh
|
|
18 ./Miniconda3-py38_4.8.3-Linux-x86_64.sh -b -p /opt/miniconda3
|
|
19 ln -s /opt/miniconda3/bin/conda /usr/bin/conda
|
|
20
|
|
21
|
|
22
|
|
23 #############################
|
|
24 # singularity
|
|
25 #############################
|
|
26 # apt-get install -y build-essential libssl-dev uuid-dev libgpgme11-dev squashfs-tools libseccomp-dev pkg-config
|
|
27 # export VERSION=1.11 OS=linux ARCH=amd64 && \
|
|
28 # wget https://go.dev/dl/go1.21.4.linux-amd64.tar.gz
|
|
29 # tar -C /usr/local -xzvf go1.21.4.linux-amd64.tar.gz && \
|
|
30 # rm go1.21.4.linux-amd64.tar.gz
|
|
31 # echo 'export GOPATH=${HOME}/go' >> ~/.bashrc && \
|
|
32 # echo 'export PATH=/usr/local/go/bin:${PATH}:${GOPATH}/bin' >> ~/.bashrc && \
|
|
33 # . ~/.bashrc
|
|
34 # go get -d github.com/sylabs/singularity
|
|
35 # export VERSION=v3.0.3 # or another tag or branch if you like && \
|
|
36 # cd $GOPATH/src/github.com/sylabs/singularity && \
|
|
37 # git fetch && \
|
|
38 # git checkout $VERSION # omit this command to install the latest bleeding edge code from master
|
|
39 # export VERSION=3.0.3 && # adjust this as necessary \
|
|
40 # mkdir -p $GOPATH/src/github.com/sylabs && \
|
|
41 # cd $GOPATH/src/github.com/sylabs && \
|
|
42 # wget https://github.com/sylabs/singularity/releases/download/v4.0.1/singularity-ce-4.0.1.tar.gz && \
|
|
43 # tar -xzf singularity-ce-4.0.1.tar.gz && \
|
|
44 # cd ./singularity && \
|
|
45 # ./mconfig
|
|
46
|
|
47 ################################
|
|
48 # pggb
|
|
49 ################################
|
|
50
|
|
51 git clone --recursive https://github.com/ekg/wfmash.git && cd wfmash && cmake -H. -Bbuild && cmake --build build -- -j 3 && cp build/bin/wfmash /usr/local/bin/wfmash && cp build/lib/libwfa2cpp.so.0 /usr/local/lib/ && cp build/lib/libwfa2cpp.so /usr/local/lib/ && cp build/lib/libwfa2.so.0 /usr/local/lib/ && cp build/lib/libwfa2.so /usr/local/lib/ && cd ../ && rm -rf wfmash # buildkit
|
|
52
|
|
53 git clone --recursive https://github.com/ekg/seqwish && cd seqwish && git pull && git checkout f44b402f0c2e02988d431d9b2e5eba9727cf93a9 && git submodule update --init --recursive && cmake -H. -Bbuild && cmake --build build -- -j $(nproc) && cp bin/seqwish /usr/local/bin/seqwish && cd ../ && rm -rf seqwish # buildkit
|
|
54
|
|
55 git clone --recursive https://github.com/pangenome/smoothxg && cd smoothxg && git pull && git checkout aaa0b283e13ca57c4e6e4e67a03451925f5342f1 && git submodule update --init --recursive && cmake -H. -Bbuild && cmake --build build -- -j $(nproc) && cp bin/smoothxg /usr/local/bin/smoothxg && cp deps/odgi/bin/odgi /usr/local/bin/odgi && cd ../ && rm -rf odgi # buildkit
|
|
56
|
|
57 /bin/sh -c curl https://sh.rustup.rs -sSf | sh -s -- -y # buildkit
|
|
58
|
|
59 git clone https://github.com/marschall-lab/GFAffix.git && cd GFAffix && git pull && git checkout d630eb7d9827340f5f292e57cb3cb5e31e6f86f0 && cargo install --force --path . && mv /root/.cargo/bin/gfaffix /usr/local/bin/gfaffix && cd ../ && rm -rf GFAffix # buildkit
|
|
60
|
|
61 # pipx install multiqc==1.16 # buildkit
|
|
62 # cp -rf /root/.local/bin/multiqc /usr/local/bin
|
|
63 # chmod 777 /usr/local/bin/multiqc
|
|
64
|
|
65 wget https://github.com/vgteam/vg/releases/download/v1.52.0/vg && chmod +x vg && mv vg /usr/local/bin/vg # buildkit
|
|
66
|
|
67 git clone https://github.com/pangenome/vcfbub && cd vcfbub && git pull && git checkout 26a1f0cb216a423f8547c4ad0e0ce38cb9d324b9 && cargo install --force --path . && mv /root/.cargo/bin/vcfbub /usr/local/bin/vcfbub && cd ../ && rm -rf vcfbub
|
|
68
|
|
69 git clone --recursive https://github.com/vcflib/vcflib.git && cd vcflib && git checkout 7c1a31a430d339adcb9a0c2fd3fd02d3b30e3549 && mkdir -p build && cd build && cmake -DZIG=OFF -DCMAKE_BUILD_TYPE=Debug .. && cmake --build . -- -j $(nproc) && mv vcfwave /usr/local/bin/vcfwave && mv vcfuniq /usr/local/bin/vcfuniq && cd ../ && rm -rf vcflib # buildkit
|
|
70
|
|
71 : pipx install igraph==0.10.4 # buildkit
|
|
72
|
|
73 #pipx install pycairo==1.23.0 # buildkit
|
|
74
|
|
75 #git clone https://github.com/ekg/fastix.git && cd fastix && git pull && git checkout 331c1159ea16625ee79d1a82522e800c99206834 && cargo install --force --path . && mv /root/.cargo/bin/fastix /usr/local/bin/fastix && cd ../ && rm -rf fastix # buildkit
|
|
76
|
|
77 #git clone https://github.com/ekg/pafplot.git && cd pafplot && git pull && git checkout 7dda24c0aeba8556b600d53d748ae3103ec85501 && cargo install --force --path . && mv /root/.cargo/bin/pafplot /usr/local/bin/ && cd ../ && rm -rf pafplot # buildkit
|
|
78
|
|
79 git clone https://github.com/pangenome/pggb.git
|
|
80 sed -i "s/which time/\/usr\/bin\/which time/g" pggb/pggb
|
|
81 cp pggb/pggb /usr/local/bin/pggb # buildkit
|
|
82 chmod 777 /usr/local/bin/pggb # buildkit
|
|
83 cp pggb/partition-before-pggb /usr/local/bin/partition-before-pggb # buildkit
|
|
84 chmod a+rx /usr/local/bin/partition-before-pggb # buildkit
|
|
85
|
|
86 wget -qO- https://get.nextflow.io | bash
|
|
87 chmod 777 nextflow
|
|
88 cp nextflow /usr/local/bin/nextflow
|
|
89 ###################################
|
|
90
|
|
91 git clone https://github.com/aleimba/bac-genomics-scripts.git
|
|
92 cp -rf bac-genomics-scripts /usr/local/bin
|
|
93
|
|
94 R --quiet --slave -e 'install.packages("micropan", version = "1.3.0", repos="https://cloud.r-project.org/")'
|
|
95
|
|
96 R --quiet --slave -e 'devtools::install_github("KlausVigo/phangorn")'
|
|
97
|
|
98
|
|
99 #pip3 install git+https://github.com/gtonkinhill/panaroo
|
|
100
|
|
101 wget http://downloads.sourceforge.net/project/pgap/PGAP-1.2.1/PGAP-1.2.1.tar.gz
|
|
102 tar -xzvf PGAP-1.2.1.tar.gz
|
|
103 cp -rf PGAP-1.2.1 /usr/local/bin
|
|
104 sed -i "s/\/home\/zhaoyb\/work\/PGAP\/PGAP\/Programs\/ExtraBin\/mcl/\/usr\/bin\/mcl/g" /usr/local/bin/PGAP-1.2.1/PGAP.pl
|
|
105 sed -i "s/\/home\/zhaoyb\/work\/PGAP\/PGAP\/Programs\/ExtraBin\//\/usr\/bin\//g" /usr/local/bin/PGAP-1.2.1/PGAP.pl
|
|
106 sed -i "s/\/share\/ibm-1\/bin\//\/usr\/bin\//g" /usr/local/bin/PGAP-1.2.1/PGAP.pl
|
|
107
|
|
108 wget https://github.com/davidemms/OrthoFinder/releases/latest/download/OrthoFinder.tar.gz
|
|
109 tar -xzvf OrthoFinder.tar.gz
|
|
110 cp -rf OrthoFinder /usr/bin/
|
|
111
|
|
112 git clone https://github.com/gpertea/gffread
|
|
113 cd gffread
|
|
114 make release
|
|
115 cp -rf gffread /usr/bin/
|
|
116
|
|
117 curl -o datasets 'https://ftp.ncbi.nlm.nih.gov/pub/datasets/command-line/v1/linux-amd64/datasets'
|
|
118 chmod +x datasets
|
|
119 cp -rf datasets /usr/bin/
|
|
120
|
|
121 wget http://github.com/bbuchfink/diamond/releases/download/v2.1.8/diamond-linux64.tar.gz
|
|
122 tar xzf diamond-linux64.tar.gz
|
|
123 cp -rf ./diamond /usr/bin/OrthoFinder/bin/
|
|
124
|
|
125 git clone https://github.com/SouthGreenPlatform/PanExplorer_workflow.git
|
|
126
|
|
127 export PANEX_PATH=/usr/local/bin/PanExplorer_workflow
|
|
128 cp -rf PanExplorer_workflow /usr/local/bin
|
|
129 wget https://ftp.ncbi.nlm.nih.gov/pub/mmdb/cdd/little_endian/Cog_LE.tar.gz
|
|
130 tar -xzvf Cog_LE.tar.gz
|
|
131 cp -rf Cog.* $PANEX_PATH/COG
|
|
132
|
|
133 echo "#!/bin/bash" >/usr/bin/consense
|
|
134 echo "phylip consense $*" >>/usr/bin/consense
|
|
135 chmod 755 /usr/bin/consense
|
|
136 echo "#!/bin/bash" >/usr/bin/neighbor
|
|
137 echo "phylip neighbor $*" >>/usr/bin/neighbor
|
|
138 chmod 755 /usr/bin/neighbor
|
|
139 echo "#!/bin/bash" >/usr/bin/seqboot
|
|
140 echo "phylip seqboot $*" >>/usr/bin/seqboot
|
|
141 chmod 755 /usr/bin/seqboot
|
|
142 echo "#!/bin/bash" >/usr/bin/dnadist
|
|
143 echo "phylip dnadist $*" >>/usr/bin/dnadist
|
|
144 chmod 755 /usr/bin/dnadist
|
|
145 echo "#!/bin/bash" >/usr/bin/dnapars
|
|
146 echo "phylip dnapars $*" >>/usr/bin/dnapars
|
|
147 chmod 755 /usr/bin/dnapars
|
|
148 echo "#!/bin/bash" >/usr/bin/dnaml
|
|
149 echo "phylip dnaml $*" >>/usr/bin/dnaml
|
|
150 chmod 755 /usr/bin/dnaml
|
|
151
|
|
152 wget https://mmseqs.com/latest/mmseqs-linux-sse41.tar.gz --no-check-certificate
|
|
153 tar xvfz mmseqs-linux-sse41.tar.gz
|
|
154 cp -rf mmseqs/bin/mmseqs /usr/bin/
|
|
155
|
|
156 export PIPX_HOME=/opt/pipx
|
|
157 export PIPX_BIN_DIR=/usr/local/bin
|
|
158 pipx install panacota
|
|
159
|
|
160 git clone https://github.com/lh3/gfatools
|
|
161 cd gfatools && make
|
|
162 cp -rf gfatools /usr/bin/
|
|
163
|
|
164 conda install -y -c bioconda minimap2
|
|
165
|
|
166
|
|
167 #conda install -y -c bioconda liftoff
|
|
168
|
|
169 #git clone https://github.com/agshumate/Liftoff liftoff
|
|
170 #cd liftoff
|
|
171 #python setup.py install
|
|
172 #pipx install Liftoff
|
|
173
|
|
174 #wget https://github.com/ComparativeGenomicsToolkit/cactus/releases/download/v2.6.9/cactus-bin-v2.6.9.tar.gz
|
|
175 wget https://github.com/ComparativeGenomicsToolkit/cactus/releases/download/v2.6.9/cactus-bin-legacy-v2.6.9.tar.gz
|
|
176 tar -xzf cactus-bin-legacy-v2.6.9.tar.gz
|
|
177 chown -R root cactus-bin-v2.6.9
|
|
178 cd cactus-bin-v2.6.9
|
|
179 virtualenv -p python3 venv-cactus-v2.6.9
|
|
180 printf "export PATH=$(pwd)/bin:\$PATH\nexport PYTHONPATH=$(pwd)/lib:\$PYTHONPATH\n" >> venv-cactus-v2.6.9/bin/activate
|
|
181 . venv-cactus-v2.6.9/bin/activate
|
|
182 python3 -m pip install -U setuptools pip
|
|
183 python3 -m pip install -U .
|
|
184 python3 -m pip install -U -r ./toil-requirement.txt
|
|
185 mkdir /usr/bin/cactus
|
|
186 cd ..
|
|
187 cp -rf cactus-bin-v2.6.9 /usr/bin/
|
|
188 chmod -R 777 /usr/bin/cactus-bin-v2.6.9
|
|
189
|
|
190 git clone https://github.com/vigsterkr/circos.git
|
|
191 cd circos
|
|
192 ./install-unix
|
|
193 cd ..
|
|
194 cp -rf circos /usr/local/bin/
|
|
195
|
|
196 #wget https://github.com/ParBLiSS/FastANI/archive/master.zip
|
|
197 #unzip master.zip
|
|
198 #cd FastANI-master/
|
|
199 #autoconf
|
|
200 #./configure --with-gsl=/usr/
|
|
201 #make
|
|
202
|
|
203 # apt-get -y install build-essential bzip2 ca-certificates libglib2.0-0 libxext6 libsm6 libxrender1
|
|
204 # rm -rf /var/lib/apt/lists/*
|
|
205 # #Installing Anaconda 2 and Conda 4.5.11
|
|
206 # wget -c https://repo.continuum.io/archive/Anaconda2-5.3.0-Linux-x86_64.sh
|
|
207 # /bin/bash Anaconda2-5.3.0-Linux-x86_64.sh -bfp /usr/local
|
|
208 # #Conda configuration of channels from .condarc file
|
|
209 # conda config --file /.condarc --add channels defaults
|
|
210 # conda config --file /.condarc --add channels conda-forge
|
|
211 # conda config --file /.condarc --add channels bioconda
|
|
212 # conda update conda
|
|
213 # #List installed environments
|
|
214 # conda list
|
|
215
|
|
216 # conda install -c bioconda orthofinder
|
|
217
|
|
218 %environment
|
|
219 export PATH=$PATH:/usr/games:/usr/bin/OrthoFinder:/usr/bin/OrthoFinder/bin:/usr/bin/cactus-bin-v2.6.9/bin:/usr/bin/cactus-bin-v2.6.9/venv-cactus-v2.6.9/bin:/usr/local/bin/circos/bin
|
|
220 export PYTHONPATH=$PYTHONPATH:/usr/bin/cactus-bin-v2.6.9/lib
|
|
221 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/
|