Difference between revisions of "AlphaFold"
(14 intermediate revisions by 4 users not shown) | |||
Line 5: | Line 5: | ||
<!--CONFIGURATION: OPTIONAL (|1}} means it's ON)--> | <!--CONFIGURATION: OPTIONAL (|1}} means it's ON)--> | ||
|{{#vardefine:conf|}} <!--CONFIGURATION--> | |{{#vardefine:conf|}} <!--CONFIGURATION--> | ||
− | |{{#vardefine:exe|}} <!--ADDITIONAL INFO--> | + | |{{#vardefine:exe|1}} <!--ADDITIONAL INFO--> |
|{{#vardefine:job|}} <!--JOB SCRIPTS--> | |{{#vardefine:job|}} <!--JOB SCRIPTS--> | ||
− | |{{#vardefine:policy|}} <!--POLICY--> | + | |{{#vardefine:policy|1}} <!--POLICY--> |
|{{#vardefine:testing|}} <!--PROFILING--> | |{{#vardefine:testing|}} <!--PROFILING--> | ||
|{{#vardefine:faq|}} <!--FAQ--> | |{{#vardefine:faq|}} <!--FAQ--> | ||
Line 18: | Line 18: | ||
{{App_Description|app={{#var:app}}|url={{#var:url}}|name={{#var:app}}}}|}} | {{App_Description|app={{#var:app}}|url={{#var:url}}|name={{#var:app}}}}|}} | ||
− | This package provides an implementation of the inference pipeline of AlphaFold v2. | + | This package provides an implementation of the inference pipeline of AlphaFold v2.3. This is a completely new model that was entered in CASP14 and published in Nature. For simplicity, we refer to this model as AlphaFold throughout the rest of this document. |
<!--Modules--> | <!--Modules--> | ||
==Environment Modules== | ==Environment Modules== | ||
Run <code>module spider {{#var:app}}</code> to find out what environment modules are available for this application. | Run <code>module spider {{#var:app}}</code> to find out what environment modules are available for this application. | ||
− | |||
− | |||
− | |||
<!--Configuration--> | <!--Configuration--> | ||
Line 34: | Line 31: | ||
{{#if: {{#var: exe}}|==Additional Information== | {{#if: {{#var: exe}}|==Additional Information== | ||
− | + | Note that Alphafold has large memory requirements and some of its stages use 4 or 8 CPUs in addition to a GPU. An example job script for a run with the test data included with the software is shown below. | |
+ | <div class="mw-collapsible mw-collapsed" style="width:70%; padding: 5px; border: 1px solid gray;"> | ||
+ | ''Expand this section to view sample script for version 2.1.2.'' | ||
+ | <div class="mw-collapsible-content" style="padding: 5px;"> | ||
+ | <pre> | ||
+ | #!/bin/bash | ||
+ | #SBATCH --partition=gpu | ||
+ | #SBATCH --constraint=ai | ||
+ | #SBATCH --nodes=1 | ||
+ | #SBATCH --ntasks=8 | ||
+ | #SBATCH --gpus=1 | ||
+ | #SBATCH --mem=48gb | ||
+ | #SBATCH --time=12:00:00 | ||
+ | date;hostname;pwd | ||
+ | run_alphafold.py \ | ||
+ | --data_dir "${HPC_ALPHAFOLD_REF}" \ | ||
+ | --output_dir $(pwd) \ | ||
+ | --fasta_paths query.fasta \ | ||
+ | --uniref90_database_path=${HPC_ALPHAFOLD_REF}/uniref90/uniref90.fasta \ | ||
+ | --mgnify_database_path=${HPC_ALPHAFOLD_REF}/mgnify/mgy_clusters_2018_12.fa \ | ||
+ | --template_mmcif_dir=${HPC_ALPHAFOLD_REF}/pdb_mmcif/mmcif_files \ | ||
+ | --max_template_date=2020-05-14 \ | ||
+ | --obsolete_pdbs_path=${HPC_ALPHAFOLD_REF}/pdb_mmcif/obsolete.dat \ | ||
+ | --use_gpu_relax=1 \ | ||
+ | --bfd_database_path=${HPC_ALPHAFOLD_REF}/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt \ | ||
+ | --uniclust30_database_path=${HPC_ALPHAFOLD_REF}/uniclust30/uniclust30_2018_08/uniclust30_2018_08 \ | ||
+ | --pdb70_database_path=${HPC_ALPHAFOLD_REF}/pdb70/pdb70 | ||
+ | |||
+ | date | ||
+ | </pre> | ||
+ | </div> | ||
+ | </div> | ||
+ | <div class="mw-collapsible mw-collapsed" style="width:70%; padding: 5px; border: 1px solid gray;"> | ||
+ | ''Expand this section to view sample script for version 2.3.1.'' | ||
+ | <div class="mw-collapsible-content" style="padding: 5px;"> | ||
+ | <pre> | ||
+ | #!/bin/bash | ||
+ | #SBATCH --partition=gpu | ||
+ | #SBATCH --constraint=a100 | ||
+ | #SBATCH --nodes=1 | ||
+ | #SBATCH --ntasks=8 | ||
+ | #SBATCH --gpus=1 | ||
+ | #SBATCH --mem=300gb | ||
+ | #SBATCH --time=96:00:00 | ||
+ | date;hostname;pwd | ||
+ | |||
+ | module load alphafold | ||
+ | |||
+ | alphafold_full_db.sh --fasta_paths=${HPC_ALPHAFOLD_REF}/test.fasta --output_dir=~/scratch --max_template_date=2020-05-14 --use_gpu_relax=1 | ||
+ | date | ||
+ | </pre> | ||
+ | </div> | ||
+ | </div> | ||
|}} | |}} | ||
<!--Job Scripts--> | <!--Job Scripts--> | ||
Line 42: | Line 91: | ||
|}} | |}} | ||
<!--Policy--> | <!--Policy--> | ||
− | {{#if: {{#var: policy}}|==Usage | + | {{#if: {{#var: policy}}|==Usage Example== |
+ | |||
+ | To simplify the usage use the 'alphafold_full_db.sh' script. Simple run example: | ||
− | + | alphafold_full_db.sh --fasta_paths=${HPC_ALPHAFOLD_REF}/test.fasta --output_dir=~/scratch --max_template_date=2020-05-14 --use_gpu_relax=1 | |
+ | |||
+ | From version 2.3, the AlphaFold documentation recommends running as Docker container. However, Docker is not compatible with the HPC. AlphaFold has been installed as an apptainer container and | ||
+ | the alphafold_full_db.sh wrapper script has been created to mimic the behavior of docker/run_docker.py as referenced in the AlphaFold documentation. alphafold_full_db,sh will specify the database location options required by alphafold. | ||
+ | |||
+ | To specify these options manually, use run_alphafold.sh instead. | ||
+ | |||
+ | If using the --model_preset=multimer option, use the alphafold_multimer_db.sh launch script instead. Example: | ||
+ | |||
+ | alphafold_multimer_db.sh --model_preset=multimer --fasta_paths=${HPC_ALPHAFOLD_REF}/test.fasta --output_dir=~/scratch --max_template_date=2020-05-14 --use_gpu_relax=1 | ||
|}} | |}} | ||
Line 59: | Line 119: | ||
{{#if: {{#var: citation}}|==Citation== | {{#if: {{#var: citation}}|==Citation== | ||
If you publish research that uses {{#var:app}} you have to cite it as follows: | If you publish research that uses {{#var:app}} you have to cite it as follows: | ||
− | + | <div class="mw-collapsible mw-collapsed" style="width:70%; padding: 5px; border: 1px solid gray;"> | |
+ | ''Expand this section to view citation instructions.'' | ||
+ | <div class="mw-collapsible-content" style="padding: 5px;"> | ||
@Article{AlphaFold2021, | @Article{AlphaFold2021, | ||
author = Jumper, John and Evans, Richard and Pritzel, Alexander and Green, Tim and Figurnov, Michael and Ronneberger, Olaf | author = Jumper, John and Evans, Richard and Pritzel, Alexander and Green, Tim and Figurnov, Michael and Ronneberger, Olaf | ||
Line 74: | Line 136: | ||
https://www.nature.com/articles/s41586-021-03819-2 | https://www.nature.com/articles/s41586-021-03819-2 | ||
− | + | </div> | |
− | + | </div> | |
<!--Installation--> | <!--Installation--> |
Latest revision as of 15:38, 2 February 2024
Description
This package provides an implementation of the inference pipeline of AlphaFold v2.3. This is a completely new model that was entered in CASP14 and published in Nature. For simplicity, we refer to this model as AlphaFold throughout the rest of this document.
Environment Modules
Run module spider alphafold
to find out what environment modules are available for this application.
Additional Information
Note that Alphafold has large memory requirements and some of its stages use 4 or 8 CPUs in addition to a GPU. An example job script for a run with the test data included with the software is shown below.
Expand this section to view sample script for version 2.1.2.
#!/bin/bash #SBATCH --partition=gpu #SBATCH --constraint=ai #SBATCH --nodes=1 #SBATCH --ntasks=8 #SBATCH --gpus=1 #SBATCH --mem=48gb #SBATCH --time=12:00:00 date;hostname;pwd run_alphafold.py \ --data_dir "${HPC_ALPHAFOLD_REF}" \ --output_dir $(pwd) \ --fasta_paths query.fasta \ --uniref90_database_path=${HPC_ALPHAFOLD_REF}/uniref90/uniref90.fasta \ --mgnify_database_path=${HPC_ALPHAFOLD_REF}/mgnify/mgy_clusters_2018_12.fa \ --template_mmcif_dir=${HPC_ALPHAFOLD_REF}/pdb_mmcif/mmcif_files \ --max_template_date=2020-05-14 \ --obsolete_pdbs_path=${HPC_ALPHAFOLD_REF}/pdb_mmcif/obsolete.dat \ --use_gpu_relax=1 \ --bfd_database_path=${HPC_ALPHAFOLD_REF}/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt \ --uniclust30_database_path=${HPC_ALPHAFOLD_REF}/uniclust30/uniclust30_2018_08/uniclust30_2018_08 \ --pdb70_database_path=${HPC_ALPHAFOLD_REF}/pdb70/pdb70 date
Expand this section to view sample script for version 2.3.1.
#!/bin/bash #SBATCH --partition=gpu #SBATCH --constraint=a100 #SBATCH --nodes=1 #SBATCH --ntasks=8 #SBATCH --gpus=1 #SBATCH --mem=300gb #SBATCH --time=96:00:00 date;hostname;pwd module load alphafold alphafold_full_db.sh --fasta_paths=${HPC_ALPHAFOLD_REF}/test.fasta --output_dir=~/scratch --max_template_date=2020-05-14 --use_gpu_relax=1 date
Usage Example
To simplify the usage use the 'alphafold_full_db.sh' script. Simple run example:
alphafold_full_db.sh --fasta_paths=${HPC_ALPHAFOLD_REF}/test.fasta --output_dir=~/scratch --max_template_date=2020-05-14 --use_gpu_relax=1
From version 2.3, the AlphaFold documentation recommends running as Docker container. However, Docker is not compatible with the HPC. AlphaFold has been installed as an apptainer container and the alphafold_full_db.sh wrapper script has been created to mimic the behavior of docker/run_docker.py as referenced in the AlphaFold documentation. alphafold_full_db,sh will specify the database location options required by alphafold.
To specify these options manually, use run_alphafold.sh instead.
If using the --model_preset=multimer option, use the alphafold_multimer_db.sh launch script instead. Example:
alphafold_multimer_db.sh --model_preset=multimer --fasta_paths=${HPC_ALPHAFOLD_REF}/test.fasta --output_dir=~/scratch --max_template_date=2020-05-14 --use_gpu_relax=1
Citation
If you publish research that uses alphafold you have to cite it as follows:
Expand this section to view citation instructions.
@Article{AlphaFold2021, author = Jumper, John and Evans, Richard and Pritzel, Alexander and Green, Tim and Figurnov, Michael and Ronneberger, Olaf and Tunyasuvunakool, Kathryn and Bates, Russ and {\v{Z{\'\i}dek, Augustin and Potapenko, Anna and Bridgland, Alex and Meyer, Clemens and Kohl, Simon A A and Ballard, Andrew J and Cowie, Andrew and Romera-Paredes, Bernardino and Nikolov, Stanislav and Jain, Rishub and Adler, Jonas and Back, Trevor and Petersen, Stig and Reiman, David and Clancy, Ellen and Zielinski, Michal and Steinegger, Martin and Pacholska, Michalina and Berghammer, Tamas and Bodenstein, Sebastian and Silver, David and Vinyals, Oriol and Senior, Andrew W and Kavukcuoglu, Koray and Kohli, Pushmeet and Hassabis, Demis}, journal = {Nature}, title = {Highly accurate protein structure prediction with {AlphaFold}}, year = {2021}, doi = {10.1038/s41586-021-03819-2}, note = {(Accelerated article preview)},
https://www.nature.com/articles/s41586-021-03819-2