Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
root committed Feb 1, 2021
0 parents commit 165017a
Show file tree
Hide file tree
Showing 85 changed files with 2,572,725 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.pyc
*~
80 changes: 80 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# StructMAn docker container

# Using Ubuntu 18.04 as the base image
FROM ubuntu:18.04

# Meta-data
LABEL maintainer="Alexander Gress ([email protected])" \
description="A docker container for the Structural Mutation Annotation (StructMAn) software which provides \
the annotation of non-synonymous single-nucleotide polymorphisms (nsSNPs) in the \
context of the structural neighbourhood of the resulting amino acid variations in \
the protein. Its rationale is that if a mutation is located on an interaction \
interface between the protein and another protein, DNA, RNA or a small molecule, \
it is likely to interfere with this interaction."

# Install and update the required dependencies for StructMAn
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server \
wget \
curl \
vim \
less \
gcc \
gzip \
python3.7 \
python3.7-dev \
python3.7-distutils \
libboost-all-dev \
libzeep-dev \
libbz2-dev \
libz-dev \
autoconf \
automake \
autotools-dev \
rsync \
openbabel \
ncbi-blast+ \
python-mysqldb \
mysql-client && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /var/lib/mysql

# Register the python version 3.7 in alternatives
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1

# Set python 3.7 as the default python3
RUN update-alternatives --set python3 /usr/bin/python3.7

# Upgrade pip to the latest version
RUN curl -s https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
python3 get-pip.py --force-reinstall && \
rm get-pip.py

# Install StructMAn Python dependencies
RUN pip3 install numpy biopython matplotlib multiprocess pymysql python-igraph pickle5>=0.0.10 psutil
RUN pip3 install https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-1.1.0.dev0-cp37-cp37m-manylinux1_x86_64.whl

# Install and setup MMseqs2
RUN wget -O /opt/mmseqs-linux-sse41.tar.gz https://mmseqs.com/latest/mmseqs-linux-sse41.tar.gz; tar xvfz /opt/mmseqs-linux-sse41.tar.gz -C /opt/; ln -s /opt/mmseqs/bin/mmseqs /usr/local/bin/

# Install xssp-3.0.7-mkdssp
RUN wget -O /opt/xssp-3.0.7.tar.gz https://github.com/cmbi/hssp/releases/download/3.0.7/xssp-3.0.7.tar.gz; tar xvzf /opt/xssp-3.0.7.tar.gz -C /opt/; rm /opt/xssp-3.0.7.tar.gz
RUN (cd /opt/xssp-3.0.7/; ./autogen.sh; ./configure; make mkdssp; make install)

# Add the StructMAn source
ADD ./structman_source /usr/structman_library/sources/

# Copy the entrypoint script to implement all the configuration
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh

# Default volumes to organize all the files under one roof and to allow backup
VOLUME ["/structman/input_data/", "/structman/results/", "/structman/resources/", "/var/log/mysql/", "/var/lib/mysql/"]

# Ports
EXPOSE 3306/tcp

# Initialization and setup
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]

CMD ["mysqld"]
504 changes: 504 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

Loading

0 comments on commit 165017a

Please sign in to comment.