(pred_pos_per_residue, true_pos_per_residue, mask)
| 966 | |
| 967 | |
| 968 | def _rmsd_per_residue(pred_pos_per_residue, true_pos_per_residue, mask): |
| 969 | sd = torch.square(pred_pos_per_residue - true_pos_per_residue).sum(dim=-1) |
| 970 | msd = sd.sum(dim=-1) / mask.sum(dim=-1).clamp(min=1) |
| 971 | rmsd = msd.sqrt() |
| 972 | return rmsd |
| 973 | |
| 974 | |
| 975 | def _get_symm_atoms(pos_per_residue, residue_type): |