google-deepmind/alphafold

Non docker setup

sanjaysrikakulam opened this issue ยท 15 comments

Dear AlphaFold authors,

Since most of the IT does not allow docker on their HPC's or production servers, we have made a small attempt to create a How-To for non-docker AlphaFold setup.

Can be found here: https://github.com/kalininalab/alphafold_non_docker

Thank you for the tool!

Kind regards,
Sanjay

Thank you for sharing your tips! My solution was very similar to yours, I was about to share mine. :)
For the record, in my case, the NVIDIA driver installed on our system supports cuda/cudatoolkits up to 11.0. In this case, I was able to create a non-docker environment with jaxlib==0.1.68+cuda110, jax==0.2.17

UPDATE: according to #20, jaxlib==0.1.69 is required to be able to use CUDA unified memory for running long sequences.

kuixu commented

Here is a another one. https://github.com/kuixu/alphafold

@sanjaysrikakulam and @kuixu
following both ur examples, on Ubuntu 20.0 LTS on VirtualMachine/VMware and WSL2 (windows 10 host)
always missing simtk/openmm in site-packages ?

i have cuda 10.1 installed on my windows PC, will upgrade to 11

~/miniconda3/envs/alphafold/lib/python3.8/site-packages

@lydonchandra Sorry I don't have a windows system to test this.

Update: if you get missing simtk/openmm issues, it means the openmm installation was not through properly. I would suggest reinstalling this package alone and check if it gets installed.

thanks for confirming @sanjaysrikakulam , it runs flawlessly on ubuntu 20 baremetal.

windows 10 WSL does not support cuda yet (windows 10 insider does) which i haven't tried.

Is it possible that we run a non-Docker version AF2 in a Docker container?
Consumes a lot of time to configure the environment on a host.

hyoo commented

for those who prefers singularity container (such as HPC environment), I wrapped the instructions from @sanjaysrikakulam and made a singularity definition files. https://github.com/hyoo/alphafold_singularity
hope this helps.

Hi, how should I output five models instead of only one as shown in the example? Thanks

Hi @AlvinHew, please refer to our repo's readme.

Hi @AlvinHew, please refer to our repo's readme.

Do you mean by specifying model_1, model_2, ... etc. in the flag -m ?

Yes, but make sure you do not have spaces (e.g., -m model_1,model_2,model_3,model_4,model_5)

Thanks for the reminder!

Hi, all. I have recently been organizing a recent fork of AlphaFold (with multimer support) that removes all Docker dependencies. If you find it helpful, please feel free to give it a try and let me know what you think: https://github.com/amorehead/alphafold_non_docker

Unfortunately we don't have the capacity to maintain and support Singularity. We added a link in the README to this issue and issue #10 that have links to third party repositories with Singularity definition files. I am going to close this issue as it is directly accessible from the README.

I am maintaining a Singularity port of AlphaFold's Docker stuff. It makes no change to the AlphaFold code (or even its Docker code): it merely adds a new directory for the Singularity stuff. It also has an example Slurm job script.

It has just been updated for AlphaFold 2.2.2. Please see https://github.com/prehensilecode/alphafold_singularity

Feel free to fork and submit issues or pull requests there.