From 697e9986b46169accf35cbb0ea3bb2cd61ddde37 Mon Sep 17 00:00:00 2001
From: Alexander Rose <alexander.rose@weirdbyte.de>
Date: Mon, 25 May 2020 14:10:40 -0700
Subject: [PATCH] can't ignore atoms with zero occupancy

- is too often the case when just not set
---
 src/mol-model/structure/structure/unit/bonds/inter-compute.ts | 2 --
 src/mol-model/structure/structure/unit/bonds/intra-compute.ts | 4 ----
 2 files changed, 6 deletions(-)

diff --git a/src/mol-model/structure/structure/unit/bonds/inter-compute.ts b/src/mol-model/structure/structure/unit/bonds/inter-compute.ts
index b14b9262d..4a3cb363b 100644
--- a/src/mol-model/structure/structure/unit/bonds/inter-compute.ts
+++ b/src/mol-model/structure/structure/unit/bonds/inter-compute.ts
@@ -102,9 +102,7 @@ function findPairBonds(unitA: Unit.Atomic, unitB: Unit.Atomic, props: BondComput
             if (added) continue;
         }
 
-        // ignore atoms with zero occupancy (assuming they are not actually atoms)
         const occA = occupancyA.value(aI);
-        if (hasOccupancy && occA === 0) continue;
 
         const { indices, count, squaredDistances } = lookup3d.find(imageA[0], imageA[1], imageA[2], MAX_RADIUS);
         if (count === 0) continue;
diff --git a/src/mol-model/structure/structure/unit/bonds/intra-compute.ts b/src/mol-model/structure/structure/unit/bonds/intra-compute.ts
index 5f6c16054..767a72957 100644
--- a/src/mol-model/structure/structure/unit/bonds/intra-compute.ts
+++ b/src/mol-model/structure/structure/unit/bonds/intra-compute.ts
@@ -39,7 +39,6 @@ function _computeBonds(unit: Unit.Atomic, props: BondComputationProps): IntraUni
     const atomCount = unit.elements.length;
     const { elements: atoms, residueIndex, chainIndex } = unit;
     const { type_symbol, label_atom_id, label_alt_id } = unit.model.atomicHierarchy.atoms;
-    const { occupancy } = unit.model.atomicConformation;
     const { label_comp_id, label_seq_id } = unit.model.atomicHierarchy.residues;
     const { index } = unit.model.atomicHierarchy;
     const { byEntityKey } = unit.model.sequence;
@@ -117,9 +116,6 @@ function _computeBonds(unit: Unit.Atomic, props: BondComputationProps): IntraUni
         }
         lastResidue = raI;
 
-        // ignore atoms with zero occupancy (assuming they are not actually atoms)
-        if (occupancy.isDefined && occupancy.value(aI) === 0) continue;
-
         const aeI = getElementIdx(type_symbol.value(aI));
         const atomIdA = label_atom_id.value(aI);
         const componentPairs = componentMap ? componentMap.get(atomIdA) : void 0;
-- 
GitLab