Skip to content

Conversation

@Qrouger
Copy link
Contributor

@Qrouger Qrouger commented Jan 8, 2026

The paired MSA is sliced and placed in the unpaired MSA, while the paired MSA field is set to an empty string (""). This causes an issue with AlphaFold 3, because in this configuration AF3 ignores inter-protein paired MSAs and therefore does not use co-evolutionary information between proteins.

@DimaMolod
Copy link
Collaborator

The paired MSA is sliced and placed in the unpaired MSA, while the paired MSA field is set to an empty string (""). This causes an issue with AlphaFold 3, because in this configuration, AF3 ignores inter-protein paired MSAs and therefore does not use co-evolutionary information between proteins.

Hi Quentin! That's exactly my thoughts a couple of months ago :-)
I think you misunderstand what AF3 does with 'paired_msa' and 'unpaired_msa' (which is not surprising because this is indeed very confusing). The hint here is to read 'paired_msa' as 'to_be_paired_msa', and 'unpaired_msa' as 'not_to_be_paired_msa' (see af3 documentation). If you put paired MSA as 'unpaired_msa' variable, AF3 doesn't do additional pairing based on species id and takes your MSA as is. This is exactly what we want when passing MultimericObject from AlphaPulldown, because MSAs are already paired at this moment by AF2.
There are flags in run_structure_prediction.py here that you can use to double-check after me.

Cheers
d

@Qrouger Qrouger closed this Jan 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants