google-deepmind / google-deepmind/alphafold
Apparent incompatibility with (PyPI) docker 5.0.0 and requests 2.31.0 (solved)
- 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
Assessment
This issue has not been assessed yet.