mirror of
https://github.com/MillironX/singularity-builds.git
synced 2024-11-24 02:19:55 +00:00
Switch to Ubuntu-based image
Signed-off-by: Thomas A. Christensen II <25492070+MillironX@users.noreply.github.com>
This commit is contained in:
parent
a5b388b045
commit
12a8ac3490
2 changed files with 62 additions and 75 deletions
135
Dockerfile
135
Dockerfile
|
@ -1,9 +1,9 @@
|
|||
FROM alpine:3.14.3
|
||||
FROM ubuntu:focal
|
||||
|
||||
LABEL base.image="alpine:3.14.3"
|
||||
LABEL base.image="ubuntu:focal"
|
||||
LABEL software="NanoSim"
|
||||
LABEL software.version="3.0.2"
|
||||
LABEL dockerfile.version="3"
|
||||
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"
|
||||
|
@ -17,62 +17,44 @@ 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
|
||||
apk add --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
|
||||
--update --no-cache \
|
||||
bash \
|
||||
libbz2 \
|
||||
ncurses \
|
||||
openblas-dev \
|
||||
py3-pip \
|
||||
py3-wheel \
|
||||
python3 \
|
||||
cython \
|
||||
xz \
|
||||
zlib && \
|
||||
\
|
||||
# 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 \
|
||||
py3-scipy && \
|
||||
\
|
||||
# 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++ \
|
||||
apt-get update && \
|
||||
apt-get install --no-install-recommends -y \
|
||||
build-essential \
|
||||
bzip2 \
|
||||
ca-certificates \
|
||||
curl \
|
||||
cython3 \
|
||||
gcc \
|
||||
gfortran \
|
||||
git \
|
||||
lapack-dev \
|
||||
libgfortran \
|
||||
libpng-dev \
|
||||
gnuplot \
|
||||
libbz2-dev \
|
||||
libcurl4-gnutls-dev \
|
||||
liblzma-dev \
|
||||
libncurses5-dev \
|
||||
libssl-dev \
|
||||
make \
|
||||
musl-dev \
|
||||
ncurses-dev \
|
||||
py-pip \
|
||||
perl \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-dev \
|
||||
wget \
|
||||
xz-dev \
|
||||
zlib-dev &&\
|
||||
\
|
||||
zlib1g-dev \
|
||||
&& \
|
||||
apt-get autoclean && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN \
|
||||
# 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 && \
|
||||
\
|
||||
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 && \
|
||||
wget -qO- https://github.com/lh3/minimap2/releases/download/v${MINIMAP2_VERSION}/minimap2-${MINIMAP2_VERSION}.tar.bz2 | tar xjv && \
|
||||
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 && \
|
||||
|
@ -80,8 +62,9 @@ RUN \
|
|||
cp minimap2.1 /usr/man && \
|
||||
cd .. && \
|
||||
rm -rf minimap2-${MINIMAP2_VERSION} && \
|
||||
cd && \
|
||||
\
|
||||
cd
|
||||
|
||||
RUN \
|
||||
# Download and install LAST
|
||||
cd /tmp && \
|
||||
git clone https://gitlab.com/mcfrith/last.git && \
|
||||
|
@ -90,43 +73,47 @@ RUN \
|
|||
make && make install && \
|
||||
cd .. && \
|
||||
rm -rf last && \
|
||||
cd && \
|
||||
\
|
||||
cd
|
||||
|
||||
RUN \
|
||||
# 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 && \
|
||||
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 && \
|
||||
\
|
||||
rm -rf samtools-$SAMTOOLS_VERSION && \
|
||||
cd
|
||||
|
||||
RUN \
|
||||
# Download and install GenomeTools
|
||||
cd /tmp && \
|
||||
wget -qO- https://github.com/genometools/genometools/archive/refs/tags/v${GENOMETOOLS_VERSION}.tar.gz | tar xzv && \
|
||||
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
|
||||
pip3 install -v --no-cache-dir scikit-learn==0.21.3 && \
|
||||
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 && \
|
||||
\
|
||||
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 && \
|
||||
wget -qO- https://github.com/bcgsc/NanoSim/archive/refs/tags/v${NANOSIM_VERSION}.tar.gz | tar xzv && \
|
||||
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 .. && \
|
||||
\
|
||||
# Cleanup build packages
|
||||
apk del --no-cache .build-deps && \
|
||||
rm -vrf /var/cache/apk/*
|
||||
cd ..
|
||||
|
||||
ENTRYPOINT [ "/usr/bin/simulator.py" ]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[![NanoSim source](https://img.shields.io/static/v1?label=NanoSim%20Source&message=GitHub&color=lightgrey&logo=github&style=flat-square)](https://github.com/bcgsc/NanoSim)
|
||||
[![Version 3.0.2](https://img.shields.io/static/v1?label=Latest%20version&message=3.0.2&color=yellowgreen&logo=linuxcontainers&style=flat-square)](https://cloud.sylabs.io/library/millironx/default/nanosim)
|
||||
[![Docs](https://img.shields.io/static/v1?label=Docs&message=README&color=blue&style=flat-square)](https://github.com/bcgsc/NanoSim/blob/master/README.md)
|
||||
[![Alpine base](https://img.shields.io/static/v1?label=Base%20image&message=Alpine&color=0d597f&logo=alpinelinux&style=flat-square)](https://www.alpinelinux.org/)
|
||||
[![Ubuntu base](https://img.shields.io/static/v1?label=Base%20image&message=Ubuntu&color=e95420&logo=ubuntu&style=flat-square)](https://ubuntu.com/)
|
||||
|
||||
NanoSim is a fast and scalable read simulator that captures the
|
||||
technology-specific features of ONT data, and allows for adjustments upon
|
||||
|
|
Loading…
Reference in a new issue