google-deepmind / google-deepmind/alphafold
[Multimer] Strange handling of species that are present in only one chain
- Dominant language
- Python
- Stars
- 14.9k
- Forks
- 2.9k
- PR merge metrics
- No merged PRs in 30d
Description
I am a bit puzzled by the following lines in `data/msa_pairing.py`:
https://github.com/deepmind/alphafold/blob/2e6a78f08b3a31945ad0fad77f7cf4344ae73d13/alphafold/data/msa_pairing.py#L211-L213
For a heterodimer (A1B1), this seems to suggest that e.g. species that are only present in the B-chain UniProt MSA are completely discarded, as they would never make it to
https://github.com/deepmind/alphafold/blob/2e6a78f08b3a31945ad0fad77f7cf4344ae73d13/alphafold/data/msa_pairing.py#L172
which, I guess, would concatenate these B-sequences with padding gaps (part of the block unpaired MSA).
For complexes with stoichiometry AnBm, this behaviour is doubly strange. `species_dfs_present` can never be <= 1, as if a sequence is present e.g. in the MSA for chain A_1 it will also be present in the identical MSA for chain A_2, so that if `species_dfs_present` is not 0 then it must be at least 2. Hence, for AnBm complexes, the B-sequences in the example above *would* make it to the block unpaired MSA, which seems slightly inconsistent behaviour.
Contributor guide
Assessment
This issue has not been assessed yet.