diff --git a/src/mol-plugin/util/structure-selection-helper.ts b/src/mol-plugin/util/structure-selection-helper.ts index eb0f1929b2f352ecd0192a8cfd907cf450cbc66a..d8016b318a66ec8a23abbda51e7716ac3376b8a2 100644 --- a/src/mol-plugin/util/structure-selection-helper.ts +++ b/src/mol-plugin/util/structure-selection-helper.ts @@ -141,7 +141,7 @@ const ligand = MS.struct.modifier.union([ ]), ]) -// don't innclude branched entities as they have their own link representation +// don't include branched entities as they have their own link representation const ligandPlusConnected = MS.struct.modifier.union([ MS.struct.modifier.exceptBy({ 0: MS.struct.modifier.union([ @@ -155,6 +155,21 @@ const ligandPlusConnected = MS.struct.modifier.union([ }) ]) +const ligandConnectedOnly = MS.struct.modifier.union([ + MS.struct.modifier.exceptBy({ + 0: ligandPlusConnected, + by: ligand + }) +]) + +// residues connected to ligands or branched entities +const connectedOnly = MS.struct.modifier.union([ + MS.struct.combinator.merge([ + branchedConnectedOnly, + ligandConnectedOnly + ]), +]) + const modified = MS.struct.modifier.union([ MS.struct.generator.atomGroups({ 'chain-test': MS.core.rel.eq([MS.ammp('objectPrimitive'), 'atomistic']), @@ -183,6 +198,8 @@ export const StructureSelectionQueries = { branchedConnectedOnly, ligand, ligandPlusConnected, + ligandConnectedOnly, + connectedOnly, modified, coarse, }