Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update for AlphaFold 3 #42

Open
prehensilecode opened this issue Nov 12, 2024 · 2 comments
Open

Update for AlphaFold 3 #42

prehensilecode opened this issue Nov 12, 2024 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@prehensilecode
Copy link
Owner

AlphaFold is fully open source starting with version 3.

Update this recipe for it.

@prehensilecode prehensilecode self-assigned this Nov 12, 2024
@prehensilecode prehensilecode added the enhancement New feature or request label Nov 12, 2024
@aharral
Copy link

aharral commented Nov 12, 2024

I am attempting to write the apptainer/singularity definition file to use Alphafold3 with this:

Bootstrap: docker
From: nvidia/cuda:12.6.0-base-ubuntu22.04

%environment
  export PATH="/hmmer/bin:/alphafold3_venv/bin:$PATH"

%post

  apt update --quiet \
    && apt install --yes --quiet software-properties-common \
    && apt install --yes --quiet git wget

  add-apt-repository ppa:deadsnakes/ppa \
    && DEBIAN_FRONTEND=noninteractive apt install --yes --quiet python3.11 python3-pip python3.11-venv python3.11-dev wget git

  python3.11 -m venv /alphafold3_venv

  mkdir /hmmer_build /hmmer ; \
    wget http://eddylab.org/software/hmmer/hmmer-3.4.tar.gz --directory-prefix /hmmer_build ; \
    (cd /hmmer_build && tar zxf hmmer-3.4.tar.gz && rm hmmer-3.4.tar.gz) ; \
    (cd /hmmer_build/hmmer-3.4 && ./configure --prefix /hmmer) ; \
    (cd /hmmer_build/hmmer-3.4 && make -j8) ; \
    (cd /hmmer_build/hmmer-3.4 && make install) ; \
    (cd /hmmer_build/hmmer-3.4/easel && make install) ; \
    rm -R /hmmer_build

  mkdir /app/
  cd /app/
  git clone https://github.com/google-deepmind/alphafold3.git

  cd /app/alphafold3
  pip3 install  -r dev-requirements.txt
  pip3 install  --no-deps .
  build_data

%runscript
  python3 /app/alphafold3/run_alphafold.py "$@"

However, I am running into this error:

Collecting jax>=0.4.27
ERROR: In --require-hashes mode, all requirements must have their versions pinned with ==. These do not:
    jax>=0.4.27 from https://files.pythonhosted.org/packages/62/20/6c57c50c0ccc645fea1895950f1e5cd02f961ee44b3ffe83617fa46b0c1d/jax-0.4.35-py3-none-any.whl#sha256=fa99e909a31424abfec750019a6dd36f6acc18a6e7d40e2c0086b932cc351325 (from chex==0.1.87->-r dev-requirements.txt (line 15))
FATAL:   While performing build: while running engine: exit status 1

After googling, I found that you can add the --use-deprecated=legacy-resolver to the pip3 install lines in post section, but then get this error:

+ pip3 install --use-deprecated=legacy-resolver --no-deps .
Processing /app/alphafold3
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
ERROR: Package 'alphafold3' requires a different Python: 3.10.12 not in '>=3.11'

I also tried to build via Docker on the GitHub (see https://github.com/google-deepmind/alphafold3/blob/main/docs/installation.md#running-using-singularity-instead-of-docker) but the docker build does not seem to work either with this error:

61.06 ERROR: Ignored the following versions that require a different python version: 0.1.2 Requires-Python <3.10,>=3.7; 0.1.3 Requires-Python <3.11,>=3.7; 1.21.2 Requires-Python >=3.7,<3.11; 1.21.3 Requires-Python >=3.7,<3.11; 1.21.4 Requires-Python >=3.7,<3.11; 1.21.5 Requires-Python >=3.7,<3.11; 1.21.6 Requires-Python >=3.7,<3.11; 1.6.2 Requires-Python >=3.7,<3.10; 1.6.3 Requires-Python >=3.7,<3.10; 1.7.0 Requires-Python >=3.7,<3.10; 1.7.1 Requires-Python >=3.7,<3.10; 1.7.2 Requires-Python >=3.7,<3.11; 1.7.3 Requires-Python >=3.7,<3.11; 1.8.0 Requires-Python >=3.8,<3.11; 1.8.0rc1 Requires-Python >=3.8,<3.11; 1.8.0rc2 Requires-Python >=3.8,<3.11; 1.8.0rc3 Requires-Python >=3.8,<3.11; 1.8.0rc4 Requires-Python >=3.8,<3.11; 1.8.1 Requires-Python >=3.8,<3.11
61.06 ERROR: Could not find a version that satisfies the requirement triton==3.1.0 (from versions: none)
61.06 ERROR: No matching distribution found for triton==3.1.0
61.23
61.23 [notice] A new release of pip is available: 24.0 -> 24.3.1
61.23 [notice] To update, run: pip install --upgrade pip
------
Dockerfile:44
--------------------
  42 |
  43 |     # Install the Python dependencies AlphaFold 3 needs.
  44 | >>> RUN pip3 install -r dev-requirements.txt
  45 |     RUN pip3 install --no-deps .
  46 |     # Build chemical components database (this binary was installed by pip).
--------------------
ERROR: failed to solve: process "/bin/sh -c pip3 install -r dev-requirements.txt" did not complete successfully: exit code: 1

Sorry for the lengthy post, and no resolution, but just wanted to put all the information I had. Hope this helps, thank you!

@Luthaf
Copy link

Luthaf commented Nov 18, 2024

For anyone hitting the require-hashes pip error, the solution is to update pip to a more recent version: google-deepmind/alphafold3#20 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

3 participants