From 4d94a6688ac94934ed9ef73d4b4fa528dc6f4ffa Mon Sep 17 00:00:00 2001
From: Sebastian Bittrich <bittrich@hs-mittweida.de>
Date: Wed, 27 Mar 2019 14:49:58 -0700
Subject: [PATCH] improved handling of modified residues

---
 .../structure/structure/accessible-surface-area.ts    | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/mol-model/structure/structure/accessible-surface-area.ts b/src/mol-model/structure/structure/accessible-surface-area.ts
index 5735b2df5..ab60a2e70 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);
             }
-- 
GitLab