{"id":22301842,"url":"https://github.com/rvhonorato/alphafold-hpc-wrapper","last_synced_at":"2025-07-29T03:32:44.039Z","repository":{"id":203548059,"uuid":"709855469","full_name":"rvhonorato/alphafold-hpc-wrapper","owner":"rvhonorato","description":"AlphaFold-wrapper for small HPC","archived":false,"fork":false,"pushed_at":"2023-11-15T11:30:06.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-11-15T12:32:35.613Z","etag":null,"topics":["alphafold","alphafold-multimer","cli","golang","hpc","slurm","wrapper"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rvhonorato.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-25T14:28:33.000Z","updated_at":"2023-10-30T12:29:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"2dc8d1a7-5b0e-4a22-8071-c31e49cbf399","html_url":"https://github.com/rvhonorato/alphafold-hpc-wrapper","commit_stats":null,"previous_names":["rvhonorato/alphafold-wrapper"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rvhonorato%2Falphafold-hpc-wrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rvhonorato%2Falphafold-hpc-wrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rvhonorato%2Falphafold-hpc-wrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rvhonorato%2Falphafold-hpc-wrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rvhonorato","download_url":"https://codeload.github.com/rvhonorato/alphafold-hpc-wrapper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227976115,"owners_count":17850163,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alphafold","alphafold-multimer","cli","golang","hpc","slurm","wrapper"],"created_at":"2024-12-03T18:31:51.284Z","updated_at":"2024-12-03T18:32:12.966Z","avatar_url":"https://github.com/rvhonorato.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AlphaFold-Wrapper for small HPC systems\n\n[![unittests](https://github.com/rvhonorato/alphafold-hpc-wrapper/actions/workflows/unittests.yml/badge.svg)](https://github.com/rvhonorato/alphafold-hpc-wrapper/actions/workflows/unittests.yml)\n[![Codacy Badge](https://app.codacy.com/project/badge/Coverage/a7bc51bb94d748d5ad4e4fc237cb1982)](https://app.codacy.com/gh/rvhonorato/alphafold-hpc-wrapper/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_coverage)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/a7bc51bb94d748d5ad4e4fc237cb1982)](https://app.codacy.com/gh/rvhonorato/alphafold-hpc-wrapper/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n[![Unlicense](https://img.shields.io/badge/License-Unlicense-blue.svg)](https://opensource.org/license/unlicense/)\n\nThis repository contains a set of instructions on how-to-install alphafold on a HPC cluster. It is based on the [alphafold repository](https://github.com/google-deepmind/alphafold).\n\nThere they go over the instructions to install alphafold on a single machine with Docker - however you might want to install it in your local cluster. This repository contains a step-by-step installation procedure as well as a custom-built wrapper CLI to facilitate the execution of alphafold in a _small_ HPC environment.\n\nNote that this is **not** an in-depth guide and **not** affiliated with alphafold - please check their documentation for an updated and official instructions. This repo is rather a set of instructions of a case that worked for me. I hope it can be useful for others as well.\n\n- [Installation](#installation)\n- [Wrapper](#wrapper)\n  - [Build](#build)\n  - [Configuration](#configuration)\n  - [Execution](#execution)\n- [TODO](#todo)\n- [Support](#support)\n\n## Installation\n\nPlease refer to the [INSTALL.md](INSTALL.md) file for a step-by-step installation procedure. These will show how to setup this repository, install the dependencies, configure a self-contained python environment and install alphafold.\n\n## Wrapper\n\nAlphafold's CLI is not very user-friendly and is not integrated with the HPC's scheduling system. This repository contains a wrapper CLI that facilitates the execution of alphafold in a small HPC environment.\n\nIt aims to expose less parameters and automates the execution of Alphafold via SLURM. It also provides a simple way to configure the execution via environment variables.\n\nIt assumes that you followed the [installation procedure](INSTALL.md); it will create a SLURM job file on the fly (in memory) with the correct initialization of the miniconda alphafold environment, the arguments needed by alphafold and the correct paths to the data.\n\n\n### Build\n\n[Install go](https://go.dev/doc/install) and build from source:\n\n```\n$ cd wrapper\n$ go build -o alphafold-wrapper\n```\n\n### Configuration\n\nThe wrapper will take the configuration from the system variables, currently it supports the following variables:\n\n- `PARTITION`: The SLURM partition to use.\n- `INSTALL_DIR`: The installation directory of this repository.\n- `DATA_DIR`: The path to the data directory.\n\nEither define them in your environment or directly from the command line:\n\n```bash\n$ export PARTITION=gpu\n$ export INSTALL_DIR=/trinity/login/rodrigo/repos/alphafold-wrapper\n$ export DATA_DIR=/trinity/login/rodrigo/repos/alphafold-wrapper/data\n```\n\n### Execution\n\nThe build produces a binary called `alphafold-wrapper`. It has the following usage:\n\n```bash\n$ ./alphafold-wrapper -h\nUsage:  ./alphafold-wrapper -f target.fasta -p \u003cmonomer|monomer_casp14|monomer_ptm|multimer\u003e -o /path/to/output\n\n### To fold a multimer, the target.fasta must be a multi-fasta file\n### Ex: `https://www.rcsb.org/fasta/entry/2OOB/display`\n\n```\n\n\n## TODO\n\n- Add more customization options to the SLURM job file\n- Allow to re-use MSAs\n- ~Add automated tests to the wrapper~ ✅\n- Add a build pipeline\n\n## Support\n\nIf you have any questions or suggestions, please open an issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frvhonorato%2Falphafold-hpc-wrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frvhonorato%2Falphafold-hpc-wrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frvhonorato%2Falphafold-hpc-wrapper/lists"}