I tried to install AlphaFold and in the building docker image step, it keeps showing error. I tried to change the Dockerfile several times based on other issues reported here, like #321 , #727 . But it still showed error. The latest error showed is
70.21 WARNING: Requirement '/app/alphafold/jaxlib-0.1.75+cuda11.cudnn805-cp37-none-manylinux2010_x86_64.whl' looks like a filename, but the file does not exist
70.25 ERROR: jaxlib-0.1.75+cuda11.cudnn805-cp37-none-manylinux2010_x86_64.whl is not a supported wheel on this platform.
------
Dockerfile:79
--------------------
78 | # Install pip packages.
79 | >>> RUN pip3 install --upgrade pip \
80 | >>> && pip3 install -r /app/alphafold/requirements.txt \
81 | >>> && pip3 install /app/alphafold/jaxlib-0.1.75+cuda11.cudnn805-cp37-none-manylinux2010_x86_64.whl
82 | # && pip3 install --upgrade jax jaxlib==0.1.69+cuda${CUDA/./} -f \
--------------------
ERROR: failed to solve: process "/bin/bash -c pip3 install --upgrade pip && pip3 install -r /app/alphafold/requirements.txt && pip3 install /app/alphafold/jaxlib-0.1.75+cuda11.cudnn805-cp37-none-manylinux2010_x86_64.whl" did not complete successfully: exit code: 1
Following is my Dockerfile:
# Copyright 2021 DeepMind Technologies Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ARG CUDA=11.0
# FROM nvidia/cuda:${CUDA}-cudnn8-runtime-ubuntu18.04
#ARG CUDA=11.4.1
ARG CUDA=12.2.2
FROM nvidia/cuda:${CUDA}-cudnn8-runtime-ubuntu20.04
# FROM directive resets ARGS, so we specify again (the value is retained if
# previously set).
ARG CUDA
# Use bash to support string substitution.
SHELL ["/bin/bash", "-c"]
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
build-essential \
cmake \
# cuda-command-line-tools-${CUDA/./-} \
git \
hmmer \
kalign \
tzdata \
wget \
&& rm -rf /var/lib/apt/lists/*
CMD ["wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin"]
CMD ["sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600"]
# CMD ["wget https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda-repo-ubuntu2004-11-4-local_11.4.1-470.57.02-1_amd64.deb"]
CMD ["dpkg -i /app/alphafold/cuda-repo-ubuntu2004-11-4-local_11.4.1-470.57.02-1_amd64.deb"]
CMD ["apt-key add /var/cuda-repo-ubuntu2004-11-4-local/7fa2af80.pub"]
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y cuda
&& ln -s /opt/hhsuite/bin/* /usr/bin \
&& popd \
&& rm -rf /tmp/hh-suite
# Install Miniconda package manager.
RUN wget -q -P /tmp \
https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
&& bash /tmp/Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda \
&& rm /tmp/Miniconda3-latest-Linux-x86_64.sh
# Install conda packages.
ENV PATH="/opt/conda/bin:$PATH"
RUN conda update -qy conda \
&& conda install -y -c conda-forge \
openmm=7.5.1 \
# cudatoolkit==${CUDA_VERSION} \
pdbfixer \
pip \
# python=3.7
# python=3.10
python=3.9
COPY . /app/alphafold
RUN wget -q -P /app/alphafold/alphafold/common/ \
https://git.scicore.unibas.ch/schwede/openstructure/-/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt
# Install pip packages.
RUN pip3 install --upgrade pip \
&& pip3 install -r /app/alphafold/requirements.txt \
&& pip3 install /app/alphafold/jaxlib-0.1.75+cuda11.cudnn805-cp37-none-manylinux2010_x86_64.whl
# && pip3 install --upgrade jax jaxlib==0.1.69+cuda${CUDA/./} -f \
# https://storage.googleapis.com/jax-releases/jax_releases.html
# Apply OpenMM patch.
WORKDIR /opt/conda/lib/python3.7/site-packages
RUN patch -p0 < /app/alphafold/docker/openmm.patch
# We need to run `ldconfig` first to ensure GPUs are visible, due to some quirk
# with Debian. See https://github.com/NVIDIA/nvidia-docker/issues/1399 for
# details.
# ENTRYPOINT does not support easily running multiple commands, so instead we
# write a shell script to wrap them up.
WORKDIR /app/alphafold
RUN echo $'#!/bin/bash\n\
ldconfig\n\
python /app/alphafold/run_alphafold.py "$@"' > /app/run_alphafold.sh \
&& chmod +x /app/run_alphafold.sh
ENTRYPOINT ["/app/run_alphafold.sh"]
My system is Ubuntu 22.04. My python is 3.10.12.
Anyone could please help me to check what is the problem in the Dockerfile? I have changed it so many times and just not able to figure it out.
Hi` everyone,
I tried to install AlphaFold and in the building docker image step, it keeps showing error. I tried to change the Dockerfile several times based on other issues reported here, like #321 , #727 . But it still showed error. The latest error showed is
Following is my Dockerfile:
My system is Ubuntu 22.04. My python is 3.10.12.
Anyone could please help me to check what is the problem in the Dockerfile? I have changed it so many times and just not able to figure it out.
Thank you!