-
Clone the repository
git clone --recursive https://github.com/isblab/af_pipeline.git
If cloned without
--recursiveflag, do the following.git submodule init git submodule update
-
Run
setup.pypython setup.py
AF-Pipeline is a package to assist in AlphaFold21 and AlphaFold32 related tasks. These include:
- Creating input files for prediction (for AlphaFold server3 or AlphaFold21 or Colabfold4)
- Ranking the predictions based on confidence metrics
- Extracting confidently predicted regions from the predictions (based on pae_to_domains5 package by Tristan Croll)
- Extracting interacting regions from the predictions
The workflow for the entire pipeline can be viewed here.
See also:
-
Refer to the scripts available in the examples directory. Before running the scripts, make sure you unzip
AF_predictions.zipunzip ./input/AF_predictions.zip -d input/
-
Create
JSONjob files for AlphaFold server 3.python create_af_jobs.py \\ -i ./input/config.yaml \\ -o ./output/af_input_jobs \\ -p ./input/protein_sequences.fasta \\ -n ./input/nucleic_acid_sequences.fasta \\ -t AF3 # you can replace this with AF2 or ColbFold
-
Upload the
JSONfiles to AlphaFold server 3 and download and extract the results. -
Rank the output predictions.
python rank_af_predictions.py \\ -i ./output/af_input_jobs.json \\ -o ./output \\ -t AF3 \\ --pred_dirs ./input/AF_predictions/AF3
-
Extract interacting patches from the predictions.
python extract_interacting_patches.py \\ --i ./input/best_af_predictions.json \\ --o ./output/interacting_patches \\ --interaction_pae_cutoff 5.0 \\ --plddt_cutoff 70.0 \\ --contact_threshold 8.0
-
Extract confidently predicted regions from the predictions.
python extract_rigid_bodies.py \\ -i ./input/best_af_predictions.json \\ -o ./output/rigid_bodies \\ --apply_plddt_filter True
graph TD
A([Create job files for AlphaFold Server]) e1@--> B[[AlphaFoldServer]]
click B "af_pipeline/af_input/alphafold3.html#AlphaFoldServer" "AlphaFoldServer" _blank
B e2@--> C[/Input FASTA or JSON files for AlphaFold/] e3@--> D[\Submit jobs to AlphaFold server/]
click D "https://alphafoldserver.com" "alphafoldserver" _blank
D e4@--> E[/Output files from AlphaFold server/]
E e16@--> R[[RankAF3JobSet]]
click R "af_pipeline/rank_predictions/rank_af.html#RankAF3JobSet" "RankAF3JobSet" _blank
R e17@--> S[/best prediction/]
S e5@--> F[[Initialize]]
click F "af_pipeline/parser/initialize.html#Initialize" "Initialize" _blank
F e6@--> G[[RigidBodies]]
click G "af_pipeline/rigid_bodies/rigid_bodies.html#RigidBodies" "RigidBodies" _blank
F e7@--> H[[Interaction]]
click H "af_pipeline/interaction/interaction.html#Interaction" "Interaction" _blank
G e8@--> I[extract_rigid_bodies]
click I "af_pipeline/rigid_bodies/rigid_bodies.html#RigidBodies.extract_rigid_bodies" "extract_rigid_bodies" _blank
N e9@--> J[save_rigid_bodies]
click J "af_pipeline/rigid_bodies/rigid_bodies.html#RigidBodies.save_rigid_bodies" "save_rigid_bodies" _blank
N e10@--> K[assess_rigid_bodies]
click K "af_pipeline/rigid_bodies/rigid_bodies.html#RigidBodies.assess_rigid_bodies" "assess_rigid_bodies" _blank
H e11@--> M[save_ppair_interaction]
click M "af_pipeline/interaction/interaction.html#Interaction.save_ppair_interaction" "save_ppair_interaction" _blank
I e12@--> N(["Confidently predicted regions (rigid bodies) from AlphaFold predictions"])
J e13@--> O[/"Output files for rigid bodies (txt/json and pdb)"/]
K e14@--> P[/"Output files for rigid body assessment (xlsx)"/]
M e15@--> Q[/"Output files for interacting patches (xlsx and plots)"/]
classDef animate stroke-dasharray: 9,5,stroke-dashoffset: 900,animation: dash 25s linear infinite;
class e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15 animate
License: GPLv3
Testable: Yes
Footnotes
-
Jumper, J. et al. Highly Accurate Protein Structure Prediction with Alphafold. Nature 596, 583–589 (2021). ↩ ↩2
-
Abramson, J. et al. Accurate structure prediction of biomolecular interactions with AlphaFold 3. Nature 630, 493–500 (2024). (https://alphafoldserver.com/) ↩
-
AlphaFold Server. alphafoldserver.com. Available at: https://alphafoldserver.com/. ↩ ↩2 ↩3
-
Mirdita, M. et al. ColabFold: making protein folding accessible to all. Nature Methods 19, 679–682 (2022). (https://colab.research.google.com/github/sokrypton/ColabFold/blob/main/AlphaFold2.ipynb) ↩
-
pae_to_domains: Graph-based community clustering approach to extract protein domains from a predicted aligned error matrix. Tristan Croll (https://github.com/tristanic/pae_to_domains) ↩
