Lines 330 - 333 in https://github.com/Biohub/transformers/blob/main/src/transformers/models/esmfold2/modeling_esmfold2.py
seem to be suggesting that the ipTM score corresponding to the interface formed by chains $(c1, c2)$ is calculated by the following formula
where $L_1$ and $L_2$ are the number of residues in chains $c1$ and $c2$ respectively, and $\hat{\mathrm{TM}}_{ij}$ is the expected TM for residue pair $(i, j)$. This way of calculating "chain pair ipTM" seems to be different from how AF3 and several other related models calculate it. With this implementation, when one folds a heterodimer, the iptm attribute of MolecularComplexResult generally won't be equal to the maximum of the off diagonal elements of the pair_chains_iptm matrix.
Is the current way of calculating chain pair ipTM in ESMFold2 by design or is it a bug?
Lines 330 - 333 in https://github.com/Biohub/transformers/blob/main/src/transformers/models/esmfold2/modeling_esmfold2.py
seem to be suggesting that the ipTM score corresponding to the interface formed by chains$(c1, c2)$ is calculated by the following formula
where$L_1$ and $L_2$ are the number of residues in chains $c1$ and $c2$ respectively, and $\hat{\mathrm{TM}}_{ij}$ is the expected TM for residue pair $(i, j)$ . This way of calculating "chain pair ipTM" seems to be different from how AF3 and several other related models calculate it. With this implementation, when one folds a heterodimer, the
iptmattribute ofMolecularComplexResultgenerally won't be equal to the maximum of the off diagonal elements of thepair_chains_iptmmatrix.Is the current way of calculating chain pair ipTM in ESMFold2 by design or is it a bug?