Procházet zdrojové kódy

fix Props.residue.label_comp_id for micro het

Alexander Rose před 5 roky
rodič
revize
244a678ab7
1 změnil soubory, kde provedl 7 přidání a 1 odebrání
  1. 7 1
      src/mol-model/structure/structure/properties.ts

+ 7 - 1
src/mol-model/structure/structure/properties.ts

@@ -53,10 +53,16 @@ const atom = {
     vdw_radius: p(l => !Unit.isAtomic(l.unit) ? notAtomic() : VdwRadius(l.unit.model.atomicHierarchy.atoms.type_symbol.value(l.element))),
 }
 
-function compId(l: StructureElement.Location) {
+function _compId(l: StructureElement.Location) {
     return !Unit.isAtomic(l.unit) ? notAtomic() : l.unit.model.atomicHierarchy.residues.label_comp_id.value(l.unit.residueIndex[l.element])
 }
 
+function compId(l: StructureElement.Location) {
+    if (!Unit.isAtomic(l.unit)) notAtomic()
+    if (!hasMicroheterogeneity(l)) return _compId(l)
+    return l.unit.model.sourceData.data.atom_site.label_comp_id.value(l.element)
+}
+
 function seqId(l: StructureElement.Location) {
     return !Unit.isAtomic(l.unit) ? notAtomic() : l.unit.model.atomicHierarchy.residues.label_seq_id.value(l.unit.residueIndex[l.element])
 }