diff --git a/src/mol-model/structure/structure/accessible-surface-area.ts b/src/mol-model/structure/structure/accessible-surface-area.ts index 5735b2df5ec4663b18693b5c09bd80eb09e1dfdf..ab60a2e7015820ada0e5aaaf3041c1ba281c8afb 100644 --- a/src/mol-model/structure/structure/accessible-surface-area.ts +++ b/src/mol-model/structure/structure/accessible-surface-area.ts @@ -184,11 +184,16 @@ namespace AccessibleSurfaceArea { } const atomId = label_atom_id.value(aI); - const residueId = label_comp_id.value(rI); + let compId = label_comp_id.value(rI); + + // handle modified residues + const parentId = model.properties.modifiedResidues.parentId.get(compId); + if (parentId !== void 0) compId = parentId; + if (isNucleic(residueType)) { - ctx.atomRadius[aI] = determineRadiusNucl(atomId, element, residueId); + ctx.atomRadius[aI] = determineRadiusNucl(atomId, element, compId); } else if (residueType === MoleculeType.protein) { - ctx.atomRadius[aI] = determineRadiusAmino(atomId, element, residueId); + ctx.atomRadius[aI] = determineRadiusAmino(atomId, element, compId); } else { ctx.atomRadius[aI] = VdwRadius(element); }