google-deepmind / google-deepmind/alphafold

Apparent incompatibility with (PyPI) docker 5.0.0 and requests 2.31.0 (solved)

Open
#812 4 comments 6 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
14.9k
Forks
2.9k
PR merge metrics
No merged PRs in 30d

Description

On installing/setting up the full alphafold version this week, I finally got things downloaded, but running predictions was met with

`alphafold docker.errors.DockerException: Error while fetching server API version: request() got an unexpected keyword argument 'chunked'`

I'm surprised this has not been reported by others, and maybe it's some Python version thing, but it seems to reflect an update to the `requests` package in the last few months (although perhaps urllib3 is also to blame here?).

Rolling requests back to `requests==2.28.1` seemed to fix this error. However, in doing this, predictions were incredibly slow (I gave up after about three hours on one protein). After about 2 days of trying various things, I believe the only difference between my `alphafold` repo and the GitHub version is that I updated the `docker/requirements.txt` and `requirements.txt` to use `docker==6.1.3`. instead of `docker==5.0.0` (I'm running Docker version 20.10.21, build 20.10.21-0ubuntu1~22.04.3).

I'm not sure why the Python docker API was pinned to 5.0.0, and there may have been a good reason. However, unpinning to the current default gives me decent performance (MSA construction takes 20-30 min depending on protein size, and then once precomputed per-model prediction is typically 1-2 min all in, running on an A4500 (where I can run five predictions in parallel). This is all using the full database.

Sharing this in case it's helpful for anyone else. Not bold enough to propose a pull request but if someone wanted to test this it may be a good thing to consider going forward if indeed this reflects an incompatibility between some combo of `requests=>2.31.0`, Docker version 20.10.2 and the python `docker==5.0.0.0`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.