newtonjoo / deepfold

Protein 3D Structure Prediction with DeepFold
Apache License 2.0
17 stars 3 forks source link

Building Docker image from Apple ARM (M2) #1

Closed agdiaz closed 3 months ago

agdiaz commented 7 months ago

Dear Deepfold team,

I have cloned the repository and I am following the instructions to build the docker image on my Macbook. I would like to try to see if I can predict foldings using the CPU cores of my laptop. My current environment is:

When I execute the step DOCKER_DEFAULT_PLATFORM=linux/amd64 docker build -f docker/Dockerfile -t deepfold . (forcing Docker to use x64 architecture), I receive this error which seems to be related to an incompatible version of a dependency:

[+] Building 402.7s (9/20)                                                                                                                                                                       docker:desktop-linux
 => [internal] load .dockerignore                                                                                                                                                                                0.0s
 => => transferring context: 2B                                                                                                                                                                                  0.0s
 => [internal] load build definition from Dockerfile                                                                                                                                                             0.0s
 => => transferring dockerfile: 2.16kB                                                                                                                                                                           0.0s
 => [internal] load metadata for docker.io/nvidia/cuda:11.1.1-cudnn8-runtime-ubuntu18.04                                                                                                                         1.1s
 => [ 1/16] FROM docker.io/nvidia/cuda:11.1.1-cudnn8-runtime-ubuntu18.04@sha256:62d739ff971db134d035baa73380899d433cd9132c26635bb478f021671822cd                                                                 0.0s
 => [internal] load build context                                                                                                                                                                                0.1s
 => => transferring context: 22.43kB                                                                                                                                                                             0.0s
 => CACHED [ 2/16] RUN apt-get update                                                                                                                                                                            0.0s
 => CACHED [ 3/16] RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y       build-essential       cmake       cuda-command-line-tools-$(cut -f1,2 -d- <<< ${CUDA//./-})       git       hm  0.0s
 => CACHED [ 4/16] 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-la  0.0s
 => ERROR [ 5/16] RUN conda update -qy conda     && conda install -y -c conda-forge       openmm=7.5.1       cudatoolkit==11.1.1       pdbfixer       pip       python=3.7                                     401.5s
------
 > [ 5/16] RUN conda update -qy conda     && conda install -y -c conda-forge       openmm=7.5.1       cudatoolkit==11.1.1       pdbfixer       pip       python=3.7:
1.143 Channels:
1.143  - defaults
1.143 Platform: linux-64
1.143 Collecting package metadata (repodata.json): ...working... done
5.494 Solving environment: ...working... done
5.649
5.649 # All requested packages already installed.
5.649
6.386 Channels:
6.386  - conda-forge
6.386  - defaults
6.386 Platform: linux-64
6.386 Collecting package metadata (repodata.json): ...working... done
32.66 Solving environment: ...working... failed
401.5
401.5 LibMambaUnsatisfiableError: Encountered problems while solving:
401.5   - package menuinst-2.0.1-py311h06a4308_1 requires python >=3.11,<3.12.0a0, but none of the providers can be installed
401.5
401.5 Could not solve for environment specs
401.5 The following packages are incompatible
401.5 ├─ menuinst is installable with the potential options
401.5 │  ├─ menuinst [2.0.0|2.0.1] would require
401.5 │  │  └─ python >=3.11,<3.12.0a0 , which can be installed;
401.5 │  ├─ menuinst [2.0.0|2.0.1|2.0.2] would require
401.5 │  │  ├─ python >=3.10,<3.11.0a0 , which can be installed;
401.5 │  │  └─ python_abi 3.10.* *_cp310, which can be installed;
401.5 │  ├─ menuinst [2.0.0|2.0.1|2.0.2] would require
401.5 │  │  ├─ python >=3.11,<3.12.0a0 , which can be installed;
401.5 │  │  └─ python_abi 3.11.* *_cp311, which can be installed;
401.5 │  ├─ menuinst [2.0.0|2.0.1|2.0.2] would require
401.5 │  │  └─ python_abi 3.12.* *_cp312, which can be installed;
401.5 │  ├─ menuinst [2.0.0|2.0.1|2.0.2] would require
401.5 │  │  ├─ python >=3.8,<3.9.0a0 , which can be installed;
401.5 │  │  └─ python_abi 3.8.* *_cp38, which can be installed;
401.5 │  ├─ menuinst 2.0.0 would require
401.5 │  │  └─ pypy3.9 >=7.3.12 , which can be installed;
401.5 │  ├─ menuinst [2.0.0|2.0.1|2.0.2] would require
401.5 │  │  ├─ python >=3.9,<3.10.0a0 , which can be installed;
401.5 │  │  └─ python_abi 3.9.* *_cp39, which can be installed;
401.5 │  ├─ menuinst [2.0.1|2.0.2] would require
401.5 │  │  └─ pypy3.9 >=7.3.13 , which can be installed;
401.5 │  ├─ menuinst [2.0.0|2.0.1] would require
401.5 │  │  └─ python >=3.10,<3.11.0a0 , which can be installed;
401.5 │  ├─ menuinst [2.0.0|2.0.1] would require
401.5 │  │  └─ python >=3.12,<3.13.0a0 , which can be installed;
401.5 │  ├─ menuinst [2.0.0|2.0.1] would require
401.5 │  │  └─ python >=3.8,<3.9.0a0 , which can be installed;
401.5 │  └─ menuinst [2.0.0|2.0.1] would require
401.5 │     └─ python >=3.9,<3.10.0a0 , which can be installed;
401.5 └─ python 3.7**  is not installable because there are no viable options
401.5    ├─ python [3.7.0|3.7.1|...|3.7.9] conflicts with any installable versions previously reported;
401.5    ├─ python [3.7.0|3.7.1|3.7.2|3.7.3|3.7.6] would require
401.5    │  └─ python_abi * *_cp37m, which conflicts with any installable versions previously reported;
401.5    └─ python [3.7.10|3.7.12|...|3.7.9] would require
401.5       └─ python_abi 3.7.* *_cp37m, which conflicts with any installable versions previously reported.
401.5
------
Dockerfile:31
--------------------
  30 |     ENV PATH="/opt/conda/bin:$PATH"
  31 | >>> RUN conda update -qy conda \
  32 | >>>     && conda install -y -c conda-forge \
  33 | >>>       openmm=7.5.1 \
  34 | >>>       cudatoolkit==${CUDA_VERSION} \
  35 | >>>       pdbfixer \
  36 | >>>       pip \
  37 | >>>       python=3.7
  38 |
--------------------
ERROR: failed to solve: process "/bin/bash -c conda update -qy conda     && conda install -y -c conda-forge       openmm=7.5.1       cudatoolkit==${CUDA_VERSION}       pdbfixer       pip       python=3.7" did not complete successfully: exit code: 1

Have you tried to build the image using M1/M2/M3 chipsets? It may be a workaround to fix this dependency issue. Otherwise, is there any place where I might find a built image such as Docker Hub?

Thank you in advance for your help.

agdiaz commented 5 months ago

Hello there, I hope you are doing well. By chance, any news regarding this issue? Thanks in advance

cy3 commented 5 months ago

Hi, apologies for the slow reply. We appreciate you reporting the error, and we've recently updated our Dockerfile. Hopefully, this addresses your issue.