You can use our service desk portal for getting RIS support. RIS also offers 15 min. virtual office hours session Mon-Thru..
AlphaFold3
storageN
The use of
storageNwithin these documents indicates that any storage platform can be used.Current available storage platforms:
storage1
storage2
RIS-Provided Model Parameters and Input Data
A default, University-licensed copy of the model parameters and other input data is available through RIS. In order to access this data, users need to accept the terms of use. (Weights terms of use, Weights prohibited use, Output terms of use) To do this, users will need to submit a request through the RIS Service Desk acknowledging the terms of service. Users will then be granted access to the model parameters and input data. This data is located on Storage2: /storage2/fs1/RIS-Services/Active/AlphaFold3
Running AlphaFold3
The cluster-compatible Docker image is designed with default settings for the location of the model and input data. These defaults can be overridden by the user at runtime, but the input and model data locations must be mounted by the container and available to the application at runtime. The only required parameter for the application is the location for its output, which also must be mounted into the container so it is available after the job completes. The instructions that follow provide detail on running a cluster job based on the default settings and an example output directory.
General Information
Environment variables
ALPHAFOLD_BASE_DIR=/app/alphafoldRIS_SERVICES=/storage2/fs1/RIS-Services/Active/AlphaFold3OUTPUT_DIRECTORY=/storage2/fs1/allocation_name/Active/alphafold3/output
- Create/storage2/fs1/allocation_name/Active/alphafold3/outputif it doesn’t already existLSF_DOCKER_VOLUMES="$RIS_SERVICES:$RIS_SERVICES $OUTPUT_DIRECTORY:$OUTPUT_DIRECTORY $HOME:$HOME"PATH="/usr/local/cuda/bin/:/opt/conda/bin:/app/alphafold:$PATH"
*allocation_name is the name of the user’s Storage allocation. Please DO NOT FORGET to replace the attributes in the above examples with appropriate values carefully.
With the environment established, the following is a simple
bsubcommand to run the AlphaFold3 job:bsub -q general-interactive -G compute-group -R "gpuhost rusage[mem=64GB]" -gpu 'num=1' -Is -a "docker(ghcr.io/washu-it-ris/alphafold3:2)" /bin/bash
Note that other command line options, including requests for memory and specific GPU resources are available. The example above specifically includes a request for 64 gigabytes of memory because previous test runs of the application failed to complete with lower memory limits.
At the command prompt inside the running job container, the Python virtual environment for the application needs to be activated:
. /alphafold3_venv/bin/activate
At this point the AlphaFold command is ready to run. If the RIS Service storage space for input data described above is mounted into the container along with a destination for the output data, then the defaults can be used. In this case the only required option is for the output destination:
python3 /app/alphafold/run_alphafold.py --output_dir=/storage2/fs1/allocation_name/Active
Quickstart Bsub Script
The settings and commands documented above can be combined into a quickstart script for running cluster jobs. The script below needs some small modifications to the storage locations for input and output. Additional modifications can be made to override the defaults input data locations as needed.
#!/bin/bash export ALPHAFOLD_BASE_DIR=/app/alphafold export RIS_SERVICES=/storage2/fs1/RIS-Services/Active/AlphaFold3 export OUTPUT_DIRECTORY=/storage2/fs1/allocation_name/Active/alphafold3/output export LSF_DOCKER_VOLUMES="$RIS_SERVICES:$RIS_SERVICES $OUTPUT_DIRECTORY:$OUTPUT_DIRECTORY $HOME:$HOME" export PATH="/usr/local/cuda/bin/:/opt/conda/bin:/app/alphafold:$PATH" bsub -q general-interactive -G compute-group -R "gpuhost rusage[mem=64GB]" -gpu 'num=1' -Is -a "docker(ghcr.io/washu-it-ris/alphafold3:2)" /bin/bash
Interactive Jobs :
export PATH="/usr/local/cuda/bin/:/opt/conda/bin:/app/alphafold:$PATH" export ALPHAFOLD_BASE_DIR=/app/alphafold export RIS_SERVICES=/storage2/fs1/RIS-Services/Active/AlphaFold3 export OUTPUT_DIRECTORY=/storage1/fs1/allocation_name/Active/alphafold3/output srun --pty -A compute2-group -p general-interactive --gpus=1 --container-image='ghcr.io#washu-it-ris/alphafold3:2' --container-mounts=/storage2/fs1/RIS-Services/Active/AlphaFold3:/storage2/fs1/RIS-Services/Active/AlphaFold3,/storage1/fs1/allocation_name/Active:/storage1/fs1/allocation_name/Active /bin/bash
*allocation_name is the name of the user’s Storage allocation. Please DO NOT FORGET to replace the attributes in the above examples with appropriate values carefully.
At the command prompt inside the running job container, the Python virtual environment for the application needs to be activated:
. /alphafold3_venv/bin/activate
At this point the AlphaFold command is ready to run. If the RIS Service storage space for input data described above is mounted into the container along with a destination for the output data, then the defaults can be used. In this case the only required option is for the output destination:
python3 /app/alphafold/run_alphafold.py --output_dir=/path/to/output/dir
Batch Job (recommended):
export PATH="/usr/local/cuda/bin/:/opt/conda/bin:/app/alphafold:$PATH" export ALPHAFOLD_BASE_DIR=/app/alphafold export RIS_SERVICES=/storage2/fs1/RIS-Services/Active/AlphaFold3 export OUTPUT_DIRECTORY=/storage1/fs1/allocation_name/Active/alphafold3/output sbatch job.sh
Job.sh:
#SBATCH --job-name=alphafold_job # Job name #SBATCH --output=output_%j.log # Output file #SBATCH --error=error_%j.log # Error file #SBATCH --ntasks=1 # Number of tasks (adjust if needed) #SBATCH --account=compute2-ris # Your compute account #SBATCH --time=01:00:00 # Time limit (hh:mm:ss) #SBATCH --partition=general-gpu # Partition/queue to submit to #SBATCH --gres=gpu:1 # Number of GPUs (adjust if needed) #SBATCH --mem=4G # Memory limit (adjust if needed) #SBATCH --container-image=ghcr.io#washu-it-ris/alphafold3:2 #SBATCH --container-mounts=/storage2/fs1/RIS-Services/Active/AlphaFold3:/storage2/fs1/RIS-Services/Active/AlphaFold3,/storage1/fs1/allocation_name/Active:/storage1/fs1/allocation_name/Active . /alphafold3_venv/bin/activate python3 /app/alphafold/run_alphafold.py --output_dir=/path/to/output/dir