google-deepmind / google-deepmind/alphafold

[Multimer] Strange handling of species that are present in only one chain

Open
#735 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.