singularity-builds/Dockerfile

120 lines
3.4 KiB
Docker
Raw Normal View History

FROM ubuntu:focal
LABEL base.image="ubuntu:focal"
LABEL software="NanoSim"
LABEL software.version="3.0.2"
LABEL dockerfile.version="4"
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"
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
ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_NONINTERACTIVE_SEEN true
RUN \
# Install real dependencies
apt-get update && \
apt-get install --no-install-recommends -y \
build-essential \
bzip2 \
ca-certificates \
curl \
cython3 \
gcc \
git \
gnuplot \
libbz2-dev \
libcurl4-gnutls-dev \
liblzma-dev \
libncurses5-dev \
libssl-dev \
make \
perl \
python3 \
python3-pip \
python3-dev \
zlib1g-dev \
&& \
apt-get autoclean && rm -rf /var/lib/apt/lists/*
RUN \
# Make python3 the default
update-alternatives --install /usr/bin/python python /usr/bin/python3 1 && \
update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
RUN \
# Download and install Minimap2
cd /tmp && \
curl -L 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
RUN \
# 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
RUN \
# Download and install samtools
cd /tmp && \
curl -L https://github.com/samtools/samtools/releases/download/$SAMTOOLS_VERSION/samtools-$SAMTOOLS_VERSION.tar.bz2 | tar xvj && \
cd samtools-$SAMTOOLS_VERSION && \
./configure && \
make && make install && \
cd .. && \
rm -rf samtools-$SAMTOOLS_VERSION && \
cd
RUN \
# Download and install GenomeTools
cd /tmp && \
curl -L 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
# Download and install Python packages from pip
RUN pip3 install -v --no-cache-dir six==1.16.0
RUN pip3 install -v --no-cache-dir joblib==0.14.1
RUN pip3 install -v --no-cache-dir numpy==1.17.2
RUN pip3 install -v --no-cache-dir scipy==1.4.1
RUN pip3 install -v --no-cache-dir scikit-learn==0.21.3
RUN pip3 install -v --no-cache-dir pysam==0.17
RUN pip3 install -v --no-cache-dir HTSeq==0.11.2
RUN pip3 install -v --no-cache-dir pybedtools==0.8.2
RUN \
# Download and install NanoSim
cd /tmp && \
curl -L 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 ..
ENTRYPOINT [ "/usr/bin/simulator.py" ]