Skip to content

Failed to add residue HME at position 209 to surface - cannot find radius for FE1 #389

Description

@black-desk

When my molecule includes a metal atom (FE1) with 2-letter atomtype, Rosetta produces the following error:

core.scoring.sc.MolecularSurfaceCalculator: [ ERROR ] Failed to add residue HME at position 209 to surface - cannot find radius for FE1

I tried resolving this by adding a line like * FE* 1.41 to the sc_radii.lib file, but the error persists.

Root Cause Analysis

After investigating the relevant code:

strncpy(scatom.atom, residue.atom_name(i).c_str()+1, sizeof(scatom.atom)-1);
if ( !AssignAtomRadius(scatom) ) {
TR.Error << "Failed to add residue " << residue.name3() << " at position " << residue.seqpos() << " to surface - cannot find radius for " << residue.atom_name(i) << std::endl;
return 0;
}

I believe the issue occurs when copying residue.atom_name(i) to scatom.atom, as the code skips the first character. However, when generating the error message, it prints the full residue.atom_name(i), which is misleading.

Workaround

Instead of adding * FE* 1.41 to sc_radii.lib, adding * E* 1.41 works correctly. This confirms that the code is looking for the atom name without the first character.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions