Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add Dockerfile, v 0.1.0 #60

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
213 changes: 213 additions & 0 deletions containers/clockwork/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@

FROM ubuntu:18.04

## need the following environment variable for automated installation of tzdata
ENV DEBIAN_FRONTEND=noninteractive


LABEL authors="Martin Hunt (ebi.ac.uk), Evan Biederstedt ([email protected])" \
version.image="0.1.0" \
version.clockwork="v0.7.8" \
version.bcftools="1.3.1" \
version.bwa="v0.7.15" \
version.perl="5.24.1" \
version.enaBrowserTools="v1.4.1" \
version.fastqc="v0.11.5." \
version.picard="2.9.4" \
version.seqtk="v1.2" \
version.samtools="1.3.1" \
version.trimmomatic="0.36"


## from https://github.com/iqbal-lab-org/clockwork/blob/master/scripts/install_dependencies.sh

# NOTE: needed to specify java version 8 (openjdk-8-jre) because
# default is version 10 (from default-jre), which won't work with nextflow.


## set Perl environment variables
ENV PATH="/bioinf-tools/:/bioinf-tools/cortex/scripts/analyse_variants/seq-align/bin/:/bioinf-tools/vcftools-0.1.15/install/bin:/bioinf-tools/enaBrowserTools-1.4.1/python3:/clockwork/scripts/:$PATH"
ENV PERL5LIB="/bioinf-tools/vcftools-0.1.15/install/share/perl/5.24.1/:/bioinf-tools/cortex/scripts/analyse_variants/bioinf-perl/lib:/bioinf-tools/cortex/scripts/calling/:$PERL5LIB"
ENV LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"



RUN apt-get update
RUN apt-get install -y software-properties-common
RUN apt-add-repository universe
RUN apt-get update

RUN apt-get install -y \
build-essential \
cmake \
curl \
gawk \
git \
gnuplot \
graphviz \
openjdk-8-jre \
libarchive-dev \
liblzma-dev \
libbz2-dev \
libhts-dev \
libncurses5-dev \
libncursesw5-dev \
zlib1g-dev \
pkg-config \
python-dev \
python-pip \
python3-dev \
python3-pip \
python3-setuptools \
r-base-core \
rsync \
unzip \
wget --fix-missing


#_________________________ bcftools _______________________#

RUN wget https://github.com/samtools/bcftools/releases/download/1.3.1/bcftools-1.3.1.tar.bz2 \
&& tar xf bcftools-1.3.1.tar.bz2 \
&& cd bcftools-1.3.1/ \
&& make \
&& cd .. \
&& cp bcftools-1.3.1/bcftools /bin/bcftools


#__________________________ BWA____________________________#
RUN wget https://github.com/lh3/bwa/releases/download/v0.7.15/bwa-0.7.15.tar.bz2 \
&& tar xf bwa-0.7.15.tar.bz2 \
&& cd bwa-0.7.15/ \
&& make \
&& cd .. \
&& cp bwa-0.7.15/bwa /bin/bwa


#_____________________ enaBrowserTools ____________________#
RUN wget https://github.com/enasequence/enaBrowserTools/archive/v1.4.1.tar.gz \
&& tar xf v1.4.1.tar.gz


#_________________________ FASTQC ________________________#
RUN wget https://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.5.zip \
&& unzip fastqc_v0.11.5.zip \
&& chmod 755 FastQC/fastqc \
&& cp FastQC/fastqc /bin/fastqc

#_________________________ qctools ________________________#
RUN wget https://github.com/alastair-droop/fqtools/archive/986e451.tar.gz \
&& tar xf 986e451.tar.gz \
&& rm 986e451.tar.gz \
&& cd fqtools-986e451/ \
&& make \
&& cd .. \
&& cp fqtools-986e451/bin/fqtools /bin/fqtools

#________________________ mccortex _______________________#
RUN git clone --recursive https://github.com/mcveanlab/mccortex \
&& cd mccortex \
&& git checkout 97aba198d632ee98ac1aa496db33d1a7a8cb7e51 \
&& make all \
&& cd .. \
&& cp mccortex/bin/mccortex31 /bin/mccortex31


#________________________ Mykrobe ________________________#
RUN git clone https://github.com/Mykrobe-tools/mykrobe.git mykrobe \
&& cd mykrobe \
&& git checkout b47f6241cfb2d223bb53aafd90a3f91d97248052 \
&& sed -i 's/help="build variant probes", aliases=.*$/help="build variant probes")/' src/mykrobe/cli.py \
# fix for python2: aliases is not an option so remove it
&& wget -O mykrobe-data.tar.gz https://goo.gl/DXb9hN \
&& tar -zxvf mykrobe-data.tar.gz && rm -fr src/mykrobe/data \
&& mv mykrobe-data src/mykrobe/data \
&& pip3 install .


#________________________ nextflow _______________________#
RUN wget -qO- get.nextflow.io | bash \
&& chmod 755 nextflow

#________________________ picard _________________________#
RUN wget https://github.com/broadinstitute/picard/releases/download/2.9.4/picard.jar

#________________________ seqtk __________________________#
RUN wget https://github.com/lh3/seqtk/archive/v1.2.tar.gz \
&& tar xf v1.2.tar.gz \
&& rm v1.2.tar.gz \
&& cd seqtk-1.2/ \
&& make \
&& cd .. \
&& cp seqtk-1.2/seqtk /bin/seqtk

#_________________________ samtools ______________________#
RUN wget https://github.com/samtools/samtools/releases/download/1.3.1/samtools-1.3.1.tar.bz2 \
&& tar xf samtools-1.3.1.tar.bz2 \
&& cd samtools-1.3.1/ \
&& make \
&& cd .. \
&& cp samtools-1.3.1/samtools /bin/samtools \
&& cp -rp samtools-1.3.1/misc/plot-bamstats /bin/plot-bamstats

#________________________ stampy _________________________#
RUN wget http://www.well.ox.ac.uk/~gerton/software/Stampy/stampy-latest.tgz \
&& tar xf stampy-latest.tgz \
&& rm stampy-latest.tgz \
&& cd stampy-* \
&& make \
&& cd .. \
&& cp stampy-*/stampy.py /bin/stampy.py

#________________________ Trimmomatic ____________________#
RUN wget http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.36.zip \
&& unzip Trimmomatic-0.36.zip

#________________________ vcftools _______________________#
RUN wget https://github.com/vcftools/vcftools/releases/download/v0.1.15/vcftools-0.1.15.tar.gz \
&& tar xf vcftools-0.1.15.tar.gz \
&& cd vcftools-0.1.15 \
&& ./configure --prefix $PWD/install \
&& make \
&& make install

# cortex needs the perl/ directory. It expects it to be in the vcftools root,
# but somehwere between v0.1.9 and v0.1.15 it moved into src/.
RUN ln -s src/perl/ .

#________________________ cortex _________________________#
RUN wget --no-check-certificate -O cortex.tar.gz https://github.com/iqbal-lab/cortex/archive/master.tar.gz \
&& tar xf cortex.tar.gz \
&& mv cortex-master cortex \
&& cd cortex/ \
&& bash install.sh \
&& make NUM_COLS=1 cortex_var \
&& make NUM_COLS=2 cortex_var

# ___________________ python packages ___________________#
# note: requests needs to be here instead of as part of
# python setup.py install, because setup.py install
# throws an error. This way works.
RUN pip3 install python-dateutil requests pysam pyfastaq pymysql numpy openpyxl pyflakes scipy XlsxWriter



#________________________ gramtools _________________________#
RUN pip3 install git+https://github.com/iqbal-lab-org/gramtools@4644135e162ff1ff333f970f1dafd919aa0fc279

#________________________ mummer ____________________________#
RUN wget https://github.com/mummer4/mummer/releases/download/v4.0.0beta2/mummer-4.0.0beta2.tar.gz \
&& tar xf mummer-4.0.0beta2.tar.gz \
&& cd mummer-4.0.0beta2 \
&& ./configure \
&& make \
&& make install


#________________________ minos _____________________________#
RUN pip3 install bio-minos==0.9.1