-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial 4 Multistate predictions
One of the limits of AlphaFold is its inability to model different conformational states. This limits its application to targets with a conformational landscape characterized by the existance of distinct states. GPCRs in particular present two biologically relevant conformations: an active state, and an inactive state.
Currently multiple methods have been proposed to model specific conformational states of a target protein, with a particular focus on GPCRs. Some of these proposed methods are implemented in LIT-AlphaFold:
In this tutorial you will try to model different conformational states of CXCR4. To do so the results from Tutorial 1 (CXCR4.pkl) and Tutorial 2 (CXCR4_active_state.pkl, and CXCR4_inactive_state.pkl) will be used.
NEW: Starting from LIT-AlphaFold 1.1.0 the script inputs and some of the input files have been changed to use hydra to handle configurations, and structured .in.yaml file have replaced the unstructured .in input files.
AlphaFold-Multistate generates structures in a specific conformational states in GPCRs by forcing AlphaFold to use only state specific templates and a modified MSA for predition. In the MSA all positions already covered by at least one template are replaced by a spacer (-) character. Removing the coevolutionary information in that postion forces AlphaFold to relay more on the templates structure information.
In LIT-AlphaFold the same outcome is obtained by using input monomer files containing only templates in a specific activation state, as CXCR4_active_state.pkl and CXCR4_inactive_state.pkl. The MSA information already covered by the templates is removed using the command remove_msa_templates in the input file or by setting the argument remove_template_msa to True in the run_multimer_jobs.py script.
NOTE: AlphaFold is formed by five different models, however only two of them use tempalte information for prediction. To save time LIT-AlphaFold allows to only use the two models realying on templates for calculation. To do so the argument only_template in run_multimer_jobs.py has to be set to True.
The same results is obtained using the three different methods:
- By using the predefined configuration for AlphaFold-Multistate
---
- CXCR4_active_state
---
- CXCR4_inactive_state
python $LITAF/run_multimer_jobs.py \
run=af_multistate \
output_path=test_structure \
monomer_objects_dir=[../tutorial_1_2/protein_features_mmseqs2] \
input_file=[monomer_annotated.in.yaml] \- By removing MSA information only from specific targets
---
- {protein_name: CXCR4_active_state, remove_msa_templates: True}
---
- {protein_name: CXCR4_inactive_state, remove_msa_templates: True}
This approach is more flexible, allowing to evalaute multiple methods in a single input file. In the example below calculations are performed using AlphaFold-Multistate and by using inputs with state specific templates.
---
- {protein_name: CXCR4_active_state, remove_msa_templates: True}
---
- {protein_name: CXCR4_inactive_state, remove_msa_templates: True}
---
- CXCR4_active_state
---
- CXCR4_inactive_state
REFERENCE: HEO, Lim; FEIG, Michael. Multi‐state modeling of G‐protein coupled receptors at experimental accuracy. Proteins: Structure, Function, and Bioinformatics, 2022, 90.11: 1873-1885.doi: 10.1002/prot.26382
af2_conformations aims at exploring a larger conformational space by subsampling the MSA at inference time. In this way each time calculations are run a different part of the MSA is used for prediction, leading to more diversity between the predicted structures. Both active and inactive state structures could be generated this way, however the method is not deterministic and it is not possible to specify the desired activation state beforehand.
Based on the results from Del Alamo et al. the best results were obtained with a 8:16 or 16:32, MSA:extra_MSA sequences values. The input does not require objects with annotated templates as in monomer_CXCR4.in.
By using af_conformations it is recomended to run the calculations multiple time to increase the probability of obtaining the desired results. In the example calculations are repeated 5 times.
- CXCR4
python $LITAF/run_multimer_jobs.py \
run=af_conformations \
output_path=test_structure \
monomer_objects_dir=../tutorial_1_2/protein_features_mmseqs2 \
input_file=[monomer_annotated.in.yaml] \REFERENCE: DEL ALAMO, Diego; SALA, Davide; MCHAOURAB, Hassane S; MEILER, Jens Sampling alternative conformational states of transporters and receptors with AlphaFold2 eLife 11:e75751, 2022 doi: 10.7554/eLife.75751
AF2_GPCRs_kinases combines elements from both AlphaFold-Multistate and af2_conformations. The method relays on state specific templates to bias the generated structures towards a specific target, and on MSA subsampling to limit the influence of the MSA, instead of completely or partially removing it.
In this case the input is formed by monomers with annotated tempates as in monomer_annotated.in
---
- CXCR4_active_state
---
- CXCR4_inactive_state
python $LITAF/run_multimer_jobs.py \
run=af2_gpcr_kinase \
output_path=test_structure \
monomer_objects_dir=../tutorial_1_2/protein_features_mmseqs2 \
input_file=monomer_annotated.in.yaml \REFERENCE: SALA Davide; HILDEBRAND Peter W.; and MEILER Jens Biasing AlphaFold2 to predict GPCRs and kinases with user-defined functional or structural properties. Frontiers Molecular Biosciences, 2023, 10:1121962.doi: 10.3389/fmolb.2023.1121962
NOTE: This method has not been tested and it is reported since its code is implemented in LIT-AlphaFold.
SPEACH_AF relays on in silico mutations in the MSA to force AlphaFold to explore alternative conformations of the target protein. By mutating residue at the interfece of a contact surface between two different domains of the protein, it is possible to obtain a new relative conformation for the two domains.
Acceptable mutations are the uppercase one letter code for aminoacids ACDEFGHIKLMNPQRSTVWY and the - indicating a spacer.
LIT-AF allows to apply mutations to specific proteins in the input file using the keyword mutate_msa, or by passing to run_multimer_jobs.py a file containing the mutations using the argument mutate_msa_file, in this case all target proteins are mutated in those positions.
- Monomer specific mutations The mutations are specified in the input file for each monomer
- {protein_name: CXCR4, mutate_msa: {1:A,250:-,300:D}
In this case the MSA will be mutated setting all residues in position 1 to alanine, 250 to the spacer character, and 300 to aspartic acid. Calculations can then be run normally as in Tutorial 3.
REFERENCE: STEIN, Richard A.; MCHAOURAB, Hassane S. SPEACH_AF: Sampling protein ensembles and conformational heterogeneity with Alphafold2. PLOS Computational Biology, 2022, 18.8: e1010483. doi: 10.1371/journal.pcbi.1010483
NOTE: This method has not been tested and it is reported since its code is partially implemented in LIT-AlphaFold.
AF_Cluster relays on clustering of the MSA by sequence similarity to sample different conformational states of the target protein. Currently it has only been applied to metamorphic proteins.
The MSA is clustered using density based clustering (DBSCAN), for more information about the clustering algorithm and the role of different parameters please refer to the sklearn documentation.
To generate MonomericObjects with clustered MSA a jupyter notebook has been made available (LIT-AF_Cluster.ipynb) in this repository. The notebook has been developed for local use and requires to first generate a .pkl MonomericObject using create_individual_features.py for the target protein. The generated MonomericObject can be used for calculation with LIT-AlphaFold as explained in Tutorial 3
REFERENCE: WAYMENT-STEELE, Hannah; et al. Predicting multiple conformations via sequence clustering and AlphaFold2. Nature, 2024, 625, 832–839. doi: 10.1038/s41586-023-06832-9
In this tutorial you have learned how to run multistate monomer predictions using LIT-AF.
- Introduction
- Tutorials
- Tutorial 0: Introduction and Environment variables
- Tutorial 1: Input generation
- Tutorial 2: Input customization
- Tutorial 2.5: Database query
- Tutorial 3: Monomer predictions
- Tutorial 3.5: Prediction parameters
- Tutorial 4: Multistate predictions
- Tutorial 4.5: Additional features
- Tutorial 5: Multimer predictions
- Tutorial 5.5: AlphaFold-unmasked