mirror of
https://github.com/MillironX/singularity-builds.git
synced 2024-12-27 18:07:07 -05:00
Thomas A. Christensen II
12a8ac3490
Signed-off-by: Thomas A. Christensen II <25492070+MillironX@users.noreply.github.com>
119 lines
3.4 KiB
Docker
119 lines
3.4 KiB
Docker
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" ]
|