Browse Source

mol-repr: show residue/nucleotide segments selected when intersecting, not just subset

David Sehnal 5 years ago
parent
commit
1d0ba36d7c

+ 1 - 1
src/mol-repr/structure/visual/util/nucleotide.ts

@@ -71,7 +71,7 @@ export function eachNucleotideElement(loci: Loci, structureGroup: StructureGroup
                     const unitIndexMin = OrderedSet.findPredecessorIndex(elements, offsets[rI])
                     const unitIndexMax = OrderedSet.findPredecessorIndex(elements, offsets[rI + 1] - 1)
                     const unitIndexInterval = Interval.ofRange(unitIndexMin, unitIndexMax)
-                    if (!OrderedSet.isSubset(e.indices, unitIndexInterval)) return
+                    if (!OrderedSet.areIntersecting(e.indices, unitIndexInterval)) return
                     const eI = traceElementIndex[rI]
                     const idx = OrderedSet.indexOf(eUnit.nucleotideElements, eI)
                     if (idx !== -1) {

+ 1 - 1
src/mol-repr/structure/visual/util/polymer.ts

@@ -121,7 +121,7 @@ export function eachPolymerElement(loci: Loci, structureGroup: StructureGroup, a
                         const unitIndexMin = OrderedSet.findPredecessorIndex(elements, offsets[rI])
                         const unitIndexMax = OrderedSet.findPredecessorIndex(elements, offsets[rI + 1] - 1)
                         const unitIndexInterval = Interval.ofRange(unitIndexMin, unitIndexMax)
-                        if (!OrderedSet.isSubset(e.indices, unitIndexInterval)) return
+                        if (!OrderedSet.areIntersecting(e.indices, unitIndexInterval)) return
                         const eI = traceElementIndex[rI]
                         const idx = OrderedSet.indexOf(e.unit.polymerElements, eI)
                         if (idx !== -1) {