Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| habrok:examples:alphafold [2023/06/05 15:11] – fokke | habrok:examples:alphafold [2024/11/22 14:41] (current) – admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== AlphaFold (Work in Progress!!) ====== | + | ====== AlphaFold |
| + | |||
| + | ===== AlphaFold 3 ===== | ||
| + | |||
| + | AlphaFold 3 is not available as module yet, and due to the complex installation this may still take a while. | ||
| + | |||
| + | Meanwhile, it should be possible to run AlphaFold 3 with an Apptainer container. You can either try to build your own container using the instructions at https:// | ||
| + | |||
| + | ==== Pulling in the container image and AlphaFold 3 code ==== | ||
| + | |||
| + | < | ||
| + | cd / | ||
| + | export APPTAINER_CACHEDIR=/ | ||
| + | apptainer pull docker:// | ||
| + | </ | ||
| + | |||
| + | This will result in a container image file named '' | ||
| + | < | ||
| + | git clone https:// | ||
| + | </ | ||
| + | |||
| + | ==== Running the container ==== | ||
| + | |||
| + | You should now be able to run the code from the cloned GitHub repository in the container (which provides all the dependencies) by doing something like: | ||
| + | < | ||
| + | apptainer exec ./ | ||
| + | </ | ||
| + | |||
| + | When running on a GPU node, the GPU can be made available in the container by adding a '' | ||
| + | < | ||
| + | apptainer exec --nv ./ | ||
| + | </ | ||
| + | |||
| + | More examples can be found at https:// | ||
| + | |||
| + | ==== Data files ==== | ||
| + | |||
| + | The genetic databases files that are required for AlphaFold 3 can be found at ''/ | ||
| + | |||
| + | ===== AlphaFold 2 ===== | ||
| GPU versions of AlphaFold are now available on Peregrine. You can find the available versions using '' | GPU versions of AlphaFold are now available on Peregrine. You can find the available versions using '' | ||
| - | ===== Running AlphaFold | + | ==== Running AlphaFold ==== |
| The module provides a simple '' | The module provides a simple '' | ||
| Note that the '' | Note that the '' | ||
| - | ==== Running on a CPU node ==== | + | === Running on a CPU node === |
| By default, AlphaFold will try to use a GPU, and it even fails on nodes without a GPU. In order to instruct AlphaFold to run without a GPU, add the following to your job script: | By default, AlphaFold will try to use a GPU, and it even fails on nodes without a GPU. In order to instruct AlphaFold to run without a GPU, add the following to your job script: | ||
| < | < | ||
| Line 14: | Line 53: | ||
| </ | </ | ||
| - | ===== Controlling the number of CPU cores for HHblits and jackhmmer | + | ==== Controlling the number of CPU cores for HHblits and jackhmmer ==== |
| The module allows you to control the number of cores used by the '' | The module allows you to control the number of cores used by the '' | ||
| - | ===== Database files ===== | + | ==== Database files ==== |
| The large database files for the different AlphaFold versions are available in version-specific subdirectories at ''/ | The large database files for the different AlphaFold versions are available in version-specific subdirectories at ''/ | ||
| Line 38: | Line 77: | ||
| </ | </ | ||
| - | ==== Using fast local storage | + | === Using fast local storage === |
| The I/O performance can be increased even further by copying the squashfs image file to fast local node storage first. All nodes have at least 1 TB of fast solid state storage available. | The I/O performance can be increased even further by copying the squashfs image file to fast local node storage first. All nodes have at least 1 TB of fast solid state storage available. | ||
| Line 52: | Line 91: | ||
| </ | </ | ||
| - | ===== Example of job script | + | ==== Example of job script ==== |
| The following minimal examples can be used to submit an AlphaFold job to a regular (CPU) node or a V100 GPU node. | The following minimal examples can be used to submit an AlphaFold job to a regular (CPU) node or a V100 GPU node. | ||
| Line 82: | Line 121: | ||
| mkdir $TMPDIR/ | mkdir $TMPDIR/ | ||
| # Mount the AlphaFold database squashfs image | # Mount the AlphaFold database squashfs image | ||
| - | squashfuse $TMDIR/ | + | squashfuse $TMPDIR/ |
| # Set the path to the AlphaFold database | # Set the path to the AlphaFold database | ||
| export ALPHAFOLD_DATA_DIR=$TMPDIR/ | export ALPHAFOLD_DATA_DIR=$TMPDIR/ | ||
| Line 104: | Line 143: | ||
| module purge | module purge | ||
| - | module load AlphaFold/ | + | module load AlphaFold/ |
| # Uncomment the following line(s) if you want to use different values for the number of cores used by hhblits/ | # Uncomment the following line(s) if you want to use different values for the number of cores used by hhblits/ | ||
| Line 119: | Line 158: | ||
| mkdir $TMPDIR/ | mkdir $TMPDIR/ | ||
| # Mount the AlphaFold database squashfs image | # Mount the AlphaFold database squashfs image | ||
| - | squashfuse $TMDIR/ | + | squashfuse $TMPDIR/ |
| # Set the path to the AlphaFold database | # Set the path to the AlphaFold database | ||
| export ALPHAFOLD_DATA_DIR=$TMPDIR/ | export ALPHAFOLD_DATA_DIR=$TMPDIR/ | ||