Skip to content
Snippets Groups Projects
Commit b6988b97 authored by iam4tune's avatar iam4tune
Browse files

Container for Speedseq

parent 35a024e4
No related branches found
No related tags found
No related merge requests found
# Recommended build process FROM ubuntu:18.04
#get CUDA - getting an older version for compatibility, recommend changing to newer LABEL maintainer="Your Name <your.email@example.com>"
FROM nvidia/cuda:12.6.0-devel-ubuntu22.04
ENV DEBIAN_FRONTEND=noninteractive
# get packages
WORKDIR /root # ----------- Install Core System Dependencies -----------
ARG DEBIAN_FRONTEND="noninteractive" RUN apt-get update && apt-get install -y \
RUN apt-get update -y git build-essential cmake g++ \
RUN apt-get install build-essential -y wget -y libboost-all-dev -y libeigen3-dev -y libgoogle-glog-dev -y libprotobuf-dev -y protobuf-compiler -y libhdf5-dev -y libatlas-base-dev -y python3-dev -y librdkit-dev -y python3-numpy -y python3-pip -y python3-pytest -y swig -y zlib1g-dev libncurses5-dev libbz2-dev liblzma-dev \
RUN apt update ; apt upgrade -y ; apt-get -y install build-essential git wget libboost-all-dev libeigen3-dev libgoogle-glog-dev libprotobuf-dev protobuf-compiler libhdf5-dev libatlas-base-dev python3-dev librdkit-dev python3-numpy python3-pip python3-pytest libjsoncpp-dev libcurl4-openssl-dev libssl-dev \
RUN apt-get update -y && apt-get install git-all -y curl && apt-get update -y python2.7 python-pip python-numpy python-scipy \
RUN rm -rf /var/lib/apt/lists/* libboost-all-dev curl unzip wget parallel \
RUN pip3 install cmake scikit-image pyquaternion google-api-python-client six libtbb-dev samtools locales \
RUN pip3 install torch torchvision torchaudio perl curl \
unzip \
RUN git clone https://github.com/openbabel/openbabel.git && cd openbabel && git checkout openbabel-3-1-1 && mkdir build && cd build && cmake -DWITH_MAEPARSER=OFF -DWITH_COORDGEN=OFF -DPYTHON_BINDINGS=ON -DRUN_SWIG=ON .. && make -j4 && make install x11-utils xorg-dev libx11-dev \
libxpm-dev libxft-dev libxext-dev && \
ADD "https://github.com/gnina/gnina/commits?per_page=1" latest_commit apt-get clean && rm -rf /var/lib/apt/lists/*
RUN git clone https://github.com/gnina/gnina.git; \ # Set Python 2 as default
cd gnina; mkdir build; cd build; \ RUN update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
cmake .. ;\
make -j4 ; make install # Install Python modules
\ No newline at end of file RUN pip install pysam==0.8.4
# Set UTF-8 locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL=en_US.UTF-8
# ----------- Clone and Build SpeedSeq -----------
WORKDIR /opt
RUN git clone --recursive https://github.com/hall-lab/speedseq.git
WORKDIR /opt/speedseq
RUN make
ENV SPEEDSEQ_DIR=/opt/speedseq
ENV PATH="$SPEEDSEQ_DIR/bin:$PATH"
# ----------- OPTIONAL: Install CNVnator and ROOT -----------
# Toggle these installs with --build-arg flags
ARG INSTALL_CNVNATOR=true
RUN if [ "$INSTALL_CNVNATOR" = "true" ]; then \
curl -OL ftp://root.cern.ch/root/root_v5.34.20.source.tar.gz && \
tar -zxvf root_v5.34.20.source.tar.gz && \
cd root && \
./configure --prefix=/opt/root && \
make -j4 && \
echo "source /opt/root/bin/thisroot.sh" >> /etc/bash.bashrc && \
cd $SPEEDSEQ_DIR && \
source /opt/root/bin/thisroot.sh && \
make cnvnator; \
fi
ENV ROOTSYS=/opt/root
ENV PATH="$ROOTSYS/bin:$PATH"
ENV LD_LIBRARY_PATH="$ROOTSYS/lib:$LD_LIBRARY_PATH"
ENV DYLD_LIBRARY_PATH="$ROOTSYS/lib:$DYLD_LIBRARY_PATH"
# ----------- OPTIONAL: Install VEP -----------
ARG INSTALL_VEP=true
RUN if [ "$INSTALL_VEP" = "true" ]; then \
mkdir -p $SPEEDSEQ_DIR/annotations/vep_cache && \
curl -OL https://github.com/Ensembl/ensembl-tools/archive/release/76.zip && \
unzip 76.zip && \
perl ensembl-tools-release-76/scripts/variant_effect_predictor/INSTALL.pl \
-c $SPEEDSEQ_DIR/annotations/vep_cache \
-a ac -s homo_sapiens -y GRCh37 && \
cp ensembl-tools-release-76/scripts/variant_effect_predictor/variant_effect_predictor.pl $SPEEDSEQ_DIR/bin && \
cp -r ensembl-tools-release-76/scripts/variant_effect_predictor/Bio $SPEEDSEQ_DIR/bin; \
fi
# ----------- Final Touches -----------
WORKDIR /data
ENTRYPOINT ["speedseq"]
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment