Files
bioemu/Dockerfile

52 lines
1.6 KiB
Docker

FROM nvidia/cuda:12.2.0-runtime-ubuntu22.04
# Set non-interactive installation
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies
RUN apt-get update && apt-get install -y \
wget \
git \
python3 \
python3-pip \
build-essential \
curl \
python3-tk \
&& rm -rf /var/lib/apt/lists/*
# Set working directory
WORKDIR /opt/bioemu
# Install Python dependencies
RUN python3 -m pip install --upgrade pip
# Install BioEmu from PyPI
RUN pip install bioemu
# Install dependencies for free energy calculation
RUN pip install mdtraj scikit-learn pandas matplotlib seaborn
# Create directory for ColabFold and set environment variable
ENV COLABFOLD_DIR=/opt/colabfold
# Create cache directories with proper permissions
RUN mkdir -p ${COLABFOLD_DIR}/embeds_cache /tmp/colabfold_temp && \
chmod -R 777 ${COLABFOLD_DIR} /tmp/colabfold_temp
# Pre-setup ColabFold during build to avoid runtime issues
RUN wget "https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/5fc8775114b637b5672234179c50e694ab057db4/install_colabbatch_linux.sh" -O ${COLABFOLD_DIR}/install_colabbatch_linux.sh && \
chmod +x ${COLABFOLD_DIR}/install_colabbatch_linux.sh && \
bash ${COLABFOLD_DIR}/install_colabbatch_linux.sh
# Create directories for input/output with proper permissions
RUN mkdir -p /data /results && chmod -R 777 /data /results
RUN mkdir -p /opt/bioemu/scripts/
COPY calculate_gibbs.py /opt/bioemu/scripts/
COPY calculate_binding.py /opt/bioemu/scripts/
RUN chmod +x /opt/bioemu/scripts/calculate_gibbs.py
RUN chmod +x /opt/bioemu/scripts/calculate_binding.py
CMD ["/bin/bash"]