mirror of
https://github.com/google-deepmind/alphafold3.git
synced 2025-10-20 13:23:47 +08:00
Expand documentation around running run_alphafold.py
PiperOrigin-RevId: 704634652
This commit is contained in:
@ -212,11 +212,13 @@ installing on local SSD. We recommend running the following in a `screen` or
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
cd alphafold3 # Navigate to the directory with cloned AlphaFold 3 repository.
|
cd alphafold3 # Navigate to the directory with cloned AlphaFold 3 repository.
|
||||||
./fetch_databases.sh <DB_DIR>
|
./fetch_databases.sh [<DB_DIR>]
|
||||||
```
|
```
|
||||||
|
|
||||||
This script downloads the databases from a mirror hosted on GCS, with all
|
This script downloads the databases from a mirror hosted on GCS, with all
|
||||||
versions being the same as used in the AlphaFold 3 paper.
|
versions being the same as used in the AlphaFold 3 paper, to the directory
|
||||||
|
`<DB_DIR>`. If not specified, the default `<DB_DIR>` is
|
||||||
|
`$HOME/public_databases`.
|
||||||
|
|
||||||
:ledger: **Note: The download directory `<DB_DIR>` should *not* be a
|
:ledger: **Note: The download directory `<DB_DIR>` should *not* be a
|
||||||
subdirectory in the AlphaFold 3 repository directory.** If it is, the Docker
|
subdirectory in the AlphaFold 3 repository directory.** If it is, the Docker
|
||||||
@ -250,13 +252,14 @@ uniref90_2022_05.fa
|
|||||||
Optionally, after the script finishes, you may want copy databases to an SSD.
|
Optionally, after the script finishes, you may want copy databases to an SSD.
|
||||||
You can use theses two scripts:
|
You can use theses two scripts:
|
||||||
|
|
||||||
* `src/scripts/gcp_mount_ssd.sh <SSD_MOUNT_PATH>` Mounts and formats an
|
* `src/scripts/gcp_mount_ssd.sh [<SSD_MOUNT_PATH>]` Mounts and formats an
|
||||||
unmounted GCP SSD drive. It will skip the either step if the disk is either
|
unmounted GCP SSD drive to the specified path. It will skip the either step
|
||||||
already formatted or already mounted. The default `<SSD_MOUNT_PATH>` is
|
if the disk is either already formatted or already mounted. The default
|
||||||
`/mnt/disks/ssd`.
|
`<SSD_MOUNT_PATH>` is `/mnt/disks/ssd`.
|
||||||
* `src/scripts/copy_to_ssd.sh <DB_DIR> <SSD_DB_DIR>` this will copy as many
|
* `src/scripts/copy_to_ssd.sh [<DB_DIR>] [<SSD_DB_DIR>]` this will copy as
|
||||||
files that it can fit on to the SSD. The default `<DATABASE_DIR>` is
|
many files that it can fit on to the SSD. The default `<DB_DIR>` is
|
||||||
`$HOME/public_databases` and the default `<SSD_DB_DIR>` is
|
`$HOME/public_databases`, and must match the path used in the
|
||||||
|
`fetch_databases.sh` command above, and the default `<SSD_DB_DIR>` is
|
||||||
`/mnt/disks/ssd/public_databases`.
|
`/mnt/disks/ssd/public_databases`.
|
||||||
|
|
||||||
## Obtaining Model Parameters
|
## Obtaining Model Parameters
|
||||||
@ -268,6 +271,11 @@ business days. You may only use AlphaFold 3 model parameters if received
|
|||||||
directly from Google. Use is subject to these
|
directly from Google. Use is subject to these
|
||||||
[terms of use](https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md).
|
[terms of use](https://github.com/google-deepmind/alphafold3/blob/main/WEIGHTS_TERMS_OF_USE.md).
|
||||||
|
|
||||||
|
Once access has been granted, download the model parameters to a directory of
|
||||||
|
your choosing, referred to as `<MODEL_PARAMETERS_DIR>` in the following
|
||||||
|
instructions. As with the databases, this should *not* be a subdirectory in the
|
||||||
|
AlphaFold 3 repository directory.
|
||||||
|
|
||||||
## Building the Docker Container That Will Run AlphaFold 3
|
## Building the Docker Container That Will Run AlphaFold 3
|
||||||
|
|
||||||
Then, build the Docker container. This builds a container with all the right
|
Then, build the Docker container. This builds a container with all the right
|
||||||
@ -277,7 +285,11 @@ python dependencies:
|
|||||||
docker build -t alphafold3 -f docker/Dockerfile .
|
docker build -t alphafold3 -f docker/Dockerfile .
|
||||||
```
|
```
|
||||||
|
|
||||||
You can now run AlphaFold 3!
|
Create an input JSON file, using either the example in the
|
||||||
|
[README](https://github.com/google-deepmind/alphafold3?tab=readme-ov-file#installation-and-running-your-first-prediction)
|
||||||
|
or a
|
||||||
|
[custom input](https://github.com/google-deepmind/alphafold3/blob/main/docs/input.md),
|
||||||
|
and place it in a directory, e.g. `$HOME/af_input`. You can now run AlphaFold 3!
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
docker run -it \
|
docker run -it \
|
||||||
@ -293,13 +305,27 @@ docker run -it \
|
|||||||
--output_dir=/root/af_output
|
--output_dir=/root/af_output
|
||||||
```
|
```
|
||||||
|
|
||||||
|
where `$HOME/af_input` is the directory containing the input JSON file;
|
||||||
|
`$HOME/af_output` is the directory where the output will be written to; and
|
||||||
|
`<DB_DIR>` and `<MODEL_PARAMETERS_DIR>` are the directories containing the
|
||||||
|
databases and model parameters. The values of these directories must match the
|
||||||
|
directories used in previous steps for downloading databases and model weights,
|
||||||
|
and for the input file.
|
||||||
|
|
||||||
|
:ledger: Note: You may also need to create the output directory,
|
||||||
|
`$HOME/af_output` directory before running the `docker` command and make it and
|
||||||
|
the input directory writable from the docker container, e.g. by running `chmod
|
||||||
|
755 $HOME/af_input $HOME/af_output`. In most cases `docker` and
|
||||||
|
`run_alphafold.py` will create the output directory if it does not exist.
|
||||||
|
|
||||||
:ledger: **Note: In the example above the databases have been placed on the
|
:ledger: **Note: In the example above the databases have been placed on the
|
||||||
persistent disk, which is slow.** If you want better genetic and template search
|
persistent disk, which is slow.** If you want better genetic and template search
|
||||||
performance, make sure all databases are placed on a local SSD.
|
performance, make sure all databases are placed on a local SSD.
|
||||||
|
|
||||||
If you have databases on SSD in `<SSD_DB_DIR>` you can use uses it as the
|
If you have some databases on an SSD in the `<SSD_DB_DIR>` directory and some
|
||||||
location to look for databases but allowing for a multiple fallbacks with
|
databases on a slower disk in the `<DB_DIR>` directory, you can mount both
|
||||||
`--db_dir` which can be specified multiple times.
|
directories and specify `db_dir` multiple times. This will enable the fast
|
||||||
|
access to databases with a fallback to the larger, slower disk:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
docker run -it \
|
docker run -it \
|
||||||
|
Reference in New Issue
Block a user