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/ RUN chmod +x /opt/bioemu/scripts/calculate_gibbs.py CMD ["/bin/bash"]