2021-11-16 23:01:39 +00:00
|
|
|
FROM alpine:3.14.3
|
|
|
|
|
2021-11-17 14:37:39 +00:00
|
|
|
LABEL base.image="alpine:3.14.3"
|
|
|
|
LABEL software="NanoSim"
|
|
|
|
LABEL software.version="3.0.2"
|
|
|
|
LABEL dockerfile.version="3"
|
|
|
|
LABEL description="Fast and scalable read simulator that captures the technology-specific features of ONT data."
|
|
|
|
LABEL website="https://github.com/bcgsc/NanoSim"
|
|
|
|
LABEL license="https://github.com/bcgsc/NanoSim/blob/master/LICENSE"
|
|
|
|
LABEL maintainer="Thomas A. Christensen II"
|
|
|
|
LABEL maintainer.email="25492070+MillironX@users.noreply.github.com"
|
|
|
|
|
2021-11-16 23:01:39 +00:00
|
|
|
ARG NANOSIM_VERSION=3.0.2
|
|
|
|
ARG MINIMAP2_VERSION=2.18
|
|
|
|
ARG LAST_VERSION=916
|
|
|
|
ARG LAST_SHA="98fc3d382ef443b4468b633d2fe90ac3d0b3c21e"
|
|
|
|
ARG SAMTOOLS_VERSION=1.12
|
|
|
|
ARG GENOMETOOLS_VERSION=1.6.2
|
|
|
|
|
|
|
|
RUN \
|
|
|
|
# Install real dependencies
|
|
|
|
apk add --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
|
|
|
|
--update --no-cache \
|
|
|
|
bash \
|
|
|
|
libbz2 \
|
|
|
|
ncurses \
|
2021-11-16 23:50:54 +00:00
|
|
|
openblas-dev \
|
2021-11-16 23:01:39 +00:00
|
|
|
py3-pip \
|
2021-11-17 14:38:43 +00:00
|
|
|
py3-wheel \
|
2021-11-16 23:01:39 +00:00
|
|
|
python3 \
|
2021-11-17 14:38:43 +00:00
|
|
|
cython \
|
2021-11-16 23:01:39 +00:00
|
|
|
xz \
|
|
|
|
zlib && \
|
2021-11-17 14:38:43 +00:00
|
|
|
\
|
|
|
|
# Install Python packages available from apk
|
|
|
|
apk add --repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
|
|
|
--update --no-cache \
|
|
|
|
py3-six \
|
|
|
|
py3-joblib \
|
|
|
|
py3-threadpoolctl \
|
|
|
|
py3-numpy \
|
|
|
|
py3-numpy-dev \
|
2021-11-17 15:01:33 +00:00
|
|
|
py3-scipy && \
|
2021-11-16 23:01:39 +00:00
|
|
|
\
|
|
|
|
# Install build dependencies
|
|
|
|
apk add --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
|
|
|
|
--no-cache --virtual .build-deps \
|
|
|
|
blas-dev \
|
|
|
|
build-base \
|
|
|
|
bzip2-dev \
|
|
|
|
freetype-dev \
|
|
|
|
g++ \
|
|
|
|
gcc \
|
|
|
|
gfortran \
|
|
|
|
git \
|
|
|
|
lapack-dev \
|
|
|
|
libgfortran \
|
|
|
|
libpng-dev \
|
|
|
|
make \
|
|
|
|
musl-dev \
|
|
|
|
ncurses-dev \
|
|
|
|
py-pip \
|
|
|
|
python3-dev \
|
|
|
|
wget \
|
|
|
|
xz-dev \
|
|
|
|
zlib-dev &&\
|
|
|
|
\
|
|
|
|
# Make python3 the default
|
|
|
|
ln -fs /usr/include/locale.h /usr/include/xlocale.h && \
|
|
|
|
ln -fs /usr/bin/python3 /usr/local/bin/python && \
|
|
|
|
ln -fs /usr/bin/pip3 /usr/local/bin/pip && \
|
|
|
|
\
|
|
|
|
# Download and install Minimap2
|
|
|
|
cd /tmp && \
|
|
|
|
wget -qO- https://github.com/lh3/minimap2/releases/download/v${MINIMAP2_VERSION}/minimap2-${MINIMAP2_VERSION}.tar.bz2 | tar xjv && \
|
|
|
|
cd minimap2-${MINIMAP2_VERSION} && \
|
|
|
|
make && \
|
|
|
|
cp minimap2 /usr/bin && \
|
|
|
|
mkdir /usr/man && \
|
|
|
|
cp minimap2.1 /usr/man && \
|
|
|
|
cd .. && \
|
|
|
|
rm -rf minimap2-${MINIMAP2_VERSION} && \
|
|
|
|
cd && \
|
|
|
|
\
|
|
|
|
# Download and install LAST
|
|
|
|
cd /tmp && \
|
|
|
|
git clone https://gitlab.com/mcfrith/last.git && \
|
|
|
|
cd last && \
|
|
|
|
git checkout ${LAST_SHA} && \
|
|
|
|
make && make install && \
|
|
|
|
cd .. && \
|
|
|
|
rm -rf last && \
|
|
|
|
cd && \
|
|
|
|
\
|
|
|
|
# Download and install samtools
|
|
|
|
cd /tmp && \
|
|
|
|
wget https://github.com/samtools/samtools/releases/download/$SAMTOOLS_VERSION/samtools-$SAMTOOLS_VERSION.tar.bz2 && \
|
|
|
|
tar xjvf samtools-$SAMTOOLS_VERSION.tar.bz2 && \
|
|
|
|
cd samtools-$SAMTOOLS_VERSION && \
|
|
|
|
./configure && \
|
|
|
|
make && make install && \
|
|
|
|
cd .. && \
|
|
|
|
rm -rf samtools-$SAMTOOLS_VERSION* && \
|
|
|
|
cd && \
|
|
|
|
\
|
|
|
|
# Download and install GenomeTools
|
|
|
|
cd /tmp && \
|
|
|
|
wget -qO- https://github.com/genometools/genometools/archive/refs/tags/v${GENOMETOOLS_VERSION}.tar.gz | tar xzv && \
|
|
|
|
cd genometools-${GENOMETOOLS_VERSION} && \
|
|
|
|
make cairo=no errorcheck=no && make cairo=no errorcheck=no install && \
|
|
|
|
cd .. && \
|
|
|
|
rm -rf v${GENOMETOOLS_VERSION} && \
|
|
|
|
cd && \
|
|
|
|
\
|
2021-11-17 14:38:43 +00:00
|
|
|
# Download and install Python packages from pip
|
2021-11-17 15:01:33 +00:00
|
|
|
pip3 install -v --no-cache-dir scikit-learn==0.21.3 && \
|
2021-11-16 23:01:39 +00:00
|
|
|
pip3 install -v --no-cache-dir pysam==0.17 && \
|
|
|
|
pip3 install -v --no-cache-dir HTSeq==0.11.2 && \
|
|
|
|
pip3 install -v --no-cache-dir pybedtools==0.8.2 && \
|
|
|
|
\
|
|
|
|
# Download and install NanoSim
|
|
|
|
cd /tmp && \
|
|
|
|
wget -qO- https://github.com/bcgsc/NanoSim/archive/refs/tags/v${NANOSIM_VERSION}.tar.gz | tar xzv && \
|
|
|
|
cd NanoSim-${NANOSIM_VERSION} && \
|
|
|
|
cp -r src/* /usr/bin && \
|
|
|
|
cd .. && \
|
|
|
|
rm -rf NanoSim-${NANOSIM_VERSION} && \
|
|
|
|
cd .. && \
|
|
|
|
\
|
|
|
|
# Cleanup build packages
|
2021-11-17 14:38:43 +00:00
|
|
|
apk del --no-cache .build-deps && \
|
|
|
|
rm -vrf /var/cache/apk/*
|