diff --git a/education/HADDOCK24/HADDOCK24-protein-glycan/2ZEX.png b/education/HADDOCK24/HADDOCK24-protein-glycan/2ZEX.png
new file mode 100644
index 00000000..6db62945
Binary files /dev/null and b/education/HADDOCK24/HADDOCK24-protein-glycan/2ZEX.png differ
diff --git a/education/HADDOCK24/HADDOCK24-protein-glycan/HADDOCK2.4-protein-glycan.zip b/education/HADDOCK24/HADDOCK24-protein-glycan/HADDOCK2.4-protein-glycan.zip
new file mode 100644
index 00000000..98bbe0dd
Binary files /dev/null and b/education/HADDOCK24/HADDOCK24-protein-glycan/HADDOCK2.4-protein-glycan.zip differ
diff --git a/education/HADDOCK24/HADDOCK24-protein-glycan/glycan_2zex_comparison.png b/education/HADDOCK24/HADDOCK24-protein-glycan/glycan_2zex_comparison.png
new file mode 100644
index 00000000..cffd4441
Binary files /dev/null and b/education/HADDOCK24/HADDOCK24-protein-glycan/glycan_2zex_comparison.png differ
diff --git a/education/HADDOCK24/HADDOCK24-protein-glycan/index.md b/education/HADDOCK24/HADDOCK24-protein-glycan/index.md
new file mode 100644
index 00000000..75d2c0be
--- /dev/null
+++ b/education/HADDOCK24/HADDOCK24-protein-glycan/index.md
@@ -0,0 +1,548 @@
+---
+layout: page
+title: "HADDOCK2.4 basic protein-glycan modelling tutorial"
+excerpt: "A webserver-based tutorial describing the use of HADDOCK2.4 to model a protein-glycan interaction"
+tags: [HADDOCK, docking, analysis, protein-glycan]
+image:
+ feature: pages/banner_education-thin.jpg
+---
+This tutorial consists of the following sections:
+
+* table of contents
+{:toc}
+
+
+
+
+## Introduction
+
+This tutorial demonstrates the use of HADDOCK2.4 for predicting
+the structure of a protein-glycan complex using information about the protein binding site. You can check the highly related [HADDOCK3 protein-glycan tutorial](../../HADDOCK3/HADDOCK3-protein-glycan/index.md) for a command-line-based, HADDOCK3 version of the tutorial.
+
+A glycan is a molecule composed of different monosaccharide units, linked to each other
+by glycosidic bonds. Glycans are involved in a wide range of biological processes, such as
+cell-cell recognition, cell adhesion, and immune response. Glycans are highly diverse and complex
+in their structure, as they can involve multiple *branches* and different *linkages*, namely different ways
+in which a glycosidic bond can connect two monosaccharides. This complexity together with their flexibility
+makes the prediction of protein-glycan interactions a challenging task.
+
+In this tutorial we will be working with *Family 16 Cabohydrate Binding Domain Module 1* of the *Caldanaerobius polysaccharolyticus* thermophile
+(PDB code [2ZEW](https://www.ebi.ac.uk/pdbe/entry/pdb/2ZEW){:target="_blank"}) and a linear homopolymer,
+*5-beta-glucopyranose*, as glycan
+(PDB code of the complex [2ZEX](https://www.ebi.ac.uk/pdbe/entry/pdb/2ZEX){:target="_blank"}).
+
+
+
+
+
+ Picture of the protein-glycan complex in PDB ID 2ZEX
+
+
+
+Throughout the tutorial, colored text will be used to refer to questions or instructions, and/or PyMOL commands.
+
+This is a question prompt: try answering it!
+This an instruction prompt: follow it!
+This is a PyMOL prompt: write this in the PyMOL command line prompt!
+
+
+
+
+## Requirements and Setup
+
+In order to run this tutorial you will need to have the following software installed: [PyMOL][link-PyMOL].
+
+Also, if not provided with special workshop credentials to use the HADDOCK portal, make sure to register in order to be able to submit jobs. Use for this the following registration page: [https://wenmr.science.uu.nl/auth/register/haddock](https://wenmr.science.uu.nl/auth/register/haddock){:target="_blank"}.
+
+Further we are providing pre-processed PDB files for docking and analysis. For this _download and unzip the following_ [zip archive](/education/HADDOCK24/HADDOCK24-protein-glycan/HADDOCK2.4-protein-glycan.zip){:target="_blank"}
+_and note the location of the extracted PDB files in your system_.
+Once unzipped, you should find the following files:
+
+* `2ZEW_clean.pdb`: Contains the pre-processed PDB file of the protein in the unbound form
+* `2ZEX_l_u.pdb`: contains the glycan structure in the unbound form
+* `2ZEX_target.pdb`: the target structure of the complex
+
+For more information about HADDOCK and its protocol please have a look at the [HADDOCK general concepts](https://www.bonvinlab.org/education/HADDOCK24/HADDOCK24-antibody-antigen/#haddock-general-concepts).
+
+For more information about preprocessing PDB files to use in HADDOCK, please have a look at the [HADDOCK3 protein-glycan tutorial](../../HADDOCK3/HADDOCK3-protein-glycan/index.md).
+
+
+
+## Loading the protein structure and inspecting the binding site
+
+As a first step we need a structure of the protein. A crystal structure of the protein in the unbound form is available, but you are welcome to use either the bound form or the [Alphafold structure](https://www.alphafold.ebi.ac.uk/entry/Q9ZA17) if you prefer. The AlphaFold structure is much longer than the considered domain, so it may be useful to remove the non-relevant residues.
+
+Just remember that the quality of the resulting models will depend on the quality of the input structures.
+
+Let's have a look at the protein in PyMOL. Start PyMOL and load the PDB file of the unbound protein:
+
+
+File menu -> Open -> select 2ZEW_clean.pdb
+
+
+Alternatively, you can directly fetch the structure from the PDB database using PyMOL:
+
+
+fetch 2ZEW
+
+
+
+Can you already identify a possible binding site for a long, linear, unbranched glycan?
+
+
+Here we assume that we have enough information about the glycan binding site on the protein, but no knowledge about which monosaccharide units are relevant for the binding. In this case (see the figure above), all the five monosaccharide units are at the interface, although this might not be true in general, especially when longer glycans are considered.
+
+The residues corresponding to the glycan binding site on the protein (calculated from the crystal structure of the complex) are:
+
+
+ Comparison between the bound (light blue) and modelled (pink) glycan conformations.
+
+
+
+The two structures are pretty close to each other... Let us next see if HADDOCK can generate a reasonable model of the interaction!
+
+
+
+
+## Protein-glycan docking with HADDOCK
+
+### Registration / Login
+
+In previous steps we have inspected the binding site on the protein. For the glycan, we assume that we have no information about which monosaccharides interact with the protein.
+
+If not provided with special workshop credentials, in order to start the submission you need first to register. For this go to [https://wenmr.science.uu.nl/haddock2.4/](https://wenmr.science.uu.nl/haddock2.4/){:target="_blank"} and click on **Register**.
+
+To start the submission process, you are prompted for our login credentials. After successful validation of the credentials you can proceed to the structure upload under **Submit a new job**.
+
+**Note:** The blue bars on the server can be folded/unfolded by clicking on the arrow on the left
+
+### Submission and analysis of structures
+
+We will make use of the [HADDOCK 2.4 interface](https://wenmr.science.uu.nl/haddock2.4/submit/1){:target="_blank"} of the HADDOCK web server.
+
+In this stage of the submission process we will upload the provided, pre-processed PDB structures.
+
+* **Step 1:** Define a name for your docking run in the field "Job name", e.g. *2zex-protein-glycan*.
+
+* **Step 2:** Select the number of molecules to dock, in this case the default *2*.
+
+* **Step 3:** Input the first protein PDB file. For this, unfold the **Molecule 1 - input** if not already unfolded.
+
+
+First molecule: where is the structure provided? -> "I am submitting it"
+
+
+Which chain to be used? -> All
+
+
+PDB structure to submit -> Browse and select *2ZEW_clean.pdb*
+
+
+What kind of molecule are you docking? --> Protein or Protein-Ligand
+
+
+**Note:** Leave all other options to their default values.
+
+* **Step 4:** Input the second PDB file. For this, unfold the **Molecule 2 - input** if not already unfolded.
+
+
+First molecule: where is the structure provided? -> "I am submitting it"
+
+
+Which chain to be used? -> All
+
+
+PDB structure to submit -> Browse and select *2ZEX_l_u.pdb*
+
+
+What kind of molecule are you docking? --> Glycan
+
+
+* **Step 5:** Click on the **Next** button at the bottom left of the interface. This will upload the structures to the HADDOCK webserver where they will be processed and validated (checked for formatting errors). The server makes use of [Molprobity](htts://molprobity.biochem.duke.edu/){:target="_blank"} to check side-chain conformations, eventually swap them (e.g. for asparagines) and define the protonation state of histidine residues.
+
+### Definition of interfaces to guide the docking
+
+If everything went well, the interface window should have updated itself and it should now show the list of residues for molecules 1 and 2. We will be making use of the text boxes below the residue sequence of every molecule to specify the list of active residues to be used for the docking run.
+
+* **Step 6:** Specify the active residues for the first molecule. For this, unfold the "Molecule 1 - parameters" if not already unfolded.
+
+
+Active residues (directly involved in the interaction) -> 23,24,80,82,84,96,98,100,124,126,128
+
+
+Then uncheck the option to automatically define passive residues: in our case we are defining the whole protein pocket as active, and the glycan will be defined as passive only, so this is not required.
+
+Automatically define passive residues around the active residues -> **uncheck** (checked by default)
+
+
+By default HADDOCK will automatically filter our residues that have a relative solvent surface accessibility below 15%. This is a good default strategy, but in our case it can lead to sub-optimal results, as a few residues are buried in the protein core but still part of the pocket (for example, check Valine 82). We will therefore disable this option.
+
+Remove buried active/passive residues from selection
+ -> **uncheck** (checked by default)
+
+
+Click on the Visualize residues button and make sure all the binding site residues have been selected. They should be highlighted in red, to indicate that they are selected as active.
+
+
+* **Step 7:** Specify the residues for the second molecule. For this, unfold the "Molecule 2 - parameters" if not already unfolded.
+
+Here we want to select the full glycan as passive, as we do not know whether all the monosaccharide units take part in the interaction.
+
+Automatically define passive residues around the active residues -> **uncheck** (checked by default)
+
+
+Click on the sequence (XXXXX) box to select the whole sequence of the glycan.
+
+
+This should automatically add the 5 glycan residues (1,2,3,4,5) to the passive residues box.
+
+
+Click on the Visualize residues button and make sure all the glycan monosaccharide units have been selected. They should be highlighted in green to indicate that they are selected as passive.
+
+
+### Docking parameters for protein-glycan modelling
+
+* **Step 8:** Click on the **Next** button on the bottom of the page.
+
+Here we will tweak a few parameters to make the docking more accurate.
+
+**Sampling parameters** : Here we will remove the final refinement step, as, as in the case of small ligands, it is not recommended for this type of molecules.
+
+Sampling parameters -> Perform final refinement -> **uncheck** (checked by default)
+
+
+**Clustering parameters**: HADDOCK uses by default FCC clustering to cluster docking models. For protein glycan docking, this is not the best option, as different models can have very similar contacts. RMSD-based clustering is more appropriate in this case.
+
+If not already done automatically, we should change the followin clustering parameters
+
+Clustering method -> RMSD
+
+RMSD cutoff -> 2.5
+
+
+**Scoring parameters**: here we should modify the weight of the van der Waals component of the HADDOCK score at the rigidbody stage to 1.0 instead than the default 0.01. This is in agreement with the settings used for protein-small molecules docking in HADDOCK2.4, as explained in [Journal of Computer-Aided Molecular Design, 2019](https://link.springer.com/article/10.1007/s10822-019-00244-6) and also applied to protein-glycan docking.
+
+Scoring parameters -> Evdw 1 -> 1.0
+
+
+The interface allows us to download the input structures of the docking run (in the form of a tgz archive) and a haddockparameter file which contains all the settings and input structures for our run (in json format). We strongly recommend downloading this file as it will allow you to repeat the run by uploading it into the file upload interface of the HADDOCK webserver. The haddockparameter file also serves as a run input reference. It can be edited to change a few parameters and repeat the run without going through the whole menu process again.
+
+* **Step 9:** Click on the "Submit" button at the bottom left of the interface.
+
+Upon submission you will be presented with a web page which also contains a link to the previously mentioned haddockparameter file as well as some information about the status of the run.
+
+Currently your run should be queued but eventually its status will change to "Running":
+
+The page will automatically refresh and the results will appear upon completion of the run (which can take between 1/2 hour to several hours depending on the size of your system and the load of the server). You will be notified by email once your job has successfully completed.
+
+If you do not wish to wait for the run to finish, you can find the results of the run [at this link](https://rascar.science.uu.nl/haddock2.4/result/4242424242/488462-2zex-modeling).
+
+
+
+
+## Analysis of docking results
+
+
+
+### Inspecting the results page of the docking run
+
+Once your run has completed you will be presented with a result page showing the cluster statistics and some graphical representation of the data (and if registered, you will also be notified by email).
+
+In case you do not want to wait for your runs to be finished, a precalculated run can be found [here](https://rascar.science.uu.nl/haddock2.4/result/4242424242/488462-2zex-modeling).
+
+Inspect the result page
+
+How many clusters are generated?
+
+In the figure below you can see different parts of the result page.
+
+**In A** the result page reports the number of clusters and for the top 10 clusters also the related statistics (HADDOCK score, Size, RMSD, Energies, BSA and Z-score).
+
+While the name of the clusters is defined by their size (cluster 1 is the largest, followed by cluster 2 etc..) the top 10 clusters are selected and sorted according to the average HADDOCK score of the best 4 models of each cluster, from the lowest (best) HADDOCK score to the highest (worst).
+
+**In B** the visualization option of the various models is shown. You can visualize online a model by clicking on the **eye** icon, or download those for further analysis.
+
+Toggle the Surface or the Line buttons to visualize the glycan.
+
+**In C** a view of some graphical representation of the results shown at the bottom of the page under **Model analysis** is shown. Distribution of various measures (HADDOCK score, van der Waals energy, ...) as a function of the Fraction of Common Contact with- and RMSD from the best generated model (the best scoring model) are shown. The models are color-coded by the cluster they belong to. You can turn on and off specific clusters, but also zoom in on specific areas of the plot.
+
+**In D** the **Cluster analysis** section shows you the distribution of components of the HADDOCK score (Evdw, Eelec and Edesol) for the various clusters.
+
+
+
+
+
+The ranking of the clusters is based on the average score of the top 4 members of each cluster. The score is calculated as:
+
+
+
+
+Let us now check if the active residues which we have defined (the protein binding site) are actually part of the interface. In the PyMOL command window type:
+
+
+select binding_site, chain A and (resi 23+24+80+82+84+96+98+100+124+126+128) and not 2ZEX_target
+color red, binding_site
+show lines, binding_site
+
+
+
+Are the residues of the binding_site at the interface with the glycan?
+
+
+**Note:** You can turn on and off a model by clicking on its name in the right panel of the PyMOL window.
+
+
+
+ See the overlay of the cluster solution with the lowest lRMSD values (ranked #3) onto the reference crystal structure (in yellow)
+
+
+
+
+
+
+
+
+
+
+## Conclusions
+
+In this tutorial we have demonstrated the use of the HADDOCK 2.4 webserver to predict the structure of a protein-glycan complex using information about the protein binding site. Always check and compare multiple clusters, do not blindly trust the cluster with the best HADDOCK score! We have also discussed the analysis of the docking results and the comparison with the reference structure.
+
+We hope you have enjoyed this tutorial and that you have learned something new. If you have any questions or feedback, please do not hesitate to contact us on the [HADDOCK forum][link-forum]{:target="_blank"}.
+
+
+
+
+## BONUS: Adding pairwise contact information
+
+In the tutorial we used information about the protein binding site to drive the docking. Such information, though, was quite coarse, as we only had a list of residues that were supposed to be part of the binding site.
+
+In this section we will see how you can add more fine-grained information to HADDOCK. As an example, we will assume that we know that a Saturation Transfer Difference (STD) NMR experiment has been performed and that 2 protons give the strongest STD signal with respect to the aromatic residues in the binding site. This means that these two hydrogens are in close contact with the side chains of the two trypthophan residues (TRP23 and TRP128).
+
+In this experiment you would not know which of the two protons interacts with which tryptophan residues.
+
+The two protons are H5 and H4 on the third and fourth monosaccharide, respectively. We're sure about their contacts with the two aromatic residues, so we will add them to the docking run as an unambiguous restraints. By doing this, the restraints will be always enforced, and all our resulting models should be compatible with them.
+
+To add these restraints we have to create a file that contains information about the restraints (table file):
+
+```
+! STD NMR restraints
+assign (resid 3 and name H5 and segid B) ((resid 128 and segid A) or (resid 23 and segid A)) 2.5 2.5 0.00
+assign (resid 4 and name H4 and segid B) ((resid 128 and segid A) or (resid 23 and segid A)) 2.5 2.5 0.00
+```
+
+The first line is a comment. The second and third lines contain the information about the restraints. Between the two parenthesis you can see the selection of the atoms that are restrained: the first atom is the one from the glycan, and the second one is the (ambiguous) selection of the aromatic residues at the protein binding site. The last three numbers are the selected distance, the lower bound and the upper bound of the restraint. The latter is 0.0, thus indicating that any distance larger than 2.5A will be penalized during the docking.
+
+
+
+
+
+ Graphical representation of the interactions between the H4 and H5 protons and the two tryptophan amino acids in the binding site.
+
+
+
+
+Save the above text as a .tbl file (for example named contacts.tbl) in the same directory as the PDB files.
+
+Now let's go back to the HADDOCK webserver and perform the docking again!
+
+* **Step 1:** Go to the HADDOCK webserver and click on **Submit a new job**.
+
+* **Step 2:** repeat steps 1-7 as [before](#submission-and-analysis-of-structures), including the [generation of restraints](#definition-of-interfaces-to-guide-the-docking).
+
+* **Step 3:** In the **Docking parameters** section, you can find the option to upload an unambiguous restraints table file (**You can supply a HADDOCK restraints TBL file with restraints that will always be enforced (unambiguous restraints)**). Upload the `contacts.tbl` file you just created.
+
+* **Step 4:** Adjust the other docking parameters as explained [in the dedicated section of the tutorial](#docking-parameters-for-protein-glycan-modelling).
+
+* **Step 5:** Click on the **Submit** button at the bottom left of the interface.
+
+You can inspect the results of a precalculated run [here](https://rascar.science.uu.nl/haddock2.4/result/4242424242/488508-2zex-modeling-bonus).
+
+How many clusters are generated? Is the first cluster unambiguously better than the second and third ones? Are the HADDOCK scores better than in the previous case?
+
+Can you make an hypothesis about the reason why we have a lower number of clusters than before?
+
+What is the l-RMSD of the best model of the top cluster?
+
+
+
+[air-help]: https://www.bonvinlab.org/software/haddock2.4/airs/ "AIRs help"
+[gentbl]: https://wenmr.science.uu.nl/gentbl/ "GenTBL"
+[haddock24protein]: /education/HADDOCK24/HADDOCK24-protein-protein-basic/
+[haddock-repo]: https://github.com/haddocking/haddock3 "HADDOCK3 GitHub"
+[installation]: https://www.bonvinlab.org/haddock3/INSTALL.html "Installation"
+[link-cns]: https://cns-online.org "CNS online"
+[link-forum]: https://ask.bioexcel.eu/c/haddock "HADDOCK Forum"
+[link-pdbtools]:http://www.bonvinlab.org/pdb-tools/ "PDB-Tools"
+[link-pymol]: https://www.pymol.org/ "PyMOL"
+[nat-pro]: https://www.nature.com/articles/s41596-024-01011-0.epdf?sharing_token=UHDrW9bNh3BqijxD2u9Xd9RgN0jAjWel9jnR3ZoTv0O8Cyf_B_3QikVaNIBRHxp9xyFsQ7dSV3t-kBtpCaFZWPfnuUnAtvRG_vkef9o4oWuhrOLGbBXJVlaaA9ALOULn6NjxbiqC2VkmpD2ZR_r-o0sgRZoHVz10JqIYOeus_nM%3D "Nature protocol"
+[tbl-examples]: https://github.com/haddocking/haddock-tools/tree/master/haddock_tbl_validation "tbl examples"
diff --git a/education/HADDOCK24/HADDOCK24-protein-glycan/model_vs_ref_example_2zex.png b/education/HADDOCK24/HADDOCK24-protein-glycan/model_vs_ref_example_2zex.png
new file mode 100644
index 00000000..5f9011e8
Binary files /dev/null and b/education/HADDOCK24/HADDOCK24-protein-glycan/model_vs_ref_example_2zex.png differ
diff --git a/education/HADDOCK24/HADDOCK24-protein-glycan/protein-glycan-results-page.png b/education/HADDOCK24/HADDOCK24-protein-glycan/protein-glycan-results-page.png
new file mode 100644
index 00000000..5fb0d796
Binary files /dev/null and b/education/HADDOCK24/HADDOCK24-protein-glycan/protein-glycan-results-page.png differ
diff --git a/education/HADDOCK24/HADDOCK24-protein-glycan/std-nmr.png b/education/HADDOCK24/HADDOCK24-protein-glycan/std-nmr.png
new file mode 100644
index 00000000..b31334ec
Binary files /dev/null and b/education/HADDOCK24/HADDOCK24-protein-glycan/std-nmr.png differ
diff --git a/education/HADDOCK24/index.md b/education/HADDOCK24/index.md
index 9bb68e81..7bf849a8 100644
--- a/education/HADDOCK24/index.md
+++ b/education/HADDOCK24/index.md
@@ -51,6 +51,9 @@ In this page you can find links to tutorials on the usage of our software and we
This tutorial demonstrate the modelling of protein-ligand complexes making use the shape-based modelling capabilities of HADDOCK.
It is an advanced tutorial requiring a Linux shell, which, next to using the HADDOCK2.4 webserver, also uses open-source chemoinformatics
toolkits such as [RDKit](https://www.rdkit.org/){:target="_blank"}.
+
+* [**HADDOCK2.4 basic protein-glycan tutorial**](/education/HADDOCK24/HADDOCK24-protein-glycan):
+ This tutorial explains the modelling of protein-glycan complexes using the HADDOCK2.4 webserver and [PyMol](https://www.pymol.org){:target="_blank"} for visualisation/analysis. It is a basic, fully web-based tutorial requiring no Linux expertise.
* [**HADDOCK2.4 ligand binding site tutorial**](/education/HADDOCK24/HADDOCK24-binding-sites):
A tutorial demonstrating the use of HADDOCK in ab-initio mode to screen for potential ligand binding sites.
diff --git a/education/HADDOCK3/HADDOCK3-protein-glycan/index.md b/education/HADDOCK3/HADDOCK3-protein-glycan/index.md
index 4c4ab0c6..82d206a6 100644
--- a/education/HADDOCK3/HADDOCK3-protein-glycan/index.md
+++ b/education/HADDOCK3/HADDOCK3-protein-glycan/index.md
@@ -210,7 +210,7 @@ align 1UU6_l_u, 1UU6
## Defining restraints for docking
-### Visualing the information about the bindind site
+### Visualising the information about the binding site
Here we mimic a scenario where we have information about the glycan binding site on the protein, but no knowledge about which monosaccharide units are relevant for the binding. In this case (see Fig. 1), all the four beta-D-glucopyranose units are at the interface, although this might not be true in general, especially when longer glycans are considered.
diff --git a/publications/index.md b/publications/index.md
index efccc339..d0c7c37f 100644
--- a/publications/index.md
+++ b/publications/index.md
@@ -6,7 +6,9 @@ image:
---
## 2025
-* M. Giulini#, V. Reys#, J.M.C. Teixeira, B. Jiménez-García, R.V. Honorato, A. Kravchenko, X. Xu, R. Versini, A. Engel, S. Verhoevenand **A.M.J.J. Bonvin**. [HADDOCK3: A modular and versatile platform for integrative modelling of biomolecular complexes](https://doi.org/10.1101/2025.04.30.651432). _BioRXiv._ 10.1101/2025.04.30.651432 (2025).
+* A. Kryshtafovych, M. Milostan, M. Lensink, S. Velankar, **A.M.J.J. Bonvin**, J. Moult and K. Fidelis. [Updates to the CASP infrastructure in 2024](https://doi.org/10.22541/au.174646994.49522644/v1). _Authorea_ 10.22541/au.174646994.49522644/v1 (2025)
+
+* M. Giulini#, V. Reys#, J.M.C. Teixeira, B. Jiménez-García, R.V. Honorato, A. Kravchenko, X. Xu, R. Versini, A. Engel, S. Verhoeven and **A.M.J.J. Bonvin**. [HADDOCK3: A modular and versatile platform for integrative modelling of biomolecular complexes](https://doi.org/10.1101/2025.04.30.651432). _BioRXiv._ 10.1101/2025.04.30.651432 (2025).
* M. Giulini#, X. Xu# and **A.M.J.J. Bonvin**. [Improved structural modelling of antibodies and their complexes with clustered diffusion ensembles](https://doi.org/10.1101/2025.02.24.639865). _BioRXiv._ 10.1101/2025.02.24.639865 (2025).