-
Notifications
You must be signed in to change notification settings - Fork 0
Tutorial 2 Input customization
AlphaFold uses structure templates to refine the predictions obtained from MSA data. The original pipeline does not distinguish between templates in different conformational states. Leading to targets characterized by multiple conformations to be modelled only in one state.
G-protein coupled receptors, like CXCR4, are characterized by their plasiticty. They can assume two main conformations: an active state responsible for singlaing transduction, and an inactive state. Modelling specific conformations of the receptor is of great interest both for structural biology, and for drug discovery.
Selecting templates in a specific activation state has been shown to be a necessary step to model state specific conformations of proteins.
In this tutorial you will learn how to use the different options of LIT-AlphaFold for input customization. This tutorial will use the results from Tutorial 1 as a starting point. Currently LIT-AlphaFold supports two types of template customization:
- Filtering of template hits, the templates are filtered based on user-defined criteria.
- Custom databases, the structure search is performed using templates given by the users, instead of the generic structural database.
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.
This approach uses the templates obtained from the database search (local or MMseqs2) and then filters them. The filter is a yaml file containg the user-defined features. Currently LIT-AlphaFold supports filtering based on PDB ID code and based on annotation in online structural databases.
Template structures can be filtered based on their PDB ID. Currently it is possible to exclude specific structural entries using the field excluded_pdb, or using only specific templates using the field subset_pdb. We generate two different monomer files of CXCR4, one icluding the structure of the vCCL2 - CXCR4 complex (PDB ID: 4RWS), and one using only the vCCl2 - CXCR4 complex's structure as template.
The file vchemokine_filter.yaml selecting only the 4RWS templates is written as:
'subset_pdb': [4RWS]
The file no_vchemokine_filter.yaml removing the 4RWS templates is written as:
'excluded_pdb': [4RWS]
python $LITAF/create_individual_features.py \
fasta_paths=[cxcr4.fasta] \
output_dir=protein_features_local \
run=mmseqs2 \
template_filters=[vchemokine_filter.yaml,no_vchemokine_filter.yaml]The result are the files 'CXCL12_vchemokine_filter.pkl' and 'CXCL12_no_vchemokine_filter.pkl'.
The conformational state of memebrs of certain protein families was already determined and annotated, and the results are available in online databases. LIT-AlphaFold allows to query these online resources to filter the templates used by AlphaFold for prediction.
Currently LIT-AlphaFold support filters based on GPCRdb annotations. Further information on filtering using GPCRdb annotations or other databases are given in Tutorial 2.5. We will prepare two monomer files using only active state templates, and inactive state templates. The .yaml file searching for active state structure, called active_state.yaml, is written as:
'database': 'GPCRdb_r'
'state': ['Active']
The .yaml file searching for inactive state structure, called inactive_state.yaml, is written as:
'database': 'GPCRdb_r'
'state': ['Inactive']
python $LITAF/create_individual_features.py \
fasta_paths=[cxcr4.fasta] \
output_dir=protein_features_local \
run=mmseqs2 \
template_filters=[active_state.yaml,inactive_state.yaml]The results are the files CXCR4_active_state.pkl and CXCR4_inactive_state.pkl.
NOTE: In case the filtering is performed on MMseqs2 results it will be limited only to the twenty downloaded structures.
NOTE: The name of the monomer file generated after filtering is formed by the original name of the monomer followed by the name of the filter file. Please be carefull when naming your filter files.
Rather than selecting already available structural templates you might be interested in using user-defined structural templates. This has multiple advantages:
- Limiting the template search to a smaller database.
- Using annotated templates with specific features not described by an online databses.
- Using unpublished experimental structures or templates obtained using in silico modelling (molecular dynamics, AlphaFold models, etc.)
To do so we create a folder containing the selected templates as .pdb files. LIT-AF will automatically convert them in the appropriate .mmcif format and prepare the files for sequence search. .mmcif files can also be used directly as input, however they should be compatible with the format used by AlphaFold. It is important to give to all the files a 4 character alphanumeric name, with only lowercase letters, followed by the file extension. These template file can contain multiple chains.
In this example we used multiple strucural templates of CXCR4 bound to the small molecule ligand It1t. The structures were extracted from a molecular dynamics simulation hosted on GPCRmd(ID: 10981). The structures are stored in the 'MD_templates' folder.
The structures were generated using cpptraj and the trajectory_frames.cpptraj file
parm 10987_dyn_103.psf
trajin 10981_trj_103.xtc 1 1000 200
strip :TIP3,ITD,POPC
strip :SOD,CLA
trajout MD_templates/3ODU.pdb pdb multi pdbv3 chainid
run
mkdir MD_templates
cpptraj -i trajectory_frames.cpptraj
for i in 1 2 3 4 5
do
mv MD_templates/3ODU.pdb.${i} MD_templates/3od${i}.pdb
donepython $LITAF/create_individual_features.py \
fasta_paths=[cxcr4.fasta] \
output_dir=protein_features_local \
run=mmseqs2 \
db.custom_template_path=MD_templatesThe results will be saved in the file CXCR4_MD_templates.pkl.
In this tutorial you have learned how to customize your inputs using LIT-AF by filtering database results or by building a user defined database.
- 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