瀏覽代碼

saguaro update && assembly instance operators support

bioinsilico 3 年之前
父節點
當前提交
a8cc2d9b98
共有 50 個文件被更改,包括 2320 次插入1466 次删除
  1. 8 0
      CHANGELOG.md
  2. 2 2
      README.md
  3. 0 0
      docs/assets/js/search.json
  4. 19 19
      docs/classes/abstractview.html
  5. 101 36
      docs/classes/assemblyview.html
  6. 22 22
      docs/classes/chaindisplay.html
  7. 10 10
      docs/classes/customview.html
  8. 102 91
      docs/classes/molstarplugin.html
  9. 2 2
      docs/classes/rcsbfv3dassembly.html
  10. 18 18
      docs/classes/rcsbfv3dcomponent.html
  11. 46 51
      docs/classes/rcsbfvselectormanager.html
  12. 23 23
      docs/classes/rcsbfvsequence.html
  13. 22 22
      docs/classes/rcsbfvstructure.html
  14. 5 5
      docs/enums/loadmethod.html
  15. 134 35
      docs/globals.html
  16. 24 6
      docs/index.html
  17. 17 3
      docs/interfaces/assemblyviewinterface.html
  18. 2 2
      docs/interfaces/loadmolstarinterface.html
  19. 11 11
      docs/interfaces/loadparams.html
  20. 14 0
      docs/interfaces/rcsbfv3dassemblyinterface.html
  21. 4 4
      docs/interfaces/regionselectioninterface.html
  22. 31 17
      docs/interfaces/saguarochain.html
  23. 186 214
      docs/interfaces/saguaroplugininterface.html
  24. 172 208
      docs/interfaces/saguaropluginpublicinterface.html
  25. 215 0
      docs/interfaces/saguaroposition.html
  26. 229 0
      docs/interfaces/saguarorange.html
  27. 215 0
      docs/interfaces/saguaroregionlist.html
  28. 40 18
      docs/interfaces/saguaroset.html
  29. 280 366
      package-lock.json
  30. 24 20
      package.json
  31. 3 1
      src/RcsbFv3D/RcsbFv3DAssembly.tsx
  32. 2 2
      src/RcsbFv3D/RcsbFv3DComponent.tsx
  33. 54 54
      src/RcsbFvSelection/RcsbFvSelectorManager.ts
  34. 1 1
      src/RcsbFvSequence/RcsbFvSequence.tsx
  35. 2 2
      src/RcsbFvSequence/SequenceViews/AbstractView.tsx
  36. 72 36
      src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx
  37. 1 1
      src/RcsbFvSequence/SequenceViews/AssemblyView/ChainDisplay.tsx
  38. 1 1
      src/RcsbFvSequence/SequenceViews/CustomView.tsx
  39. 1 1
      src/RcsbFvSequence/SequenceViews/SequenceViewInterface.ts
  40. 1 1
      src/RcsbFvStructure/RcsbFvStructure.tsx
  41. 67 0
      src/RcsbFvStructure/SaguaroPluginInterface.ts
  42. 82 73
      src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts
  43. 0 40
      src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts
  44. 2 1
      src/examples/assembly/index.ts
  45. 5 6
      src/examples/css-config/index.tsx
  46. 6 7
      src/examples/multiple-chain/index.tsx
  47. 4 5
      src/examples/single-chain/index.tsx
  48. 5 6
      src/examples/structural-alignment/index.tsx
  49. 7 3
      webpack.config.js
  50. 26 20
      webpack.examples.config.js

+ 8 - 0
CHANGELOG.md

@@ -2,6 +2,14 @@
 
 [Semantic Versioning](https://semver.org/)
 
+## [1.2.0] - 2021-12-07
+### Improvements
+- Support for assembly instance operators
+- New selection interfaces `SaguaroChain`, `SaguaroPosition`, `SaguaroRange` and `SaguaroSet`
+    - Support for selection involving multiple `modelId`
+- rcsb-saguaro-app update 3.4.0
+- rcsb-molstar update 2.0.0-dev.10
+
 ## [1.1.0] - 2021-11-02
 ### Minor configuration
 - Exposed `InstanceSequenceConfig` for assembly view

+ 2 - 2
README.md

@@ -9,7 +9,7 @@ The package allows access to RCSB Saguaro and Molstar methods to add or change t
 <div id="pfv"></div>
 <script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
 <script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script>
-<script crossorigin src="https://cdn.jsdelivr.net/npm/@rcsb/rcsb-saguaro-3d@1.1.0/build/dist/app.js"></script>
+<script crossorigin src="https://cdn.jsdelivr.net/npm/@rcsb/rcsb-saguaro-3d@1.2.0/build/dist/app.js"></script>
 <script type="text/javascript">
 var __assign = (this && this.__assign) || function () {
     __assign = Object.assign || function(t) {
@@ -281,7 +281,7 @@ document.addEventListener("DOMContentLoaded", function (event) {
 </script>
 --->
 ### CDN JavaScript
-`<script src="https://cdn.jsdelivr.net/npm/@rcsb/rcsb-saguaro-3d@1.1.0/build/dist/app.js" type="text/javascript"></script>`
+`<script src="https://cdn.jsdelivr.net/npm/@rcsb/rcsb-saguaro-3d@1.2.0/build/dist/app.js" type="text/javascript"></script>`
 
 ### Node Module Instalation
 `npm install @rcsb/rcsb-saguaro-3d`

File diff suppressed because it is too large
+ 0 - 0
docs/assets/js/search.json


+ 19 - 19
docs/classes/abstractview.html

@@ -208,7 +208,7 @@
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#context">context</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:474</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:479</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -232,11 +232,11 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited">
 					<a name="props" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagReadonly">Readonly</span> props</h3>
-					<div class="tsd-signature tsd-kind-icon">props<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">P</span><span class="tsd-signature-symbol"> &amp; </span><a href="../interfaces/abstractviewinterface.html" class="tsd-signature-type">AbstractViewInterface</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>children<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">ReactNode</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">props<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">P</span><span class="tsd-signature-symbol"> &amp; </span><a href="../interfaces/abstractviewinterface.html" class="tsd-signature-type">AbstractViewInterface</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>children<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">ReactNode</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#props">props</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:499</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:504</li>
 						</ul>
 					</aside>
 				</section>
@@ -257,7 +257,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#refs">refs</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:505</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:510</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -283,7 +283,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#state">state</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:500</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:505</li>
 						</ul>
 					</aside>
 				</section>
@@ -300,11 +300,11 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-static">
 					<a name="contexttype" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagStatic">Static</span> <span class="tsd-flag ts-flagOptional">Optional</span> context<wbr>Type</h3>
-					<div class="tsd-signature tsd-kind-icon">context<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Context</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">context<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Context</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></div>
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#contexttype">contextType</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:456</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:461</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -343,7 +343,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillmount">UNSAFE_componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:712</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:717</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -381,7 +381,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillreceiveprops">UNSAFE_componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:744</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:749</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -430,7 +430,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillupdate">UNSAFE_componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:772</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:777</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -498,7 +498,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidcatch">componentDidCatch</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:641</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:646</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -549,7 +549,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidupdate">componentDidUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:683</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:688</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -585,7 +585,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillmount">componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:698</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:703</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -622,7 +622,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillreceiveprops">componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:727</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:732</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -688,7 +688,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillupdate">componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:757</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:762</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -771,7 +771,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#forceupdate">forceUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:491</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:496</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -795,7 +795,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#getsnapshotbeforeupdate">getSnapshotBeforeUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:677</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:682</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -908,7 +908,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#setstate">setState</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:486</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:491</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-type-parameters-title">Type parameters</h4>
@@ -941,7 +941,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#shouldcomponentupdate">shouldComponentUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:631</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:636</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">

+ 101 - 36
docs/classes/assemblyview.html

@@ -114,6 +114,7 @@
 								<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="assemblyview.html#currentmodelid" class="tsd-kind-icon">current<wbr>Model<wbr>Id</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="assemblyview.html#currentmodelmap" class="tsd-kind-icon">current<wbr>Model<wbr>Map</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="assemblyview.html#currentmodelnumber" class="tsd-kind-icon">current<wbr>Model<wbr>Number</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="assemblyview.html#currentopname" class="tsd-kind-icon">current<wbr>OpName</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="assemblyview.html#currentselectedcomponentid" class="tsd-kind-icon">current<wbr>Selected<wbr>Component<wbr>Id</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="assemblyview.html#innerselectionflag" class="tsd-kind-icon">inner<wbr>Selection<wbr>Flag</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected"><a href="assemblyview.html#rcsbfvdivid" class="tsd-kind-icon">rcsb<wbr>FvDiv<wbr>Id</a></li>
@@ -126,6 +127,7 @@
 								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="assemblyview.html#unsafe_componentwillmount" class="tsd-kind-icon">UNSAFE_<wbr>component<wbr>Will<wbr>Mount</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="assemblyview.html#unsafe_componentwillreceiveprops" class="tsd-kind-icon">UNSAFE_<wbr>component<wbr>Will<wbr>Receive<wbr>Props</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="assemblyview.html#unsafe_componentwillupdate" class="tsd-kind-icon">UNSAFE_<wbr>component<wbr>Will<wbr>Update</a></li>
+								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="assemblyview.html#addoperatorbutton" class="tsd-kind-icon">add<wbr>Operator<wbr>Button</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="assemblyview.html#additionalcontent" class="tsd-kind-icon">additional<wbr>Content</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="assemblyview.html#componentdidcatch" class="tsd-kind-icon">component<wbr>Did<wbr>Catch</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="assemblyview.html#componentdidmount" class="tsd-kind-icon">component<wbr>Did<wbr>Mount</a></li>
@@ -137,6 +139,7 @@
 								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="assemblyview.html#elementclickcallback" class="tsd-kind-icon">element<wbr>Click<wbr>Callback</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="assemblyview.html#getsnapshotbeforeupdate" class="tsd-kind-icon">get<wbr>Snapshot<wbr>Before<wbr>Update</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="assemblyview.html#highlighthovercallback" class="tsd-kind-icon">highlight<wbr>Hover<wbr>Callback</a></li>
+								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="assemblyview.html#instancechangecallback" class="tsd-kind-icon">instance<wbr>Change<wbr>Callback</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="assemblyview.html#modelchangecallback" class="tsd-kind-icon">model<wbr>Change<wbr>Callback</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><a href="assemblyview.html#pluginselectcallback" class="tsd-kind-icon">plugin<wbr>Select<wbr>Callback</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="assemblyview.html#render" class="tsd-kind-icon">render</a></li>
@@ -189,7 +192,7 @@
 					<div class="tsd-signature tsd-kind-icon">board<wbr>Config<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">RcsbFvBoardConfigInterface</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:47</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:50</li>
 						</ul>
 					</aside>
 				</section>
@@ -210,7 +213,7 @@
 					<div class="tsd-signature tsd-kind-icon">create<wbr>Component<wbr>Threshold<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 3</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:43</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:46</li>
 						</ul>
 					</aside>
 				</section>
@@ -220,7 +223,7 @@
 					<div class="tsd-signature tsd-kind-icon">current<wbr>Entry<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:40</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:42</li>
 						</ul>
 					</aside>
 				</section>
@@ -230,7 +233,7 @@
 					<div class="tsd-signature tsd-kind-icon">current<wbr>Label<wbr>Asym<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:39</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:41</li>
 						</ul>
 					</aside>
 				</section>
@@ -240,7 +243,7 @@
 					<div class="tsd-signature tsd-kind-icon">current<wbr>Model<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:41</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:43</li>
 						</ul>
 					</aside>
 				</section>
@@ -250,7 +253,7 @@
 					<div class="tsd-signature tsd-kind-icon">current<wbr>Model<wbr>Map<span class="tsd-signature-symbol">:</span> <a href="../globals.html#saguaropluginmodelmaptype" class="tsd-signature-type">SaguaroPluginModelMapType</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:46</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:49</li>
 						</ul>
 					</aside>
 				</section>
@@ -260,7 +263,17 @@
 					<div class="tsd-signature tsd-kind-icon">current<wbr>Model<wbr>Number<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:42</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:45</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
+					<a name="currentopname" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagPrivate">Private</span> current<wbr>OpName</h3>
+					<div class="tsd-signature tsd-kind-icon">current<wbr>OpName<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> = undefined</span></div>
+					<aside class="tsd-sources">
+						<ul>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:44</li>
 						</ul>
 					</aside>
 				</section>
@@ -270,7 +283,7 @@
 					<div class="tsd-signature tsd-kind-icon">current<wbr>Selected<wbr>Component<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:45</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:48</li>
 						</ul>
 					</aside>
 				</section>
@@ -280,7 +293,7 @@
 					<div class="tsd-signature tsd-kind-icon">inner<wbr>Selection<wbr>Flag<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:44</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:47</li>
 						</ul>
 					</aside>
 				</section>
@@ -301,7 +314,7 @@
 					<div class="tsd-signature tsd-kind-icon">rcsb<wbr>FvModule<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">RcsbFvModulePublicInterface</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:48</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:51</li>
 						</ul>
 					</aside>
 				</section>
@@ -319,7 +332,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillmount">UNSAFE_componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:712</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:717</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -357,7 +370,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillreceiveprops">UNSAFE_componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:744</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:749</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -406,7 +419,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillupdate">UNSAFE_componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:772</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:777</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -445,6 +458,29 @@
 						</li>
 					</ul>
 				</section>
+				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
+					<a name="addoperatorbutton" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagPrivate">Private</span> add<wbr>Operator<wbr>Button</h3>
+					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
+						<li class="tsd-signature tsd-kind-icon">add<wbr>Operator<wbr>Button<span class="tsd-signature-symbol">(</span>operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:215</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+						</li>
+					</ul>
+				</section>
 				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
 					<a name="additionalcontent" class="tsd-anchor"></a>
 					<h3>additional<wbr>Content</h3>
@@ -457,7 +493,7 @@
 								<p>Implementation of <a href="../interfaces/sequenceviewinterface.html">SequenceViewInterface</a>.<a href="../interfaces/sequenceviewinterface.html#additionalcontent">additionalContent</a></p>
 								<p>Overrides <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#additionalcontent">additionalContent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:51</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:54</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Element</span></h4>
@@ -475,7 +511,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidcatch">componentDidCatch</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:641</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:646</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -508,7 +544,7 @@
 							<aside class="tsd-sources">
 								<p>Overrides <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidmount">componentDidMount</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:72</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:75</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -526,7 +562,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidupdate">componentDidUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:683</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:688</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -562,7 +598,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillmount">componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:698</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:703</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -599,7 +635,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillreceiveprops">componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:727</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:732</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -647,7 +683,7 @@
 							<aside class="tsd-sources">
 								<p>Overrides <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillunmount">componentWillUnmount</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:101</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:104</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -665,7 +701,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillupdate">componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:757</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:762</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -713,7 +749,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:259</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:292</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -737,7 +773,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#getsnapshotbeforeupdate">getSnapshotBeforeUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:677</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:682</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -772,7 +808,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:212</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:245</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -785,18 +821,35 @@
 						</li>
 					</ul>
 				</section>
+				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-private">
+					<a name="instancechangecallback" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagPrivate">Private</span> instance<wbr>Change<wbr>Callback</h3>
+					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
+						<li class="tsd-signature tsd-kind-icon">instance<wbr>Change<wbr>Callback<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:210</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
+						</li>
+					</ul>
+				</section>
 				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
 					<a name="modelchangecallback" class="tsd-anchor"></a>
 					<h3>model<wbr>Change<wbr>Callback</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
-						<li class="tsd-signature tsd-kind-icon">model<wbr>Change<wbr>Callback<span class="tsd-signature-symbol">(</span>modelMap<span class="tsd-signature-symbol">: </span><a href="../globals.html#saguaropluginmodelmaptype" class="tsd-signature-type">SaguaroPluginModelMapType</a>, defaultAuthId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">model<wbr>Change<wbr>Callback<span class="tsd-signature-symbol">(</span>modelMap<span class="tsd-signature-symbol">: </span><a href="../globals.html#saguaropluginmodelmaptype" class="tsd-signature-type">SaguaroPluginModelMapType</a>, defaultAuthId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span>, defaultOperatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<p>Overrides <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#modelchangecallback">modelChangeCallback</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:162</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:163</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -807,6 +860,9 @@
 								<li>
 									<h5><span class="tsd-flag ts-flagOptional">Optional</span> defaultAuthId: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> defaultOperatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
 						</li>
@@ -822,7 +878,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:132</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:135</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -865,7 +921,7 @@
 								<p>Implementation of <a href="../interfaces/sequenceviewinterface.html">SequenceViewInterface</a>.<a href="../interfaces/sequenceviewinterface.html#representationchangecallback">representationChangeCallback</a></p>
 								<p>Overrides <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#representationchangecallback">representationChangeCallback</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:114</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:117</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -882,7 +938,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:127</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:130</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -899,7 +955,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:242</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:275</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -922,7 +978,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:230</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:263</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -946,7 +1002,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#shouldcomponentupdate">shouldComponentUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:631</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:636</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -987,7 +1043,7 @@
 								<p>Implementation of <a href="../interfaces/sequenceviewinterface.html">SequenceViewInterface</a>.<a href="../interfaces/sequenceviewinterface.html#structurehovercallback">structureHoverCallback</a></p>
 								<p>Overrides <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#structurehovercallback">structureHoverCallback</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:110</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:113</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
@@ -1006,7 +1062,7 @@
 								<p>Implementation of <a href="../interfaces/sequenceviewinterface.html">SequenceViewInterface</a>.<a href="../interfaces/sequenceviewinterface.html#structureselectioncallback">structureSelectionCallback</a></p>
 								<p>Overrides <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#structureselectioncallback">structureSelectionCallback</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:106</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:109</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
@@ -1023,7 +1079,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:207</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:240</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -1042,7 +1098,7 @@
 								<p>Implementation of <a href="../interfaces/sequenceviewinterface.html">SequenceViewInterface</a>.<a href="../interfaces/sequenceviewinterface.html#updatedimensions">updateDimensions</a></p>
 								<p>Overrides <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#updatedimensions">updateDimensions</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:118</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:121</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
@@ -1093,6 +1149,9 @@
 							<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-private">
 								<a href="assemblyview.html#currentmodelnumber" class="tsd-kind-icon">current<wbr>Model<wbr>Number</a>
 							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-private">
+								<a href="assemblyview.html#currentopname" class="tsd-kind-icon">current<wbr>OpName</a>
+							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-private">
 								<a href="assemblyview.html#currentselectedcomponentid" class="tsd-kind-icon">current<wbr>Selected<wbr>Component<wbr>Id</a>
 							</li>
@@ -1114,6 +1173,9 @@
 							<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
 								<a href="assemblyview.html#unsafe_componentwillupdate" class="tsd-kind-icon">UNSAFE_<wbr>component<wbr>Will<wbr>Update</a>
 							</li>
+							<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
+								<a href="assemblyview.html#addoperatorbutton" class="tsd-kind-icon">add<wbr>Operator<wbr>Button</a>
+							</li>
 							<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
 								<a href="assemblyview.html#additionalcontent" class="tsd-kind-icon">additional<wbr>Content</a>
 							</li>
@@ -1147,6 +1209,9 @@
 							<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
 								<a href="assemblyview.html#highlighthovercallback" class="tsd-kind-icon">highlight<wbr>Hover<wbr>Callback</a>
 							</li>
+							<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-private">
+								<a href="assemblyview.html#instancechangecallback" class="tsd-kind-icon">instance<wbr>Change<wbr>Callback</a>
+							</li>
 							<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
 								<a href="assemblyview.html#modelchangecallback" class="tsd-kind-icon">model<wbr>Change<wbr>Callback</a>
 							</li>

+ 22 - 22
docs/classes/chaindisplay.html

@@ -150,7 +150,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="chaindisplay.html">ChainDisplay</a>.<a href="chaindisplay.html#constructor">constructor</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:474</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:479</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -174,7 +174,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="chaindisplay.html">ChainDisplay</a>.<a href="chaindisplay.html#constructor">constructor</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:476</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:481</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -209,7 +209,7 @@
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#context">context</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:474</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:479</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -233,11 +233,11 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited">
 					<a name="props" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagReadonly">Readonly</span> props</h3>
-					<div class="tsd-signature tsd-kind-icon">props<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/chaindisplayinterface.html" class="tsd-signature-type">ChainDisplayInterface</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>children<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">ReactNode</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">props<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/chaindisplayinterface.html" class="tsd-signature-type">ChainDisplayInterface</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>children<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">ReactNode</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#props">props</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:499</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:504</li>
 						</ul>
 					</aside>
 				</section>
@@ -248,7 +248,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#refs">refs</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:505</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:510</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -270,11 +270,11 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-static">
 					<a name="contexttype" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagStatic">Static</span> <span class="tsd-flag ts-flagOptional">Optional</span> context<wbr>Type</h3>
-					<div class="tsd-signature tsd-kind-icon">context<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Context</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">context<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Context</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></div>
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#contexttype">contextType</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:456</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:461</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -313,7 +313,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillmount">UNSAFE_componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:712</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:717</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -351,7 +351,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillreceiveprops">UNSAFE_componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:744</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:749</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -400,7 +400,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillupdate">UNSAFE_componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:772</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:777</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -467,7 +467,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidcatch">componentDidCatch</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:641</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:646</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -500,7 +500,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="chaindisplay.html">ChainDisplay</a>.<a href="chaindisplay.html#componentdidmount">componentDidMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:620</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:625</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -523,7 +523,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidupdate">componentDidUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:683</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:688</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -559,7 +559,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillmount">componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:698</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:703</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -596,7 +596,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillreceiveprops">componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:727</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:732</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -644,7 +644,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="chaindisplay.html">ChainDisplay</a>.<a href="chaindisplay.html#componentwillunmount">componentWillUnmount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:636</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:641</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -668,7 +668,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillupdate">componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:757</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:762</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -717,7 +717,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#forceupdate">forceUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:491</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:496</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -741,7 +741,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#getsnapshotbeforeupdate">getSnapshotBeforeUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:677</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:682</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -795,7 +795,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#setstate">setState</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:486</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:491</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-type-parameters-title">Type parameters</h4>
@@ -828,7 +828,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#shouldcomponentupdate">shouldComponentUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:631</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:636</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">

+ 10 - 10
docs/classes/customview.html

@@ -278,7 +278,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillmount">UNSAFE_componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:712</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:717</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -316,7 +316,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillreceiveprops">UNSAFE_componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:744</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:749</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -365,7 +365,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillupdate">UNSAFE_componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:772</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:777</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -468,7 +468,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidcatch">componentDidCatch</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:641</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:646</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -519,7 +519,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidupdate">componentDidUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:683</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:688</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -555,7 +555,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillmount">componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:698</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:703</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -592,7 +592,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillreceiveprops">componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:727</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:732</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -658,7 +658,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillupdate">componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:757</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:762</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -707,7 +707,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#getsnapshotbeforeupdate">getSnapshotBeforeUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:677</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:682</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -828,7 +828,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#shouldcomponentupdate">shouldComponentUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:631</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:636</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">

+ 102 - 91
docs/classes/molstarplugin.html

@@ -163,7 +163,7 @@
 							<aside class="tsd-sources">
 								<p>Overrides <a href="abstractplugin.html">AbstractPlugin</a>.<a href="abstractplugin.html#constructor">constructor</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:70</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:74</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -185,7 +185,7 @@
 					<div class="tsd-signature tsd-kind-icon">component<wbr>Map<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">StructureComponentRef</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = new Map&lt;string, StructureComponentRef&gt;()</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:70</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:74</li>
 						</ul>
 					</aside>
 				</section>
@@ -195,7 +195,7 @@
 					<div class="tsd-signature tsd-kind-icon">inner<wbr>Selection<wbr>Flag<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:64</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:68</li>
 						</ul>
 					</aside>
 				</section>
@@ -205,7 +205,7 @@
 					<div class="tsd-signature tsd-kind-icon">loading<wbr>Flag<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:65</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:69</li>
 						</ul>
 					</aside>
 				</section>
@@ -215,7 +215,7 @@
 					<div class="tsd-signature tsd-kind-icon">model<wbr>Change<wbr>Callback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>chainMap<span class="tsd-signature-symbol">: </span><a href="../globals.html#saguaropluginmodelmaptype" class="tsd-signature-type">SaguaroPluginModelMapType</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:67</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:71</li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -246,7 +246,7 @@
 					<div class="tsd-signature tsd-kind-icon">model<wbr>Change<wbr>Callback<wbr>Subs<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Subscription</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:68</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:72</li>
 						</ul>
 					</aside>
 				</section>
@@ -256,7 +256,7 @@
 					<div class="tsd-signature tsd-kind-icon">model<wbr>Map<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = new Map&lt;string, string&gt;()</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:69</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:73</li>
 						</ul>
 					</aside>
 				</section>
@@ -266,7 +266,7 @@
 					<div class="tsd-signature tsd-kind-icon">select<wbr>Callback<wbr>Subs<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Subscription</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:66</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:70</li>
 						</ul>
 					</aside>
 				</section>
@@ -287,7 +287,7 @@
 					<div class="tsd-signature tsd-kind-icon">viewer<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Viewer</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:63</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:67</li>
 						</ul>
 					</aside>
 				</section>
@@ -298,16 +298,15 @@
 					<a name="camerafocus" class="tsd-anchor"></a>
 					<h3>camera<wbr>Focus</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, positions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>regions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, positions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#camerafocus">cameraFocus</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:194</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:198</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -321,6 +320,9 @@
 								<li>
 									<h5>positions: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -328,7 +330,7 @@
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#camerafocus">cameraFocus</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:195</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:199</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -345,19 +347,8 @@
 								<li>
 									<h5>end: <span class="tsd-signature-type">number</span></h5>
 								</li>
-							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
-						</li>
-						<li class="tsd-description">
-							<aside class="tsd-sources">
-								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:196</li>
-								</ul>
-							</aside>
-							<h4 class="tsd-parameters-title">Parameters</h4>
-							<ul class="tsd-parameters">
 								<li>
-									<h5>regions: <span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span></h5>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
 								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -374,7 +365,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:306</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:309</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -400,7 +391,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:80</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:84</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -418,7 +409,7 @@
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#clearfocus">clearFocus</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:190</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:194</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -429,13 +420,14 @@
 					<a name="clearselection" class="tsd-anchor"></a>
 					<h3>clear<wbr>Selection</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">clear<wbr>Selection<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, option<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">clear<wbr>Selection<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, option<span class="tsd-signature-symbol">?: </span><a href="../interfaces/saguarochain.html" class="tsd-signature-type">SaguaroChain</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
+								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#clearselection">clearSelection</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:175</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:179</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -444,7 +436,7 @@
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
 								</li>
 								<li>
-									<h5><span class="tsd-flag ts-flagOptional">Optional</span> option: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></h5>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> option: <a href="../interfaces/saguarochain.html" class="tsd-signature-type">SaguaroChain</a></h5>
 								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -462,7 +454,7 @@
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#colorcomponent">colorComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:261</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:264</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -482,17 +474,17 @@
 					<a name="createcomponent" class="tsd-anchor"></a>
 					<h3>create<wbr>Component</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentLabel<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
-						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentLabel<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
-						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentLabel<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, residues<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
-						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentLabel<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, residues<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentLabel<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentLabel<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentLabel<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, residues<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentLabel<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, residues<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#createcomponent">createComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:227</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:231</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -515,6 +507,9 @@
 								<li>
 									<h5>representationType: <span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
 						</li>
@@ -522,7 +517,7 @@
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#createcomponent">createComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:228</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:232</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -539,6 +534,9 @@
 								<li>
 									<h5>representationType: <span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
 						</li>
@@ -546,7 +544,7 @@
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#createcomponent">createComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:229</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:233</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -555,10 +553,7 @@
 									<h5>componentLabel: <span class="tsd-signature-type">string</span></h5>
 								</li>
 								<li>
-									<h5>modelId: <span class="tsd-signature-type">string</span></h5>
-								</li>
-								<li>
-									<h5>residues: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>residues: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>representationType: <span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span></h5>
@@ -570,7 +565,7 @@
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#createcomponent">createComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:230</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:234</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -579,10 +574,7 @@
 									<h5>componentLabel: <span class="tsd-signature-type">string</span></h5>
 								</li>
 								<li>
-									<h5>modelId: <span class="tsd-signature-type">string</span></h5>
-								</li>
-								<li>
-									<h5>residues: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>residues: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>representationType: <span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span></h5>
@@ -604,7 +596,7 @@
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#displaycomponent">displayComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:298</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:301</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -619,7 +611,7 @@
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#displaycomponent">displayComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:299</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:302</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -639,13 +631,13 @@
 					<a name="focuspositions" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagPrivate">Private</span> focus<wbr>Positions</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
-						<li class="tsd-signature tsd-kind-icon">focus<wbr>Positions<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, positions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">focus<wbr>Positions<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, positions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:206</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:207</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -659,6 +651,9 @@
 								<li>
 									<h5>positions: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -668,13 +663,13 @@
 					<a name="focusrange" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagPrivate">Private</span> focus<wbr>Range</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
-						<li class="tsd-signature tsd-kind-icon">focus<wbr>Range<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">focus<wbr>Range<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:219</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:223</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -691,6 +686,9 @@
 								<li>
 									<h5>end: <span class="tsd-signature-type">number</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -706,7 +704,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:460</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:464</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <a href="../globals.html#saguaropluginmodelmaptype" class="tsd-signature-type">SaguaroPluginModelMapType</a></h4>
@@ -723,7 +721,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:322</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:325</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -745,8 +743,9 @@
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
+								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#getcomponentset">getComponentSet</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:272</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:275</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h4>
@@ -763,7 +762,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:485</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:489</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -786,7 +785,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:76</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:80</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -811,8 +810,9 @@
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
+								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#iscomponent">isComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:250</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:253</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -835,7 +835,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:84</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:88</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -858,7 +858,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:472</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:476</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -881,7 +881,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:443</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:447</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -921,8 +921,9 @@
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
+								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#removecomponent">removeComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:286</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:289</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -944,8 +945,9 @@
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
+								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#resetcamera">resetCamera</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:494</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:498</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -956,16 +958,16 @@
 					<a name="select" class="tsd-anchor"></a>
 					<h3>select</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#select">select</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:141</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:145</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -988,6 +990,9 @@
 								<li>
 									<h5>operation: <span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -995,13 +1000,13 @@
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#select">select</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:142</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:146</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
@@ -1016,13 +1021,13 @@
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#select">select</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:143</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:147</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
@@ -1039,19 +1044,19 @@
 					<a name="selectmultipleranges" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagPrivate">Private</span> select<wbr>Multiple<wbr>Ranges</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
-						<li class="tsd-signature tsd-kind-icon">select<wbr>Multiple<wbr>Ranges<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">select<wbr>Multiple<wbr>Ranges<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:167</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:171</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
@@ -1068,13 +1073,13 @@
 					<a name="selectrange" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagPrivate">Private</span> select<wbr>Range</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
-						<li class="tsd-signature tsd-kind-icon">select<wbr>Range<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">select<wbr>Range<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:153</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:157</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -1097,6 +1102,9 @@
 								<li>
 									<h5>operation: <span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -1106,19 +1114,19 @@
 					<a name="selectset" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagPrivate">Private</span> select<wbr>Set</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-private">
-						<li class="tsd-signature tsd-kind-icon">select<wbr>Set<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">select<wbr>Set<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:160</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:164</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
@@ -1141,7 +1149,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:138</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:142</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -1158,14 +1166,14 @@
 					<a name="setfocus" class="tsd-anchor"></a>
 					<h3>set<wbr>Focus</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">set<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">set<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<p>Implementation of <a href="../interfaces/saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="../interfaces/saguaroplugininterface.html#setfocus">setFocus</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:187</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:191</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -1182,6 +1190,9 @@
 								<li>
 									<h5>end: <span class="tsd-signature-type">number</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -1197,7 +1208,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:331</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:334</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -1232,7 +1243,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:447</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:451</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -1273,7 +1284,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:328</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:331</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -1308,7 +1319,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:357</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:361</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -1349,7 +1360,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:489</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:493</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -1366,7 +1377,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:112</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:116</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>

+ 2 - 2
docs/classes/rcsbfv3dassembly.html

@@ -125,7 +125,7 @@
 							<aside class="tsd-sources">
 								<p>Overrides <a href="rcsbfv3dabstract.html">RcsbFv3DAbstract</a>.<a href="rcsbfv3dabstract.html#constructor">constructor</a></p>
 								<ul>
-									<li>Defined in src/RcsbFv3D/RcsbFv3DAssembly.tsx:17</li>
+									<li>Defined in src/RcsbFv3D/RcsbFv3DAssembly.tsx:18</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -210,7 +210,7 @@
 							<aside class="tsd-sources">
 								<p>Overrides <a href="rcsbfv3dabstract.html">RcsbFv3DAbstract</a>.<a href="rcsbfv3dabstract.html#init">init</a></p>
 								<ul>
-									<li>Defined in src/RcsbFv3D/RcsbFv3DAssembly.tsx:23</li>
+									<li>Defined in src/RcsbFv3D/RcsbFv3DAssembly.tsx:24</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>

+ 18 - 18
docs/classes/rcsbfv3dcomponent.html

@@ -197,7 +197,7 @@
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#context">context</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:474</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:479</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -231,11 +231,11 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited">
 					<a name="props" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagReadonly">Readonly</span> props</h3>
-					<div class="tsd-signature tsd-kind-icon">props<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/rcsbfv3dcomponentinterface.html" class="tsd-signature-type">RcsbFv3DComponentInterface</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>children<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">ReactNode</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">props<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/rcsbfv3dcomponentinterface.html" class="tsd-signature-type">RcsbFv3DComponentInterface</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>children<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">ReactNode</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#props">props</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:499</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:504</li>
 						</ul>
 					</aside>
 				</section>
@@ -246,7 +246,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#refs">refs</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:505</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:510</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -298,11 +298,11 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-static">
 					<a name="contexttype" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagStatic">Static</span> <span class="tsd-flag ts-flagOptional">Optional</span> context<wbr>Type</h3>
-					<div class="tsd-signature tsd-kind-icon">context<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Context</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">context<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Context</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></div>
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#contexttype">contextType</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:456</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:461</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -341,7 +341,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillmount">UNSAFE_componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:712</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:717</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -379,7 +379,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillreceiveprops">UNSAFE_componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:744</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:749</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -428,7 +428,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillupdate">UNSAFE_componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:772</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:777</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -478,7 +478,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidcatch">componentDidCatch</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:641</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:646</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -529,7 +529,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidupdate">componentDidUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:683</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:688</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -565,7 +565,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillmount">componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:698</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:703</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -602,7 +602,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillreceiveprops">componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:727</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:732</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -668,7 +668,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillupdate">componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:757</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:762</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -717,7 +717,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#forceupdate">forceUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:491</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:496</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -741,7 +741,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#getsnapshotbeforeupdate">getSnapshotBeforeUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:677</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:682</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -858,7 +858,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#setstate">setState</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:486</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:491</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-type-parameters-title">Type parameters</h4>
@@ -891,7 +891,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#shouldcomponentupdate">shouldComponentUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:631</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:636</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">

+ 46 - 51
docs/classes/rcsbfvselectormanager.html

@@ -110,30 +110,30 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
 					<a name="hover" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagPrivate">Private</span> hover</h3>
-					<div class="tsd-signature tsd-kind-icon">hover<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = new Array&lt;ChainSelectionInterface&gt;()</span></div>
+					<div class="tsd-signature tsd-kind-icon">hover<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = new Array&lt;SaguaroRegionList&gt;()</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:26</li>
+							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:16</li>
 						</ul>
 					</aside>
 				</section>
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
 					<a name="lastselection" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagPrivate">Private</span> last<wbr>Selection</h3>
-					<div class="tsd-signature tsd-kind-icon">last<wbr>Selection<span class="tsd-signature-symbol">:</span> <a href="../interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> = null</span></div>
+					<div class="tsd-signature tsd-kind-icon">last<wbr>Selection<span class="tsd-signature-symbol">:</span> <a href="../interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> = null</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:24</li>
+							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:14</li>
 						</ul>
 					</aside>
 				</section>
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
 					<a name="selection" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagPrivate">Private</span> selection</h3>
-					<div class="tsd-signature tsd-kind-icon">selection<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = new Array&lt;ChainSelectionInterface&gt;()</span></div>
+					<div class="tsd-signature tsd-kind-icon">selection<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = new Array&lt;SaguaroRegionList&gt;()</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:25</li>
+							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:15</li>
 						</ul>
 					</aside>
 				</section>
@@ -144,19 +144,19 @@
 					<a name="addselectionfrommultipleregions" class="tsd-anchor"></a>
 					<h3>add<wbr>Selection<wbr>From<wbr>Multiple<wbr>Regions</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">add<wbr>Selection<wbr>From<wbr>Multiple<wbr>Regions<span class="tsd-signature-symbol">(</span>regions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>region<span class="tsd-signature-symbol">: </span><a href="../interfaces/regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">add<wbr>Selection<wbr>From<wbr>Multiple<wbr>Regions<span class="tsd-signature-symbol">(</span>regions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><a href="../interfaces/saguarochain.html" class="tsd-signature-type">SaguaroChain</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>region<span class="tsd-signature-symbol">: </span><a href="../interfaces/regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:46</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:36</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>regions: <span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>region<span class="tsd-signature-symbol">: </span><a href="../interfaces/regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span></h5>
+									<h5>regions: <span class="tsd-signature-symbol">(</span><a href="../interfaces/saguarochain.html" class="tsd-signature-type">SaguaroChain</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>region<span class="tsd-signature-symbol">: </span><a href="../interfaces/regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span></h5>
 								</li>
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
@@ -170,13 +170,13 @@
 					<a name="addselectionfromregion" class="tsd-anchor"></a>
 					<h3>add<wbr>Selection<wbr>From<wbr>Region</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">add<wbr>Selection<wbr>From<wbr>Region<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, region<span class="tsd-signature-symbol">: </span><a href="../interfaces/regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">add<wbr>Selection<wbr>From<wbr>Region<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, region<span class="tsd-signature-symbol">: </span><a href="../interfaces/regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:33</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:23</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -193,6 +193,9 @@
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -202,13 +205,13 @@
 					<a name="clearselection" class="tsd-anchor"></a>
 					<h3>clear<wbr>Selection</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">clear<wbr>Selection<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, selection<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">clear<wbr>Selection<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, selection<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguarochain.html" class="tsd-signature-type">SaguaroChain</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:83</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:73</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -217,7 +220,7 @@
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
 								</li>
 								<li>
-									<h5><span class="tsd-flag ts-flagOptional">Optional</span> selection: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></h5>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> selection: <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguarochain.html" class="tsd-signature-type">SaguaroChain</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -228,13 +231,13 @@
 					<a name="getlastselection" class="tsd-anchor"></a>
 					<h3>get<wbr>Last<wbr>Selection</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">get<wbr>Last<wbr>Selection<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></li>
+						<li class="tsd-signature tsd-kind-icon">get<wbr>Last<wbr>Selection<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:67</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:57</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -243,7 +246,7 @@
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
 								</li>
 							</ul>
-							<h4 class="tsd-returns-title">Returns <a href="../interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></h4>
+							<h4 class="tsd-returns-title">Returns <a href="../interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></h4>
 						</li>
 					</ul>
 				</section>
@@ -251,13 +254,13 @@
 					<a name="getselection" class="tsd-anchor"></a>
 					<h3>get<wbr>Selection</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">get<wbr>Selection<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">get<wbr>Selection<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol">&gt;</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:60</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:50</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -266,7 +269,7 @@
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
 								</li>
 							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol">&gt;</span></h4>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol">&gt;</span></h4>
 						</li>
 					</ul>
 				</section>
@@ -274,13 +277,13 @@
 					<a name="getselectionwithcondition" class="tsd-anchor"></a>
 					<h3>get<wbr>Selection<wbr>With<wbr>Condition</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">get<wbr>Selection<wbr>With<wbr>Condition<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></li>
+						<li class="tsd-signature tsd-kind-icon">get<wbr>Selection<wbr>With<wbr>Condition<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:75</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:65</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -294,8 +297,11 @@
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
-							<h4 class="tsd-returns-title">Returns <a href="../interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></h4>
+							<h4 class="tsd-returns-title">Returns <a href="../interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></h4>
 						</li>
 					</ul>
 				</section>
@@ -303,13 +309,13 @@
 					<a name="selectionsource" class="tsd-anchor"></a>
 					<h3>selection<wbr>Source</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">selection<wbr>Source<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, region<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"structure"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"sequence"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></li>
+						<li class="tsd-signature tsd-kind-icon">selection<wbr>Source<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, region<span class="tsd-signature-symbol">: </span><a href="../interfaces/saguarochain.html" class="tsd-signature-type">SaguaroChain</a><span class="tsd-signature-symbol"> &amp; </span><a href="../interfaces/saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"structure"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"sequence"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:97</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:88</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -318,21 +324,7 @@
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
 								</li>
 								<li>
-									<h5>region: <span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>label<wbr>Asym<wbr>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5>model<wbr>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-									</ul>
+									<h5>region: <a href="../interfaces/saguarochain.html" class="tsd-signature-type">SaguaroChain</a><span class="tsd-signature-symbol"> &amp; </span><a href="../interfaces/saguarorange.html" class="tsd-signature-type">SaguaroRange</a></h5>
 								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">"structure"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"sequence"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></h4>
@@ -343,13 +335,13 @@
 					<a name="setlastselection" class="tsd-anchor"></a>
 					<h3>set<wbr>Last<wbr>Selection</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">set<wbr>Last<wbr>Selection<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, selection<span class="tsd-signature-symbol">: </span><a href="../interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">set<wbr>Last<wbr>Selection<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, selection<span class="tsd-signature-symbol">: </span><a href="../interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:71</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:61</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -358,7 +350,7 @@
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
 								</li>
 								<li>
-									<h5>selection: <a href="../interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></h5>
+									<h5>selection: <a href="../interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></h5>
 								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
@@ -369,19 +361,19 @@
 					<a name="setselectionfrommultipleregions" class="tsd-anchor"></a>
 					<h3>set<wbr>Selection<wbr>From<wbr>Multiple<wbr>Regions</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">set<wbr>Selection<wbr>From<wbr>Multiple<wbr>Regions<span class="tsd-signature-symbol">(</span>regions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>region<span class="tsd-signature-symbol">: </span><a href="../interfaces/regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">set<wbr>Selection<wbr>From<wbr>Multiple<wbr>Regions<span class="tsd-signature-symbol">(</span>regions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>region<span class="tsd-signature-symbol">: </span><a href="../interfaces/regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:41</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:31</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>regions: <span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>region<span class="tsd-signature-symbol">: </span><a href="../interfaces/regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span></h5>
+									<h5>regions: <span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>region<span class="tsd-signature-symbol">: </span><a href="../interfaces/regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">[]</span></h5>
 								</li>
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
@@ -395,13 +387,13 @@
 					<a name="setselectionfromregion" class="tsd-anchor"></a>
 					<h3>set<wbr>Selection<wbr>From<wbr>Region</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">set<wbr>Selection<wbr>From<wbr>Region<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, region<span class="tsd-signature-symbol">: </span><a href="../interfaces/regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">set<wbr>Selection<wbr>From<wbr>Region<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, region<span class="tsd-signature-symbol">: </span><a href="../interfaces/regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:28</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:18</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -418,6 +410,9 @@
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -427,19 +422,19 @@
 					<a name="setselectionfromresidueselection" class="tsd-anchor"></a>
 					<h3>set<wbr>Selection<wbr>From<wbr>Residue<wbr>Selection</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
-						<li class="tsd-signature tsd-kind-icon">set<wbr>Selection<wbr>From<wbr>Residue<wbr>Selection<span class="tsd-signature-symbol">(</span>res<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/residueselectioninterface.html" class="tsd-signature-type">ResidueSelectionInterface</a><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, source<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"structure"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"sequence"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">set<wbr>Selection<wbr>From<wbr>Residue<wbr>Selection<span class="tsd-signature-symbol">(</span>res<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguaroset.html" class="tsd-signature-type">SaguaroSet</a><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, source<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"structure"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"sequence"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:52</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:42</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>res: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/residueselectioninterface.html" class="tsd-signature-type">ResidueSelectionInterface</a><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>res: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/saguaroset.html" class="tsd-signature-type">SaguaroSet</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>

+ 23 - 23
docs/classes/rcsbfvsequence.html

@@ -144,7 +144,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="chaindisplay.html">ChainDisplay</a>.<a href="chaindisplay.html#constructor">constructor</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:474</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:479</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -168,7 +168,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="chaindisplay.html">ChainDisplay</a>.<a href="chaindisplay.html#constructor">constructor</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:476</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:481</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -203,7 +203,7 @@
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#context">context</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:474</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:479</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -227,11 +227,11 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited">
 					<a name="props" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagReadonly">Readonly</span> props</h3>
-					<div class="tsd-signature tsd-kind-icon">props<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/rcsbfvsequenceinterface.html" class="tsd-signature-type">RcsbFvSequenceInterface</a><span class="tsd-signature-symbol"> &amp; </span><a href="../interfaces/callbackconfig.html" class="tsd-signature-type">CallbackConfig</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>plugin<span class="tsd-signature-symbol">: </span><a href="../interfaces/saguaroplugininterface.html" class="tsd-signature-type">SaguaroPluginInterface</a><span class="tsd-signature-symbol">; </span>selectorManager<span class="tsd-signature-symbol">: </span><a href="rcsbfvselectormanager.html" class="tsd-signature-type">RcsbFvSelectorManager</a><span class="tsd-signature-symbol">; </span>unmount<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>flag<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>children<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">ReactNode</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">props<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/rcsbfvsequenceinterface.html" class="tsd-signature-type">RcsbFvSequenceInterface</a><span class="tsd-signature-symbol"> &amp; </span><a href="../interfaces/callbackconfig.html" class="tsd-signature-type">CallbackConfig</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>plugin<span class="tsd-signature-symbol">: </span><a href="../interfaces/saguaroplugininterface.html" class="tsd-signature-type">SaguaroPluginInterface</a><span class="tsd-signature-symbol">; </span>selectorManager<span class="tsd-signature-symbol">: </span><a href="rcsbfvselectormanager.html" class="tsd-signature-type">RcsbFvSelectorManager</a><span class="tsd-signature-symbol">; </span>unmount<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>flag<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>children<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">ReactNode</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#props">props</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:499</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:504</li>
 						</ul>
 					</aside>
 				</section>
@@ -242,7 +242,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#refs">refs</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:505</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:510</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -268,18 +268,18 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#state">state</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:500</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:505</li>
 						</ul>
 					</aside>
 				</section>
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-static">
 					<a name="contexttype" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagStatic">Static</span> <span class="tsd-flag ts-flagOptional">Optional</span> context<wbr>Type</h3>
-					<div class="tsd-signature tsd-kind-icon">context<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Context</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">context<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Context</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></div>
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#contexttype">contextType</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:456</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:461</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -318,7 +318,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillmount">UNSAFE_componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:712</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:717</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -356,7 +356,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillreceiveprops">UNSAFE_componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:744</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:749</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -405,7 +405,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillupdate">UNSAFE_componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:772</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:777</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -455,7 +455,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidcatch">componentDidCatch</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:641</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:646</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -488,7 +488,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="chaindisplay.html">ChainDisplay</a>.<a href="chaindisplay.html#componentdidmount">componentDidMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:620</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:625</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -511,7 +511,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidupdate">componentDidUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:683</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:688</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -547,7 +547,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillmount">componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:698</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:703</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -584,7 +584,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillreceiveprops">componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:727</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:732</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -632,7 +632,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="chaindisplay.html">ChainDisplay</a>.<a href="chaindisplay.html#componentwillunmount">componentWillUnmount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:636</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:641</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -656,7 +656,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillupdate">componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:757</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:762</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -705,7 +705,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#forceupdate">forceUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:491</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:496</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -729,7 +729,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#getsnapshotbeforeupdate">getSnapshotBeforeUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:677</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:682</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -783,7 +783,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#setstate">setState</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:486</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:491</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-type-parameters-title">Type parameters</h4>
@@ -816,7 +816,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#shouldcomponentupdate">shouldComponentUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:631</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:636</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">

+ 22 - 22
docs/classes/rcsbfvstructure.html

@@ -146,7 +146,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="chaindisplay.html">ChainDisplay</a>.<a href="chaindisplay.html#constructor">constructor</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:474</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:479</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -170,7 +170,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="chaindisplay.html">ChainDisplay</a>.<a href="chaindisplay.html#constructor">constructor</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:476</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:481</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -205,7 +205,7 @@
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#context">context</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:474</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:479</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -229,11 +229,11 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited">
 					<a name="props" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagReadonly">Readonly</span> props</h3>
-					<div class="tsd-signature tsd-kind-icon">props<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/rcsbfvstructureinterface.html" class="tsd-signature-type">RcsbFvStructureInterface</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>plugin<span class="tsd-signature-symbol">: </span><a href="../interfaces/saguaroplugininterface.html" class="tsd-signature-type">SaguaroPluginInterface</a><span class="tsd-signature-symbol">; </span>selectorManager<span class="tsd-signature-symbol">: </span><a href="rcsbfvselectormanager.html" class="tsd-signature-type">RcsbFvSelectorManager</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>children<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">ReactNode</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">props<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><a href="../interfaces/rcsbfvstructureinterface.html" class="tsd-signature-type">RcsbFvStructureInterface</a><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">{ </span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>plugin<span class="tsd-signature-symbol">: </span><a href="../interfaces/saguaroplugininterface.html" class="tsd-signature-type">SaguaroPluginInterface</a><span class="tsd-signature-symbol">; </span>selectorManager<span class="tsd-signature-symbol">: </span><a href="rcsbfvselectormanager.html" class="tsd-signature-type">RcsbFvSelectorManager</a><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>children<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">ReactNode</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#props">props</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:499</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:504</li>
 						</ul>
 					</aside>
 				</section>
@@ -244,7 +244,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#refs">refs</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:505</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:510</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -270,18 +270,18 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#state">state</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:500</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:505</li>
 						</ul>
 					</aside>
 				</section>
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-static">
 					<a name="contexttype" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagStatic">Static</span> <span class="tsd-flag ts-flagOptional">Optional</span> context<wbr>Type</h3>
-					<div class="tsd-signature tsd-kind-icon">context<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Context</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">context<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Context</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span></div>
 					<aside class="tsd-sources">
 						<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#contexttype">contextType</a></p>
 						<ul>
-							<li>Defined in node_modules/@types/react/index.d.ts:456</li>
+							<li>Defined in node_modules/@types/react/index.d.ts:461</li>
 						</ul>
 					</aside>
 					<div class="tsd-comment tsd-typography">
@@ -320,7 +320,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillmount">UNSAFE_componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:712</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:717</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -358,7 +358,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillreceiveprops">UNSAFE_componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:744</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:749</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -407,7 +407,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#unsafe_componentwillupdate">UNSAFE_componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:772</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:777</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -457,7 +457,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidcatch">componentDidCatch</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:641</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:646</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -508,7 +508,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentdidupdate">componentDidUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:683</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:688</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -544,7 +544,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillmount">componentWillMount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:698</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:703</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -581,7 +581,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillreceiveprops">componentWillReceiveProps</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:727</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:732</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -629,7 +629,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="chaindisplay.html">ChainDisplay</a>.<a href="chaindisplay.html#componentwillunmount">componentWillUnmount</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:636</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:641</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -653,7 +653,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#componentwillupdate">componentWillUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:757</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:762</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -702,7 +702,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#forceupdate">forceUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:491</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:496</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -726,7 +726,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#getsnapshotbeforeupdate">getSnapshotBeforeUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:677</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:682</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">
@@ -780,7 +780,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#setstate">setState</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:486</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:491</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-type-parameters-title">Type parameters</h4>
@@ -813,7 +813,7 @@ context!: React.ContextType&lt;<span class="hljs-keyword">typeof</span> MyContex
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="abstractview.html">AbstractView</a>.<a href="abstractview.html#shouldcomponentupdate">shouldComponentUpdate</a></p>
 								<ul>
-									<li>Defined in node_modules/@types/react/index.d.ts:631</li>
+									<li>Defined in node_modules/@types/react/index.d.ts:636</li>
 								</ul>
 							</aside>
 							<div class="tsd-comment tsd-typography">

+ 5 - 5
docs/enums/loadmethod.html

@@ -91,7 +91,7 @@
 					<div class="tsd-signature tsd-kind-icon">load<wbr>Pdb<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = &quot;loadPdbId&quot;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:36</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:40</li>
 						</ul>
 					</aside>
 				</section>
@@ -101,7 +101,7 @@
 					<div class="tsd-signature tsd-kind-icon">load<wbr>Pdb<wbr>Ids<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = &quot;loadPdbIds&quot;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:37</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:41</li>
 						</ul>
 					</aside>
 				</section>
@@ -111,7 +111,7 @@
 					<div class="tsd-signature tsd-kind-icon">load<wbr>Snapshot<wbr>From<wbr>Url<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = &quot;loadSnapshotFromUrl&quot;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:39</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:43</li>
 						</ul>
 					</aside>
 				</section>
@@ -121,7 +121,7 @@
 					<div class="tsd-signature tsd-kind-icon">load<wbr>Structure<wbr>From<wbr>Data<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = &quot;loadStructureFromData&quot;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:40</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:44</li>
 						</ul>
 					</aside>
 				</section>
@@ -131,7 +131,7 @@
 					<div class="tsd-signature tsd-kind-icon">load<wbr>Structure<wbr>From<wbr>Url<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol"> = &quot;loadStructureFromUrl&quot;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:38</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:42</li>
 						</ul>
 					</aside>
 				</section>

+ 134 - 35
docs/globals.html

@@ -103,7 +103,6 @@
 								<li class="tsd-kind-interface"><a href="interfaces/callbackconfig.html" class="tsd-kind-icon">Callback<wbr>Config</a></li>
 								<li class="tsd-kind-interface"><a href="interfaces/chaindisplayinterface.html" class="tsd-kind-icon">Chain<wbr>Display<wbr>Interface</a></li>
 								<li class="tsd-kind-interface"><a href="interfaces/chaindisplaystate.html" class="tsd-kind-icon">Chain<wbr>Display<wbr>State</a></li>
-								<li class="tsd-kind-interface"><a href="interfaces/chainselectioninterface.html" class="tsd-kind-icon">Chain<wbr>Selection<wbr>Interface</a></li>
 								<li class="tsd-kind-interface"><a href="interfaces/customviewinterface.html" class="tsd-kind-icon">Custom<wbr>View<wbr>Interface</a></li>
 								<li class="tsd-kind-interface"><a href="interfaces/featureblockinterface.html" class="tsd-kind-icon">Feature<wbr>Block<wbr>Interface</a></li>
 								<li class="tsd-kind-interface"><a href="interfaces/featureviewinterface.html" class="tsd-kind-icon">Feature<wbr>View<wbr>Interface</a></li>
@@ -119,9 +118,13 @@
 								<li class="tsd-kind-interface"><a href="interfaces/rcsbfvsequenceinterface.html" class="tsd-kind-icon">Rcsb<wbr>FvSequence<wbr>Interface</a></li>
 								<li class="tsd-kind-interface"><a href="interfaces/rcsbfvstructureinterface.html" class="tsd-kind-icon">Rcsb<wbr>FvStructure<wbr>Interface</a></li>
 								<li class="tsd-kind-interface"><a href="interfaces/regionselectioninterface.html" class="tsd-kind-icon">Region<wbr>Selection<wbr>Interface</a></li>
-								<li class="tsd-kind-interface"><a href="interfaces/residueselectioninterface.html" class="tsd-kind-icon">Residue<wbr>Selection<wbr>Interface</a></li>
+								<li class="tsd-kind-interface"><a href="interfaces/saguarochain.html" class="tsd-kind-icon">Saguaro<wbr>Chain</a></li>
 								<li class="tsd-kind-interface"><a href="interfaces/saguaroplugininterface.html" class="tsd-kind-icon">Saguaro<wbr>Plugin<wbr>Interface</a></li>
 								<li class="tsd-kind-interface"><a href="interfaces/saguaropluginpublicinterface.html" class="tsd-kind-icon">Saguaro<wbr>Plugin<wbr>Public<wbr>Interface</a></li>
+								<li class="tsd-kind-interface"><a href="interfaces/saguaroposition.html" class="tsd-kind-icon">Saguaro<wbr>Position</a></li>
+								<li class="tsd-kind-interface"><a href="interfaces/saguarorange.html" class="tsd-kind-icon">Saguaro<wbr>Range</a></li>
+								<li class="tsd-kind-interface"><a href="interfaces/saguaroregionlist.html" class="tsd-kind-icon">Saguaro<wbr>Region<wbr>List</a></li>
+								<li class="tsd-kind-interface"><a href="interfaces/saguaroset.html" class="tsd-kind-icon">Saguaro<wbr>Set</a></li>
 								<li class="tsd-kind-interface"><a href="interfaces/sequenceviewinterface.html" class="tsd-kind-icon">Sequence<wbr>View<wbr>Interface</a></li>
 								<li class="tsd-kind-interface"><a href="interfaces/updateconfiginterface.html" class="tsd-kind-icon">Update<wbr>Config<wbr>Interface</a></li>
 							</ul>
@@ -129,8 +132,10 @@
 						<section class="tsd-index-section ">
 							<h3>Type aliases</h3>
 							<ul class="tsd-index-list">
+								<li class="tsd-kind-type-alias"><a href="globals.html#chaininfo" class="tsd-kind-icon">Chain<wbr>Info</a></li>
 								<li class="tsd-kind-type-alias"><a href="globals.html#chaintype" class="tsd-kind-icon">Chain<wbr>Type</a></li>
 								<li class="tsd-kind-type-alias"><a href="globals.html#customviewstateinterface" class="tsd-kind-icon">Custom<wbr>View<wbr>State<wbr>Interface</a></li>
+								<li class="tsd-kind-type-alias"><a href="globals.html#operatorinfo" class="tsd-kind-icon">Operator<wbr>Info</a></li>
 								<li class="tsd-kind-type-alias"><a href="globals.html#saguaropluginmodelmaptype" class="tsd-kind-icon">Saguaro<wbr>Plugin<wbr>Model<wbr>Map<wbr>Type</a></li>
 								<li class="tsd-kind-type-alias"><a href="globals.html#structureobject" class="tsd-kind-icon">Structure<wbr>Object</a></li>
 							</ul>
@@ -152,6 +157,7 @@
 								<li class="tsd-kind-function"><a href="globals.html#getstructure" class="tsd-kind-icon">get<wbr>Structure</a></li>
 								<li class="tsd-kind-function"><a href="globals.html#getstructureoptions" class="tsd-kind-icon">get<wbr>Structure<wbr>Options</a></li>
 								<li class="tsd-kind-function"><a href="globals.html#getstructurewithmodelid" class="tsd-kind-icon">get<wbr>Structure<wbr>With<wbr>Model<wbr>Id</a></li>
+								<li class="tsd-kind-function"><a href="globals.html#opkey" class="tsd-kind-icon">op<wbr>Key</a></li>
 								<li class="tsd-kind-function"><a href="globals.html#processgaps" class="tsd-kind-icon">process<wbr>Gaps</a></li>
 								<li class="tsd-kind-function"><a href="globals.html#processmultiplegaps" class="tsd-kind-icon">process<wbr>Multiple<wbr>Gaps</a></li>
 								<li class="tsd-kind-function"><a href="globals.html#selectionfilter" class="tsd-kind-icon">selection<wbr>Filter</a></li>
@@ -164,13 +170,46 @@
 			</section>
 			<section class="tsd-panel-group tsd-member-group ">
 				<h2>Type aliases</h2>
+				<section class="tsd-panel tsd-member tsd-kind-type-alias">
+					<a name="chaininfo" class="tsd-anchor"></a>
+					<h3>Chain<wbr>Info</h3>
+					<div class="tsd-signature tsd-kind-icon">Chain<wbr>Info<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>auth<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>entityId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>label<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>operators<span class="tsd-signature-symbol">: </span><a href="globals.html#operatorinfo" class="tsd-signature-type">OperatorInfo</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span>title<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>type<span class="tsd-signature-symbol">: </span><a href="globals.html#chaintype" class="tsd-signature-type">ChainType</a><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:9</li>
+						</ul>
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>auth<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>entity<wbr>Id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>label<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>operators<span class="tsd-signature-symbol">: </span><a href="globals.html#operatorinfo" class="tsd-signature-type">OperatorInfo</a><span class="tsd-signature-symbol">[]</span></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>title<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>type<span class="tsd-signature-symbol">: </span><a href="globals.html#chaintype" class="tsd-signature-type">ChainType</a></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
 				<section class="tsd-panel tsd-member tsd-kind-type-alias">
 					<a name="chaintype" class="tsd-anchor"></a>
 					<h3>Chain<wbr>Type</h3>
 					<div class="tsd-signature tsd-kind-icon">Chain<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"polymer"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"water"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"branched"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"non-polymer"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"macrolide"</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:500</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:7</li>
 						</ul>
 					</aside>
 				</section>
@@ -184,13 +223,34 @@
 						</ul>
 					</aside>
 				</section>
+				<section class="tsd-panel tsd-member tsd-kind-type-alias">
+					<a name="operatorinfo" class="tsd-anchor"></a>
+					<h3>Operator<wbr>Info</h3>
+					<div class="tsd-signature tsd-kind-icon">Operator<wbr>Info<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span>ids<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">; </span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></div>
+					<aside class="tsd-sources">
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:8</li>
+						</ul>
+					</aside>
+					<div class="tsd-type-declaration">
+						<h4>Type declaration</h4>
+						<ul class="tsd-parameters">
+							<li class="tsd-parameter">
+								<h5>ids<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5>
+							</li>
+							<li class="tsd-parameter">
+								<h5>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
+							</li>
+						</ul>
+					</div>
+				</section>
 				<section class="tsd-panel tsd-member tsd-kind-type-alias">
 					<a name="saguaropluginmodelmaptype" class="tsd-anchor"></a>
 					<h3>Saguaro<wbr>Plugin<wbr>Model<wbr>Map<wbr>Type</h3>
-					<div class="tsd-signature tsd-kind-icon">Saguaro<wbr>Plugin<wbr>Model<wbr>Map<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span>chains<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>auth<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>entityId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>label<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>title<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"polymer"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"water"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"branched"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"non-polymer"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"macrolide"</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span>entryId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></div>
+					<div class="tsd-signature tsd-kind-icon">Saguaro<wbr>Plugin<wbr>Model<wbr>Map<wbr>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">{ </span>chains<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="globals.html#chaininfo" class="tsd-signature-type">ChainInfo</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">; </span>entryId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:6</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:10</li>
 						</ul>
 					</aside>
 				</section>
@@ -240,7 +300,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:129</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:133</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -266,7 +326,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:334</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:370</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -292,7 +352,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:510</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:512</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -367,7 +427,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:502</li>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:504</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -406,17 +466,40 @@
 						</li>
 					</ul>
 				</section>
+				<section class="tsd-panel tsd-member tsd-kind-function">
+					<a name="opkey" class="tsd-anchor"></a>
+					<h3>op<wbr>Key</h3>
+					<ul class="tsd-signatures tsd-kind-function">
+						<li class="tsd-signature tsd-kind-icon">op<wbr>Key<span class="tsd-signature-symbol">(</span>l<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Location</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="globals.html#operatorinfo" class="tsd-signature-type">OperatorInfo</a></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:578</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5>l: <span class="tsd-signature-type">Location</span></h5>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <a href="globals.html#operatorinfo" class="tsd-signature-type">OperatorInfo</a></h4>
+						</li>
+					</ul>
+				</section>
 				<section class="tsd-panel tsd-member tsd-kind-function">
 					<a name="processgaps" class="tsd-anchor"></a>
 					<h3>process<wbr>Gaps</h3>
 					<ul class="tsd-signatures tsd-kind-function">
-						<li class="tsd-signature tsd-kind-icon">process<wbr>Gaps<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">RcsbFvTrackDataElementInterface</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">process<wbr>Gaps<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, e<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">RcsbFvTrackDataElementInterface</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:305</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:339</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -430,8 +513,11 @@
 								<li>
 									<h5>e: <span class="tsd-signature-type">RcsbFvTrackDataElementInterface</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h4>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span></h4>
 						</li>
 					</ul>
 				</section>
@@ -439,13 +525,13 @@
 					<a name="processmultiplegaps" class="tsd-anchor"></a>
 					<h3>process<wbr>Multiple<wbr>Gaps</h3>
 					<ul class="tsd-signatures tsd-kind-function">
-						<li class="tsd-signature tsd-kind-icon">process<wbr>Multiple<wbr>Gaps<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, list<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">RcsbFvTrackDataElementInterface</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">process<wbr>Multiple<wbr>Gaps<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, list<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">RcsbFvTrackDataElementInterface</span><span class="tsd-signature-symbol">&gt;</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:326</li>
+									<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:362</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -459,8 +545,11 @@
 								<li>
 									<h5>list: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">RcsbFvTrackDataElementInterface</span><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h4>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span></h4>
 						</li>
 					</ul>
 				</section>
@@ -468,30 +557,22 @@
 					<a name="selectionfilter" class="tsd-anchor"></a>
 					<h3>selection<wbr>Filter</h3>
 					<ul class="tsd-signatures tsd-kind-function">
-						<li class="tsd-signature tsd-kind-icon">selection<wbr>Filter<span class="tsd-signature-symbol">(</span>r<span class="tsd-signature-symbol">: </span><a href="interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a>, selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
+						<li class="tsd-signature tsd-kind-icon">selection<wbr>Filter<span class="tsd-signature-symbol">(</span>r<span class="tsd-signature-symbol">: </span><a href="interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a>, selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/saguarochain.html" class="tsd-signature-type">SaguaroChain</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:147</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:151</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>r: <a href="interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a></h5>
+									<h5>r: <a href="interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a></h5>
 								</li>
 								<li>
-									<h5>selection: <span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></h5>
-									<ul class="tsd-parameters">
-										<li class="tsd-parameter">
-											<h5><span class="tsd-flag ts-flagOptional">Optional</span> label<wbr>Asym<wbr>Id<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-										<li class="tsd-parameter">
-											<h5><span class="tsd-flag ts-flagOptional">Optional</span> model<wbr>Id<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
-										</li>
-									</ul>
+									<h5>selection: <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/saguarochain.html" class="tsd-signature-type">SaguaroChain</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
@@ -502,19 +583,19 @@
 					<a name="selectionfromresidueselection" class="tsd-anchor"></a>
 					<h3>selection<wbr>From<wbr>Residue<wbr>Selection</h3>
 					<ul class="tsd-signatures tsd-kind-function">
-						<li class="tsd-signature tsd-kind-icon">selection<wbr>From<wbr>Residue<wbr>Selection<span class="tsd-signature-symbol">(</span>res<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/residueselectioninterface.html" class="tsd-signature-type">ResidueSelectionInterface</a><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, source<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"structure"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"sequence"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">selection<wbr>From<wbr>Residue<wbr>Selection<span class="tsd-signature-symbol">(</span>res<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/saguaroset.html" class="tsd-signature-type">SaguaroSet</a><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, source<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"structure"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"sequence"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol">&gt;</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:109</li>
+									<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:101</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>res: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/residueselectioninterface.html" class="tsd-signature-type">ResidueSelectionInterface</a><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>res: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/saguaroset.html" class="tsd-signature-type">SaguaroSet</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
@@ -523,7 +604,7 @@
 									<h5>source: <span class="tsd-signature-type">"structure"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"sequence"</span></h5>
 								</li>
 							</ul>
-							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/chainselectioninterface.html" class="tsd-signature-type">ChainSelectionInterface</a><span class="tsd-signature-symbol">&gt;</span></h4>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="interfaces/saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a><span class="tsd-signature-symbol">&gt;</span></h4>
 						</li>
 					</ul>
 				</section>
@@ -631,9 +712,6 @@
 					<li class=" tsd-kind-interface">
 						<a href="interfaces/chaindisplaystate.html" class="tsd-kind-icon">Chain<wbr>Display<wbr>State</a>
 					</li>
-					<li class=" tsd-kind-interface">
-						<a href="interfaces/chainselectioninterface.html" class="tsd-kind-icon">Chain<wbr>Selection<wbr>Interface</a>
-					</li>
 					<li class=" tsd-kind-interface">
 						<a href="interfaces/customviewinterface.html" class="tsd-kind-icon">Custom<wbr>View<wbr>Interface</a>
 					</li>
@@ -680,7 +758,7 @@
 						<a href="interfaces/regionselectioninterface.html" class="tsd-kind-icon">Region<wbr>Selection<wbr>Interface</a>
 					</li>
 					<li class=" tsd-kind-interface">
-						<a href="interfaces/residueselectioninterface.html" class="tsd-kind-icon">Residue<wbr>Selection<wbr>Interface</a>
+						<a href="interfaces/saguarochain.html" class="tsd-kind-icon">Saguaro<wbr>Chain</a>
 					</li>
 					<li class=" tsd-kind-interface">
 						<a href="interfaces/saguaroplugininterface.html" class="tsd-kind-icon">Saguaro<wbr>Plugin<wbr>Interface</a>
@@ -688,18 +766,36 @@
 					<li class=" tsd-kind-interface">
 						<a href="interfaces/saguaropluginpublicinterface.html" class="tsd-kind-icon">Saguaro<wbr>Plugin<wbr>Public<wbr>Interface</a>
 					</li>
+					<li class=" tsd-kind-interface">
+						<a href="interfaces/saguaroposition.html" class="tsd-kind-icon">Saguaro<wbr>Position</a>
+					</li>
+					<li class=" tsd-kind-interface">
+						<a href="interfaces/saguarorange.html" class="tsd-kind-icon">Saguaro<wbr>Range</a>
+					</li>
+					<li class=" tsd-kind-interface">
+						<a href="interfaces/saguaroregionlist.html" class="tsd-kind-icon">Saguaro<wbr>Region<wbr>List</a>
+					</li>
+					<li class=" tsd-kind-interface">
+						<a href="interfaces/saguaroset.html" class="tsd-kind-icon">Saguaro<wbr>Set</a>
+					</li>
 					<li class=" tsd-kind-interface">
 						<a href="interfaces/sequenceviewinterface.html" class="tsd-kind-icon">Sequence<wbr>View<wbr>Interface</a>
 					</li>
 					<li class=" tsd-kind-interface">
 						<a href="interfaces/updateconfiginterface.html" class="tsd-kind-icon">Update<wbr>Config<wbr>Interface</a>
 					</li>
+					<li class=" tsd-kind-type-alias">
+						<a href="globals.html#chaininfo" class="tsd-kind-icon">Chain<wbr>Info</a>
+					</li>
 					<li class=" tsd-kind-type-alias">
 						<a href="globals.html#chaintype" class="tsd-kind-icon">Chain<wbr>Type</a>
 					</li>
 					<li class=" tsd-kind-type-alias">
 						<a href="globals.html#customviewstateinterface" class="tsd-kind-icon">Custom<wbr>View<wbr>State<wbr>Interface</a>
 					</li>
+					<li class=" tsd-kind-type-alias">
+						<a href="globals.html#operatorinfo" class="tsd-kind-icon">Operator<wbr>Info</a>
+					</li>
 					<li class=" tsd-kind-type-alias">
 						<a href="globals.html#saguaropluginmodelmaptype" class="tsd-kind-icon">Saguaro<wbr>Plugin<wbr>Model<wbr>Map<wbr>Type</a>
 					</li>
@@ -733,6 +829,9 @@
 					<li class=" tsd-kind-function">
 						<a href="globals.html#getstructurewithmodelid" class="tsd-kind-icon">get<wbr>Structure<wbr>With<wbr>Model<wbr>Id</a>
 					</li>
+					<li class=" tsd-kind-function">
+						<a href="globals.html#opkey" class="tsd-kind-icon">op<wbr>Key</a>
+					</li>
 					<li class=" tsd-kind-function">
 						<a href="globals.html#processgaps" class="tsd-kind-icon">process<wbr>Gaps</a>
 					</li>

+ 24 - 6
docs/index.html

@@ -75,7 +75,7 @@
 <div id="pfv"></div>
 <script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
 <script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script>
-<script crossorigin src="https://cdn.jsdelivr.net/npm/@rcsb/rcsb-saguaro-3d@1.1.0/build/dist/app.js"></script>
+<script crossorigin src="https://cdn.jsdelivr.net/npm/@rcsb/rcsb-saguaro-3d@1.2.0/build/dist/app.js"></script>
 <script type="text/javascript">
 var __assign = (this && this.__assign) || function () {
     __assign = Object.assign || function(t) {
@@ -348,7 +348,7 @@ document.addEventListener("DOMContentLoaded", function (event) {
 				<a href="#cdn-javascript" id="cdn-javascript" style="color: inherit; text-decoration: none;">
 					<h3>CDN JavaScript</h3>
 				</a>
-				<p><code>&lt;script src=&quot;https://cdn.jsdelivr.net/npm/@rcsb/rcsb-saguaro-3d@1.1.0/build/dist/app.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</code></p>
+				<p><code>&lt;script src=&quot;https://cdn.jsdelivr.net/npm/@rcsb/rcsb-saguaro-3d@1.2.0/build/dist/app.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</code></p>
 				<a href="#node-module-instalation" id="node-module-instalation" style="color: inherit; text-decoration: none;">
 					<h3>Node Module Instalation</h3>
 				</a>
@@ -587,9 +587,6 @@ document.addEventListener("DOMContentLoaded", function (event) {
 					<li class=" tsd-kind-interface">
 						<a href="interfaces/chaindisplaystate.html" class="tsd-kind-icon">Chain<wbr>Display<wbr>State</a>
 					</li>
-					<li class=" tsd-kind-interface">
-						<a href="interfaces/chainselectioninterface.html" class="tsd-kind-icon">Chain<wbr>Selection<wbr>Interface</a>
-					</li>
 					<li class=" tsd-kind-interface">
 						<a href="interfaces/customviewinterface.html" class="tsd-kind-icon">Custom<wbr>View<wbr>Interface</a>
 					</li>
@@ -636,7 +633,7 @@ document.addEventListener("DOMContentLoaded", function (event) {
 						<a href="interfaces/regionselectioninterface.html" class="tsd-kind-icon">Region<wbr>Selection<wbr>Interface</a>
 					</li>
 					<li class=" tsd-kind-interface">
-						<a href="interfaces/residueselectioninterface.html" class="tsd-kind-icon">Residue<wbr>Selection<wbr>Interface</a>
+						<a href="interfaces/saguarochain.html" class="tsd-kind-icon">Saguaro<wbr>Chain</a>
 					</li>
 					<li class=" tsd-kind-interface">
 						<a href="interfaces/saguaroplugininterface.html" class="tsd-kind-icon">Saguaro<wbr>Plugin<wbr>Interface</a>
@@ -644,18 +641,36 @@ document.addEventListener("DOMContentLoaded", function (event) {
 					<li class=" tsd-kind-interface">
 						<a href="interfaces/saguaropluginpublicinterface.html" class="tsd-kind-icon">Saguaro<wbr>Plugin<wbr>Public<wbr>Interface</a>
 					</li>
+					<li class=" tsd-kind-interface">
+						<a href="interfaces/saguaroposition.html" class="tsd-kind-icon">Saguaro<wbr>Position</a>
+					</li>
+					<li class=" tsd-kind-interface">
+						<a href="interfaces/saguarorange.html" class="tsd-kind-icon">Saguaro<wbr>Range</a>
+					</li>
+					<li class=" tsd-kind-interface">
+						<a href="interfaces/saguaroregionlist.html" class="tsd-kind-icon">Saguaro<wbr>Region<wbr>List</a>
+					</li>
+					<li class=" tsd-kind-interface">
+						<a href="interfaces/saguaroset.html" class="tsd-kind-icon">Saguaro<wbr>Set</a>
+					</li>
 					<li class=" tsd-kind-interface">
 						<a href="interfaces/sequenceviewinterface.html" class="tsd-kind-icon">Sequence<wbr>View<wbr>Interface</a>
 					</li>
 					<li class=" tsd-kind-interface">
 						<a href="interfaces/updateconfiginterface.html" class="tsd-kind-icon">Update<wbr>Config<wbr>Interface</a>
 					</li>
+					<li class=" tsd-kind-type-alias">
+						<a href="globals.html#chaininfo" class="tsd-kind-icon">Chain<wbr>Info</a>
+					</li>
 					<li class=" tsd-kind-type-alias">
 						<a href="globals.html#chaintype" class="tsd-kind-icon">Chain<wbr>Type</a>
 					</li>
 					<li class=" tsd-kind-type-alias">
 						<a href="globals.html#customviewstateinterface" class="tsd-kind-icon">Custom<wbr>View<wbr>State<wbr>Interface</a>
 					</li>
+					<li class=" tsd-kind-type-alias">
+						<a href="globals.html#operatorinfo" class="tsd-kind-icon">Operator<wbr>Info</a>
+					</li>
 					<li class=" tsd-kind-type-alias">
 						<a href="globals.html#saguaropluginmodelmaptype" class="tsd-kind-icon">Saguaro<wbr>Plugin<wbr>Model<wbr>Map<wbr>Type</a>
 					</li>
@@ -689,6 +704,9 @@ document.addEventListener("DOMContentLoaded", function (event) {
 					<li class=" tsd-kind-function">
 						<a href="globals.html#getstructurewithmodelid" class="tsd-kind-icon">get<wbr>Structure<wbr>With<wbr>Model<wbr>Id</a>
 					</li>
+					<li class=" tsd-kind-function">
+						<a href="globals.html#opkey" class="tsd-kind-icon">op<wbr>Key</a>
+					</li>
 					<li class=" tsd-kind-function">
 						<a href="globals.html#processgaps" class="tsd-kind-icon">process<wbr>Gaps</a>
 					</li>

+ 17 - 3
docs/interfaces/assemblyviewinterface.html

@@ -84,6 +84,7 @@
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="assemblyviewinterface.html#additionalconfig" class="tsd-kind-icon">additional<wbr>Config</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="assemblyviewinterface.html#entryid" class="tsd-kind-icon">entry<wbr>Id</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="assemblyviewinterface.html#instancesequenceconfig" class="tsd-kind-icon">instance<wbr>Sequence<wbr>Config</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="assemblyviewinterface.html#useoperatorsflag" class="tsd-kind-icon">use<wbr>Operators<wbr>Flag</a></li>
 							</ul>
 						</section>
 					</div>
@@ -97,7 +98,7 @@
 					<div class="tsd-signature tsd-kind-icon">additional<wbr>Config<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">RcsbFvAdditionalConfig</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:33</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:34</li>
 						</ul>
 					</aside>
 				</section>
@@ -107,7 +108,7 @@
 					<div class="tsd-signature tsd-kind-icon">entry<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:32</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:33</li>
 						</ul>
 					</aside>
 				</section>
@@ -117,7 +118,17 @@
 					<div class="tsd-signature tsd-kind-icon">instance<wbr>Sequence<wbr>Config<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">InstanceSequenceConfig</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:34</li>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:35</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+					<a name="useoperatorsflag" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagOptional">Optional</span> use<wbr>Operators<wbr>Flag</h3>
+					<div class="tsd-signature tsd-kind-icon">use<wbr>Operators<wbr>Flag<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span></div>
+					<aside class="tsd-sources">
+						<ul>
+							<li>Defined in src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx:36</li>
 						</ul>
 					</aside>
 				</section>
@@ -147,6 +158,9 @@
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
 								<a href="assemblyviewinterface.html#instancesequenceconfig" class="tsd-kind-icon">instance<wbr>Sequence<wbr>Config</a>
 							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface">
+								<a href="assemblyviewinterface.html#useoperatorsflag" class="tsd-kind-icon">use<wbr>Operators<wbr>Flag</a>
+							</li>
 						</ul>
 					</li>
 				</ul>

+ 2 - 2
docs/interfaces/loadmolstarinterface.html

@@ -96,7 +96,7 @@
 					<div class="tsd-signature tsd-kind-icon">load<wbr>Method<span class="tsd-signature-symbol">:</span> <a href="../enums/loadmethod.html" class="tsd-signature-type">LoadMethod</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:44</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:48</li>
 						</ul>
 					</aside>
 				</section>
@@ -106,7 +106,7 @@
 					<div class="tsd-signature tsd-kind-icon">load<wbr>Params<span class="tsd-signature-symbol">:</span> <a href="loadparams.html" class="tsd-signature-type">LoadParams</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="loadparams.html" class="tsd-signature-type">LoadParams</a><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:45</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:49</li>
 						</ul>
 					</aside>
 				</section>

+ 11 - 11
docs/interfaces/loadparams.html

@@ -116,7 +116,7 @@
 					<div class="tsd-signature tsd-kind-icon">data<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:56</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:60</li>
 						</ul>
 					</aside>
 				</section>
@@ -126,7 +126,7 @@
 					<div class="tsd-signature tsd-kind-icon">format<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">BuiltInTrajectoryFormat</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:53</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:57</li>
 						</ul>
 					</aside>
 				</section>
@@ -136,7 +136,7 @@
 					<div class="tsd-signature tsd-kind-icon">id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:57</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:61</li>
 						</ul>
 					</aside>
 				</section>
@@ -146,7 +146,7 @@
 					<div class="tsd-signature tsd-kind-icon">is<wbr>Binary<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:54</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:58</li>
 						</ul>
 					</aside>
 				</section>
@@ -156,7 +156,7 @@
 					<div class="tsd-signature tsd-kind-icon">matrix<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Mat4</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:51</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:55</li>
 						</ul>
 					</aside>
 				</section>
@@ -166,7 +166,7 @@
 					<div class="tsd-signature tsd-kind-icon">params<span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type">P</a></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:59</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:63</li>
 						</ul>
 					</aside>
 				</section>
@@ -176,7 +176,7 @@
 					<div class="tsd-signature tsd-kind-icon">pdb<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:49</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:53</li>
 						</ul>
 					</aside>
 				</section>
@@ -186,7 +186,7 @@
 					<div class="tsd-signature tsd-kind-icon">props<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">PresetProps</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:50</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:54</li>
 						</ul>
 					</aside>
 				</section>
@@ -196,7 +196,7 @@
 					<div class="tsd-signature tsd-kind-icon">repr<wbr>Provider<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">TrajectoryHierarchyPresetProvider</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">P</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:58</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:62</li>
 						</ul>
 					</aside>
 				</section>
@@ -206,7 +206,7 @@
 					<div class="tsd-signature tsd-kind-icon">type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">PluginState.SnapshotType</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:55</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:59</li>
 						</ul>
 					</aside>
 				</section>
@@ -216,7 +216,7 @@
 					<div class="tsd-signature tsd-kind-icon">url<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:52</li>
+							<li>Defined in src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts:56</li>
 						</ul>
 					</aside>
 				</section>

+ 14 - 0
docs/interfaces/rcsbfv3dassemblyinterface.html

@@ -91,6 +91,7 @@
 								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="rcsbfv3dassemblyinterface.html#cssconfig" class="tsd-kind-icon">css<wbr>Config</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="rcsbfv3dassemblyinterface.html#elementid" class="tsd-kind-icon">element<wbr>Id</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="rcsbfv3dassemblyinterface.html#instancesequenceconfig" class="tsd-kind-icon">instance<wbr>Sequence<wbr>Config</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="rcsbfv3dassemblyinterface.html#useoperatorsflag" class="tsd-kind-icon">use<wbr>Operators<wbr>Flag</a></li>
 							</ul>
 						</section>
 					</div>
@@ -164,6 +165,16 @@
 						</ul>
 					</aside>
 				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+					<a name="useoperatorsflag" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagOptional">Optional</span> use<wbr>Operators<wbr>Flag</h3>
+					<div class="tsd-signature tsd-kind-icon">use<wbr>Operators<wbr>Flag<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span></div>
+					<aside class="tsd-sources">
+						<ul>
+							<li>Defined in src/RcsbFv3D/RcsbFv3DAssembly.tsx:15</li>
+						</ul>
+					</aside>
+				</section>
 			</section>
 		</div>
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
@@ -196,6 +207,9 @@
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
 								<a href="rcsbfv3dassemblyinterface.html#instancesequenceconfig" class="tsd-kind-icon">instance<wbr>Sequence<wbr>Config</a>
 							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface">
+								<a href="rcsbfv3dassemblyinterface.html#useoperatorsflag" class="tsd-kind-icon">use<wbr>Operators<wbr>Flag</a>
+							</li>
 						</ul>
 					</li>
 				</ul>

+ 4 - 4
docs/interfaces/regionselectioninterface.html

@@ -98,7 +98,7 @@
 					<div class="tsd-signature tsd-kind-icon">begin<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:8</li>
+							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:4</li>
 						</ul>
 					</aside>
 				</section>
@@ -108,7 +108,7 @@
 					<div class="tsd-signature tsd-kind-icon">end<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:9</li>
+							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:5</li>
 						</ul>
 					</aside>
 				</section>
@@ -118,7 +118,7 @@
 					<div class="tsd-signature tsd-kind-icon">is<wbr>Empty<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:10</li>
+							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:6</li>
 						</ul>
 					</aside>
 				</section>
@@ -128,7 +128,7 @@
 					<div class="tsd-signature tsd-kind-icon">source<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"structure"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"sequence"</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:11</li>
+							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:7</li>
 						</ul>
 					</aside>
 				</section>

+ 31 - 17
docs/interfaces/chainselectioninterface.html → docs/interfaces/saguarochain.html

@@ -3,7 +3,7 @@
 <head>
 	<meta charset="utf-8">
 	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>ChainSelectionInterface | @rcsb/rcsb-saguaro-3d</title>
+	<title>SaguaroChain | @rcsb/rcsb-saguaro-3d</title>
 	<meta name="description" content="Documentation for @rcsb/rcsb-saguaro-3d">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
@@ -56,10 +56,10 @@
 					<a href="../globals.html">Globals</a>
 				</li>
 				<li>
-					<a href="chainselectioninterface.html">ChainSelectionInterface</a>
+					<a href="saguarochain.html">SaguaroChain</a>
 				</li>
 			</ul>
-			<h1>Interface ChainSelectionInterface</h1>
+			<h1>Interface SaguaroChain</h1>
 		</div>
 	</div>
 </header>
@@ -70,7 +70,21 @@
 				<h3>Hierarchy</h3>
 				<ul class="tsd-hierarchy">
 					<li>
-						<span class="target">ChainSelectionInterface</span>
+						<span class="target">SaguaroChain</span>
+						<ul class="tsd-hierarchy">
+							<li>
+								<a href="saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a>
+							</li>
+							<li>
+								<a href="saguarorange.html" class="tsd-signature-type">SaguaroRange</a>
+							</li>
+							<li>
+								<a href="saguaroset.html" class="tsd-signature-type">SaguaroSet</a>
+							</li>
+							<li>
+								<a href="saguaroregionlist.html" class="tsd-signature-type">SaguaroRegionList</a>
+							</li>
+						</ul>
 					</li>
 				</ul>
 			</section>
@@ -81,9 +95,9 @@
 						<section class="tsd-index-section ">
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="chainselectioninterface.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="chainselectioninterface.html#modelid" class="tsd-kind-icon">model<wbr>Id</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="chainselectioninterface.html#regions" class="tsd-kind-icon">regions</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguarochain.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguarochain.html#modelid" class="tsd-kind-icon">model<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguarochain.html#operatorname" class="tsd-kind-icon">operator<wbr>Name</a></li>
 							</ul>
 						</section>
 					</div>
@@ -97,7 +111,7 @@
 					<div class="tsd-signature tsd-kind-icon">label<wbr>Asym<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:16</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:14</li>
 						</ul>
 					</aside>
 				</section>
@@ -107,17 +121,17 @@
 					<div class="tsd-signature tsd-kind-icon">model<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:15</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:13</li>
 						</ul>
 					</aside>
 				</section>
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
-					<a name="regions" class="tsd-anchor"></a>
-					<h3>regions</h3>
-					<div class="tsd-signature tsd-kind-icon">regions<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a><span class="tsd-signature-symbol">&gt;</span></div>
+					<a name="operatorname" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagOptional">Optional</span> operator<wbr>Name</h3>
+					<div class="tsd-signature tsd-kind-icon">operator<wbr>Name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:17</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:15</li>
 						</ul>
 					</aside>
 				</section>
@@ -136,16 +150,16 @@
 				</ul>
 				<ul class="current">
 					<li class="current tsd-kind-interface">
-						<a href="chainselectioninterface.html" class="tsd-kind-icon">Chain<wbr>Selection<wbr>Interface</a>
+						<a href="saguarochain.html" class="tsd-kind-icon">Saguaro<wbr>Chain</a>
 						<ul>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="chainselectioninterface.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a>
+								<a href="saguarochain.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="chainselectioninterface.html#modelid" class="tsd-kind-icon">model<wbr>Id</a>
+								<a href="saguarochain.html#modelid" class="tsd-kind-icon">model<wbr>Id</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="chainselectioninterface.html#regions" class="tsd-kind-icon">regions</a>
+								<a href="saguarochain.html#operatorname" class="tsd-kind-icon">operator<wbr>Name</a>
 							</li>
 						</ul>
 					</li>

+ 186 - 214
docs/interfaces/saguaroplugininterface.html

@@ -93,14 +93,9 @@
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaroplugininterface.html#clear" class="tsd-kind-icon">clear</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#clearselection" class="tsd-kind-icon">clear<wbr>Selection</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#getcomponentset" class="tsd-kind-icon">get<wbr>Component<wbr>Set</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaroplugininterface.html#init" class="tsd-kind-icon">init</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#iscomponent" class="tsd-kind-icon">is<wbr>Component</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaroplugininterface.html#load" class="tsd-kind-icon">load</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaroplugininterface.html#plugincall" class="tsd-kind-icon">plugin<wbr>Call</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#removecomponent" class="tsd-kind-icon">remove<wbr>Component</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#resetcamera" class="tsd-kind-icon">reset<wbr>Camera</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaroplugininterface.html#sethovercallback" class="tsd-kind-icon">set<wbr>Hover<wbr>Callback</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaroplugininterface.html#setmodelchangecallback" class="tsd-kind-icon">set<wbr>Model<wbr>Change<wbr>Callback</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaroplugininterface.html#setrepresentationchangecallback" class="tsd-kind-icon">set<wbr>Representation<wbr>Change<wbr>Callback</a></li>
@@ -113,9 +108,14 @@
 							<ul class="tsd-index-list">
 								<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#camerafocus" class="tsd-kind-icon">camera<wbr>Focus</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#clearfocus" class="tsd-kind-icon">clear<wbr>Focus</a></li>
+								<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#clearselection" class="tsd-kind-icon">clear<wbr>Selection</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#colorcomponent" class="tsd-kind-icon">color<wbr>Component</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#createcomponent" class="tsd-kind-icon">create<wbr>Component</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#displaycomponent" class="tsd-kind-icon">display<wbr>Component</a></li>
+								<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#getcomponentset" class="tsd-kind-icon">get<wbr>Component<wbr>Set</a></li>
+								<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#iscomponent" class="tsd-kind-icon">is<wbr>Component</a></li>
+								<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#removecomponent" class="tsd-kind-icon">remove<wbr>Component</a></li>
+								<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#resetcamera" class="tsd-kind-icon">reset<wbr>Camera</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#select" class="tsd-kind-icon">select</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroplugininterface.html#setfocus" class="tsd-kind-icon">set<wbr>Focus</a></li>
 							</ul>
@@ -131,7 +131,7 @@
 					<div class="tsd-signature tsd-kind-icon">clear<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:12</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:39</li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -150,74 +150,13 @@
 						</ul>
 					</div>
 				</section>
-				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
-					<a name="clearselection" class="tsd-anchor"></a>
-					<h3>clear<wbr>Selection</h3>
-					<div class="tsd-signature tsd-kind-icon">clear<wbr>Selection<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, option<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
-					<aside class="tsd-sources">
-						<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#clearselection">clearSelection</a></p>
-						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:24</li>
-						</ul>
-					</aside>
-					<div class="tsd-type-declaration">
-						<h4>Type declaration</h4>
-						<ul class="tsd-parameters">
-							<li class="tsd-parameter-signature">
-								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-property">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, option<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-								</ul>
-								<ul class="tsd-descriptions">
-									<li class="tsd-description">
-										<h4 class="tsd-parameters-title">Parameters</h4>
-										<ul class="tsd-parameters">
-											<li>
-												<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
-											</li>
-											<li>
-												<h5><span class="tsd-flag ts-flagOptional">Optional</span> option: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></h5>
-											</li>
-										</ul>
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
-									</li>
-								</ul>
-							</li>
-						</ul>
-					</div>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
-					<a name="getcomponentset" class="tsd-anchor"></a>
-					<h3>get<wbr>Component<wbr>Set</h3>
-					<div class="tsd-signature tsd-kind-icon">get<wbr>Component<wbr>Set<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></div>
-					<aside class="tsd-sources">
-						<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#getcomponentset">getComponentSet</a></p>
-						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:34</li>
-						</ul>
-					</aside>
-					<div class="tsd-type-declaration">
-						<h4>Type declaration</h4>
-						<ul class="tsd-parameters">
-							<li class="tsd-parameter-signature">
-								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-property">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></li>
-								</ul>
-								<ul class="tsd-descriptions">
-									<li class="tsd-description">
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h4>
-									</li>
-								</ul>
-							</li>
-						</ul>
-					</div>
-				</section>
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="init" class="tsd-anchor"></a>
 					<h3>init</h3>
 					<div class="tsd-signature tsd-kind-icon">init<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>elementId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, props<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:9</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:36</li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -245,45 +184,13 @@
 						</ul>
 					</div>
 				</section>
-				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
-					<a name="iscomponent" class="tsd-anchor"></a>
-					<h3>is<wbr>Component</h3>
-					<div class="tsd-signature tsd-kind-icon">is<wbr>Component<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">boolean</span></div>
-					<aside class="tsd-sources">
-						<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#iscomponent">isComponent</a></p>
-						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:31</li>
-						</ul>
-					</aside>
-					<div class="tsd-type-declaration">
-						<h4>Type declaration</h4>
-						<ul class="tsd-parameters">
-							<li class="tsd-parameter-signature">
-								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-property">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
-								</ul>
-								<ul class="tsd-descriptions">
-									<li class="tsd-description">
-										<h4 class="tsd-parameters-title">Parameters</h4>
-										<ul class="tsd-parameters">
-											<li>
-												<h5>componentId: <span class="tsd-signature-type">string</span></h5>
-											</li>
-										</ul>
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
-									</li>
-								</ul>
-							</li>
-						</ul>
-					</div>
-				</section>
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="load" class="tsd-anchor"></a>
 					<h3>load</h3>
 					<div class="tsd-signature tsd-kind-icon">load<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>args<span class="tsd-signature-symbol">: </span><a href="loadmolstarinterface.html" class="tsd-signature-type">LoadMolstarInterface</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:10</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:37</li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -314,7 +221,7 @@
 					<div class="tsd-signature tsd-kind-icon">plugin<wbr>Call<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>f<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>plugin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">PluginContext</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:11</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:38</li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -357,71 +264,13 @@
 						</ul>
 					</div>
 				</section>
-				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
-					<a name="removecomponent" class="tsd-anchor"></a>
-					<h3>remove<wbr>Component</h3>
-					<div class="tsd-signature tsd-kind-icon">remove<wbr>Component<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
-					<aside class="tsd-sources">
-						<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#removecomponent">removeComponent</a></p>
-						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:30</li>
-						</ul>
-					</aside>
-					<div class="tsd-type-declaration">
-						<h4>Type declaration</h4>
-						<ul class="tsd-parameters">
-							<li class="tsd-parameter-signature">
-								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-property">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-								</ul>
-								<ul class="tsd-descriptions">
-									<li class="tsd-description">
-										<h4 class="tsd-parameters-title">Parameters</h4>
-										<ul class="tsd-parameters">
-											<li>
-												<h5><span class="tsd-flag ts-flagOptional">Optional</span> componentId: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
-											</li>
-										</ul>
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
-									</li>
-								</ul>
-							</li>
-						</ul>
-					</div>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
-					<a name="resetcamera" class="tsd-anchor"></a>
-					<h3>reset<wbr>Camera</h3>
-					<div class="tsd-signature tsd-kind-icon">reset<wbr>Camera<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
-					<aside class="tsd-sources">
-						<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#resetcamera">resetCamera</a></p>
-						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:39</li>
-						</ul>
-					</aside>
-					<div class="tsd-type-declaration">
-						<h4>Type declaration</h4>
-						<ul class="tsd-parameters">
-							<li class="tsd-parameter-signature">
-								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-property">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-								</ul>
-								<ul class="tsd-descriptions">
-									<li class="tsd-description">
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
-									</li>
-								</ul>
-							</li>
-						</ul>
-					</div>
-				</section>
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="sethovercallback" class="tsd-anchor"></a>
 					<h3>set<wbr>Hover<wbr>Callback</h3>
 					<div class="tsd-signature tsd-kind-icon">set<wbr>Hover<wbr>Callback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>g<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>flag<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:15</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:42</li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -470,7 +319,7 @@
 					<div class="tsd-signature tsd-kind-icon">set<wbr>Model<wbr>Change<wbr>Callback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>f<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>modelMap<span class="tsd-signature-symbol">: </span><a href="../globals.html#saguaropluginmodelmaptype" class="tsd-signature-type">SaguaroPluginModelMapType</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:14</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:41</li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -519,7 +368,7 @@
 					<div class="tsd-signature tsd-kind-icon">set<wbr>Representation<wbr>Change<wbr>Callback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>g<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>flag<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:16</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:43</li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -568,7 +417,7 @@
 					<div class="tsd-signature tsd-kind-icon">set<wbr>Select<wbr>Callback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>g<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>flag<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:13</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:40</li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -617,7 +466,7 @@
 					<div class="tsd-signature tsd-kind-icon">unset<wbr>Callbacks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:17</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:44</li>
 						</ul>
 					</aside>
 					<div class="tsd-type-declaration">
@@ -643,15 +492,15 @@
 					<a name="camerafocus" class="tsd-anchor"></a>
 					<h3>camera<wbr>Focus</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
-						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, positions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, positions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#camerafocus">cameraFocus</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:37</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:64</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -665,6 +514,9 @@
 								<li>
 									<h5>positions: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -672,7 +524,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#camerafocus">cameraFocus</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:38</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:65</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -689,6 +541,9 @@
 								<li>
 									<h5>end: <span class="tsd-signature-type">number</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -705,13 +560,40 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#clearfocus">clearFocus</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:36</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:63</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
 					</ul>
 				</section>
+				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+					<a name="clearselection" class="tsd-anchor"></a>
+					<h3>clear<wbr>Selection</h3>
+					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+						<li class="tsd-signature tsd-kind-icon">clear<wbr>Selection<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, option<span class="tsd-signature-symbol">?: </span><a href="saguarochain.html" class="tsd-signature-type">SaguaroChain</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#clearselection">clearSelection</a></p>
+								<ul>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:51</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
+								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> option: <a href="saguarochain.html" class="tsd-signature-type">SaguaroChain</a></h5>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+						</li>
+					</ul>
+				</section>
 				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
 					<a name="colorcomponent" class="tsd-anchor"></a>
 					<h3>color<wbr>Component</h3>
@@ -723,7 +605,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#colorcomponent">colorComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:29</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:56</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -743,17 +625,17 @@
 					<a name="createcomponent" class="tsd-anchor"></a>
 					<h3>create<wbr>Component</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
-						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
-						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
-						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, residues<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
-						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, residues<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, residues<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, residues<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#createcomponent">createComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:25</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:52</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -776,6 +658,9 @@
 								<li>
 									<h5>representationType: <span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
 						</li>
@@ -783,7 +668,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#createcomponent">createComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:26</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:53</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -800,6 +685,9 @@
 								<li>
 									<h5>representationType: <span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
 						</li>
@@ -807,7 +695,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#createcomponent">createComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:27</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:54</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -816,10 +704,7 @@
 									<h5>componentId: <span class="tsd-signature-type">string</span></h5>
 								</li>
 								<li>
-									<h5>modelId: <span class="tsd-signature-type">string</span></h5>
-								</li>
-								<li>
-									<h5>residues: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>residues: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>representationType: <span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span></h5>
@@ -831,7 +716,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#createcomponent">createComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:28</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:55</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -840,10 +725,7 @@
 									<h5>componentId: <span class="tsd-signature-type">string</span></h5>
 								</li>
 								<li>
-									<h5>modelId: <span class="tsd-signature-type">string</span></h5>
-								</li>
-								<li>
-									<h5>residues: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>residues: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>representationType: <span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span></h5>
@@ -865,7 +747,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#displaycomponent">displayComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:32</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:59</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -883,7 +765,7 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#displaycomponent">displayComponent</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:33</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:60</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -896,20 +778,104 @@
 						</li>
 					</ul>
 				</section>
+				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+					<a name="getcomponentset" class="tsd-anchor"></a>
+					<h3>get<wbr>Component<wbr>Set</h3>
+					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+						<li class="tsd-signature tsd-kind-icon">get<wbr>Component<wbr>Set<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#getcomponentset">getComponentSet</a></p>
+								<ul>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:61</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h4>
+						</li>
+					</ul>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+					<a name="iscomponent" class="tsd-anchor"></a>
+					<h3>is<wbr>Component</h3>
+					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+						<li class="tsd-signature tsd-kind-icon">is<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#iscomponent">isComponent</a></p>
+								<ul>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:58</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5>componentId: <span class="tsd-signature-type">string</span></h5>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
+						</li>
+					</ul>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+					<a name="removecomponent" class="tsd-anchor"></a>
+					<h3>remove<wbr>Component</h3>
+					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+						<li class="tsd-signature tsd-kind-icon">remove<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#removecomponent">removeComponent</a></p>
+								<ul>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:57</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> componentId: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+						</li>
+					</ul>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+					<a name="resetcamera" class="tsd-anchor"></a>
+					<h3>reset<wbr>Camera</h3>
+					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+						<li class="tsd-signature tsd-kind-icon">reset<wbr>Camera<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#resetcamera">resetCamera</a></p>
+								<ul>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:66</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+						</li>
+					</ul>
+				</section>
 				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
 					<a name="select" class="tsd-anchor"></a>
 					<h3>select</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
-						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, y<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, y<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"add"</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#select">select</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:21</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:48</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -932,6 +898,9 @@
 								<li>
 									<h5>operation: <span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"add"</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -939,13 +908,13 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#select">select</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:22</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:49</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
@@ -960,13 +929,13 @@
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#select">select</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:23</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:50</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
@@ -983,14 +952,14 @@
 					<a name="setfocus" class="tsd-anchor"></a>
 					<h3>set<wbr>Focus</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
-						<li class="tsd-signature tsd-kind-icon">set<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">set<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<p>Inherited from <a href="saguaroplugininterface.html">SaguaroPluginInterface</a>.<a href="saguaroplugininterface.html#setfocus">setFocus</a></p>
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:35</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:62</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -1007,6 +976,9 @@
 								<li>
 									<h5>end: <span class="tsd-signature-type">number</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -1032,30 +1004,15 @@
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
 								<a href="saguaroplugininterface.html#clear" class="tsd-kind-icon">clear</a>
 							</li>
-							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
-								<a href="saguaroplugininterface.html#clearselection" class="tsd-kind-icon">clear<wbr>Selection</a>
-							</li>
-							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
-								<a href="saguaroplugininterface.html#getcomponentset" class="tsd-kind-icon">get<wbr>Component<wbr>Set</a>
-							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
 								<a href="saguaroplugininterface.html#init" class="tsd-kind-icon">init</a>
 							</li>
-							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
-								<a href="saguaroplugininterface.html#iscomponent" class="tsd-kind-icon">is<wbr>Component</a>
-							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
 								<a href="saguaroplugininterface.html#load" class="tsd-kind-icon">load</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
 								<a href="saguaroplugininterface.html#plugincall" class="tsd-kind-icon">plugin<wbr>Call</a>
 							</li>
-							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
-								<a href="saguaroplugininterface.html#removecomponent" class="tsd-kind-icon">remove<wbr>Component</a>
-							</li>
-							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
-								<a href="saguaroplugininterface.html#resetcamera" class="tsd-kind-icon">reset<wbr>Camera</a>
-							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
 								<a href="saguaroplugininterface.html#sethovercallback" class="tsd-kind-icon">set<wbr>Hover<wbr>Callback</a>
 							</li>
@@ -1077,6 +1034,9 @@
 							<li class=" tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
 								<a href="saguaroplugininterface.html#clearfocus" class="tsd-kind-icon">clear<wbr>Focus</a>
 							</li>
+							<li class=" tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroplugininterface.html#clearselection" class="tsd-kind-icon">clear<wbr>Selection</a>
+							</li>
 							<li class=" tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
 								<a href="saguaroplugininterface.html#colorcomponent" class="tsd-kind-icon">color<wbr>Component</a>
 							</li>
@@ -1086,6 +1046,18 @@
 							<li class=" tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
 								<a href="saguaroplugininterface.html#displaycomponent" class="tsd-kind-icon">display<wbr>Component</a>
 							</li>
+							<li class=" tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroplugininterface.html#getcomponentset" class="tsd-kind-icon">get<wbr>Component<wbr>Set</a>
+							</li>
+							<li class=" tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroplugininterface.html#iscomponent" class="tsd-kind-icon">is<wbr>Component</a>
+							</li>
+							<li class=" tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroplugininterface.html#removecomponent" class="tsd-kind-icon">remove<wbr>Component</a>
+							</li>
+							<li class=" tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroplugininterface.html#resetcamera" class="tsd-kind-icon">reset<wbr>Camera</a>
+							</li>
 							<li class=" tsd-kind-method tsd-parent-kind-interface tsd-is-inherited">
 								<a href="saguaroplugininterface.html#select" class="tsd-kind-icon">select</a>
 							</li>

+ 172 - 208
docs/interfaces/saguaropluginpublicinterface.html

@@ -83,24 +83,19 @@
 				<h2>Index</h2>
 				<section class="tsd-panel tsd-index-panel">
 					<div class="tsd-index-content">
-						<section class="tsd-index-section ">
-							<h3>Properties</h3>
-							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#clearselection" class="tsd-kind-icon">clear<wbr>Selection</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#getcomponentset" class="tsd-kind-icon">get<wbr>Component<wbr>Set</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#iscomponent" class="tsd-kind-icon">is<wbr>Component</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#removecomponent" class="tsd-kind-icon">remove<wbr>Component</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#resetcamera" class="tsd-kind-icon">reset<wbr>Camera</a></li>
-							</ul>
-						</section>
 						<section class="tsd-index-section ">
 							<h3>Methods</h3>
 							<ul class="tsd-index-list">
 								<li class="tsd-kind-method tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#camerafocus" class="tsd-kind-icon">camera<wbr>Focus</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#clearfocus" class="tsd-kind-icon">clear<wbr>Focus</a></li>
+								<li class="tsd-kind-method tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#clearselection" class="tsd-kind-icon">clear<wbr>Selection</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#colorcomponent" class="tsd-kind-icon">color<wbr>Component</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#createcomponent" class="tsd-kind-icon">create<wbr>Component</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#displaycomponent" class="tsd-kind-icon">display<wbr>Component</a></li>
+								<li class="tsd-kind-method tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#getcomponentset" class="tsd-kind-icon">get<wbr>Component<wbr>Set</a></li>
+								<li class="tsd-kind-method tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#iscomponent" class="tsd-kind-icon">is<wbr>Component</a></li>
+								<li class="tsd-kind-method tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#removecomponent" class="tsd-kind-icon">remove<wbr>Component</a></li>
+								<li class="tsd-kind-method tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#resetcamera" class="tsd-kind-icon">reset<wbr>Camera</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#select" class="tsd-kind-icon">select</a></li>
 								<li class="tsd-kind-method tsd-parent-kind-interface"><a href="saguaropluginpublicinterface.html#setfocus" class="tsd-kind-icon">set<wbr>Focus</a></li>
 							</ul>
@@ -108,169 +103,20 @@
 					</div>
 				</section>
 			</section>
-			<section class="tsd-panel-group tsd-member-group ">
-				<h2>Properties</h2>
-				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
-					<a name="clearselection" class="tsd-anchor"></a>
-					<h3>clear<wbr>Selection</h3>
-					<div class="tsd-signature tsd-kind-icon">clear<wbr>Selection<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, option<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:24</li>
-						</ul>
-					</aside>
-					<div class="tsd-type-declaration">
-						<h4>Type declaration</h4>
-						<ul class="tsd-parameters">
-							<li class="tsd-parameter-signature">
-								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-property">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, option<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-								</ul>
-								<ul class="tsd-descriptions">
-									<li class="tsd-description">
-										<h4 class="tsd-parameters-title">Parameters</h4>
-										<ul class="tsd-parameters">
-											<li>
-												<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
-											</li>
-											<li>
-												<h5><span class="tsd-flag ts-flagOptional">Optional</span> option: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span></h5>
-											</li>
-										</ul>
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
-									</li>
-								</ul>
-							</li>
-						</ul>
-					</div>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
-					<a name="getcomponentset" class="tsd-anchor"></a>
-					<h3>get<wbr>Component<wbr>Set</h3>
-					<div class="tsd-signature tsd-kind-icon">get<wbr>Component<wbr>Set<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:34</li>
-						</ul>
-					</aside>
-					<div class="tsd-type-declaration">
-						<h4>Type declaration</h4>
-						<ul class="tsd-parameters">
-							<li class="tsd-parameter-signature">
-								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-property">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></li>
-								</ul>
-								<ul class="tsd-descriptions">
-									<li class="tsd-description">
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h4>
-									</li>
-								</ul>
-							</li>
-						</ul>
-					</div>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
-					<a name="iscomponent" class="tsd-anchor"></a>
-					<h3>is<wbr>Component</h3>
-					<div class="tsd-signature tsd-kind-icon">is<wbr>Component<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">boolean</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:31</li>
-						</ul>
-					</aside>
-					<div class="tsd-type-declaration">
-						<h4>Type declaration</h4>
-						<ul class="tsd-parameters">
-							<li class="tsd-parameter-signature">
-								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-property">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
-								</ul>
-								<ul class="tsd-descriptions">
-									<li class="tsd-description">
-										<h4 class="tsd-parameters-title">Parameters</h4>
-										<ul class="tsd-parameters">
-											<li>
-												<h5>componentId: <span class="tsd-signature-type">string</span></h5>
-											</li>
-										</ul>
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
-									</li>
-								</ul>
-							</li>
-						</ul>
-					</div>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
-					<a name="removecomponent" class="tsd-anchor"></a>
-					<h3>remove<wbr>Component</h3>
-					<div class="tsd-signature tsd-kind-icon">remove<wbr>Component<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:30</li>
-						</ul>
-					</aside>
-					<div class="tsd-type-declaration">
-						<h4>Type declaration</h4>
-						<ul class="tsd-parameters">
-							<li class="tsd-parameter-signature">
-								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-property">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-								</ul>
-								<ul class="tsd-descriptions">
-									<li class="tsd-description">
-										<h4 class="tsd-parameters-title">Parameters</h4>
-										<ul class="tsd-parameters">
-											<li>
-												<h5><span class="tsd-flag ts-flagOptional">Optional</span> componentId: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
-											</li>
-										</ul>
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
-									</li>
-								</ul>
-							</li>
-						</ul>
-					</div>
-				</section>
-				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
-					<a name="resetcamera" class="tsd-anchor"></a>
-					<h3>reset<wbr>Camera</h3>
-					<div class="tsd-signature tsd-kind-icon">reset<wbr>Camera<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div>
-					<aside class="tsd-sources">
-						<ul>
-							<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:39</li>
-						</ul>
-					</aside>
-					<div class="tsd-type-declaration">
-						<h4>Type declaration</h4>
-						<ul class="tsd-parameters">
-							<li class="tsd-parameter-signature">
-								<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-property">
-									<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-								</ul>
-								<ul class="tsd-descriptions">
-									<li class="tsd-description">
-										<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
-									</li>
-								</ul>
-							</li>
-						</ul>
-					</div>
-				</section>
-			</section>
 			<section class="tsd-panel-group tsd-member-group ">
 				<h2>Methods</h2>
 				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
 					<a name="camerafocus" class="tsd-anchor"></a>
 					<h3>camera<wbr>Focus</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
-						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, positions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, positions<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">camera<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:37</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:64</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -284,13 +130,16 @@
 								<li>
 									<h5>positions: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:38</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:65</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -307,6 +156,9 @@
 								<li>
 									<h5>end: <span class="tsd-signature-type">number</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -322,9 +174,35 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:36</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:63</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+						</li>
+					</ul>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
+					<a name="clearselection" class="tsd-anchor"></a>
+					<h3>clear<wbr>Selection</h3>
+					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+						<li class="tsd-signature tsd-kind-icon">clear<wbr>Selection<span class="tsd-signature-symbol">(</span>mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, option<span class="tsd-signature-symbol">?: </span><a href="saguarochain.html" class="tsd-signature-type">SaguaroChain</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:51</li>
 								</ul>
 							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
+								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> option: <a href="saguarochain.html" class="tsd-signature-type">SaguaroChain</a></h5>
+								</li>
+							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
 					</ul>
@@ -339,7 +217,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:29</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:56</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -359,16 +237,16 @@
 					<a name="createcomponent" class="tsd-anchor"></a>
 					<h3>create<wbr>Component</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
-						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
-						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
-						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, residues<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
-						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, residues<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, residues<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+						<li class="tsd-signature tsd-kind-icon">create<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, residues<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span>, representationType<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:25</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:52</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -391,13 +269,16 @@
 								<li>
 									<h5>representationType: <span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
 						</li>
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:26</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:53</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -414,13 +295,16 @@
 								<li>
 									<h5>representationType: <span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
 						</li>
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:27</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:54</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -429,10 +313,7 @@
 									<h5>componentId: <span class="tsd-signature-type">string</span></h5>
 								</li>
 								<li>
-									<h5>modelId: <span class="tsd-signature-type">string</span></h5>
-								</li>
-								<li>
-									<h5>residues: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>residues: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>representationType: <span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span></h5>
@@ -443,7 +324,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:28</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:55</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -452,10 +333,7 @@
 									<h5>componentId: <span class="tsd-signature-type">string</span></h5>
 								</li>
 								<li>
-									<h5>modelId: <span class="tsd-signature-type">string</span></h5>
-								</li>
-								<li>
-									<h5>residues: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>residues: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>representationType: <span class="tsd-signature-type">StructureRepresentationRegistry.BuiltIn</span></h5>
@@ -476,7 +354,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:32</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:59</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -493,7 +371,7 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:33</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:60</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -506,19 +384,99 @@
 						</li>
 					</ul>
 				</section>
+				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
+					<a name="getcomponentset" class="tsd-anchor"></a>
+					<h3>get<wbr>Component<wbr>Set</h3>
+					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+						<li class="tsd-signature tsd-kind-icon">get<wbr>Component<wbr>Set<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:61</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h4>
+						</li>
+					</ul>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
+					<a name="iscomponent" class="tsd-anchor"></a>
+					<h3>is<wbr>Component</h3>
+					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+						<li class="tsd-signature tsd-kind-icon">is<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:58</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5>componentId: <span class="tsd-signature-type">string</span></h5>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
+						</li>
+					</ul>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
+					<a name="removecomponent" class="tsd-anchor"></a>
+					<h3>remove<wbr>Component</h3>
+					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+						<li class="tsd-signature tsd-kind-icon">remove<wbr>Component<span class="tsd-signature-symbol">(</span>componentId<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:57</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-parameters-title">Parameters</h4>
+							<ul class="tsd-parameters">
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> componentId: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
+							</ul>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+						</li>
+					</ul>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
+					<a name="resetcamera" class="tsd-anchor"></a>
+					<h3>reset<wbr>Camera</h3>
+					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+						<li class="tsd-signature tsd-kind-icon">reset<wbr>Camera<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+					</ul>
+					<ul class="tsd-descriptions">
+						<li class="tsd-description">
+							<aside class="tsd-sources">
+								<ul>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:66</li>
+								</ul>
+							</aside>
+							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+						</li>
+					</ul>
+				</section>
 				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
 					<a name="select" class="tsd-anchor"></a>
 					<h3>select</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
-						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, y<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
-						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, x<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, y<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"add"</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">select<span class="tsd-signature-symbol">(</span>selection<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span>, mode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span>, operation<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"add"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:21</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:48</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -541,19 +499,22 @@
 								<li>
 									<h5>operation: <span class="tsd-signature-type">"set"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"add"</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:22</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:49</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>position<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguaroposition.html" class="tsd-signature-type">SaguaroPosition</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
@@ -567,13 +528,13 @@
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:23</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:50</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
 							<ul class="tsd-parameters">
 								<li>
-									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{ </span>begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span>labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">&gt;</span></h5>
+									<h5>selection: <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="saguarorange.html" class="tsd-signature-type">SaguaroRange</a><span class="tsd-signature-symbol">&gt;</span></h5>
 								</li>
 								<li>
 									<h5>mode: <span class="tsd-signature-type">"select"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"hover"</span></h5>
@@ -590,13 +551,13 @@
 					<a name="setfocus" class="tsd-anchor"></a>
 					<h3>set<wbr>Focus</h3>
 					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
-						<li class="tsd-signature tsd-kind-icon">set<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+						<li class="tsd-signature tsd-kind-icon">set<wbr>Focus<span class="tsd-signature-symbol">(</span>modelId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, labelAsymId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, begin<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, end<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, operatorName<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
 					</ul>
 					<ul class="tsd-descriptions">
 						<li class="tsd-description">
 							<aside class="tsd-sources">
 								<ul>
-									<li>Defined in src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts:35</li>
+									<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:62</li>
 								</ul>
 							</aside>
 							<h4 class="tsd-parameters-title">Parameters</h4>
@@ -613,6 +574,9 @@
 								<li>
 									<h5>end: <span class="tsd-signature-type">number</span></h5>
 								</li>
+								<li>
+									<h5><span class="tsd-flag ts-flagOptional">Optional</span> operatorName: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
+								</li>
 							</ul>
 							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 						</li>
@@ -635,27 +599,15 @@
 					<li class="current tsd-kind-interface">
 						<a href="saguaropluginpublicinterface.html" class="tsd-kind-icon">Saguaro<wbr>Plugin<wbr>Public<wbr>Interface</a>
 						<ul>
-							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="saguaropluginpublicinterface.html#clearselection" class="tsd-kind-icon">clear<wbr>Selection</a>
-							</li>
-							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="saguaropluginpublicinterface.html#getcomponentset" class="tsd-kind-icon">get<wbr>Component<wbr>Set</a>
-							</li>
-							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="saguaropluginpublicinterface.html#iscomponent" class="tsd-kind-icon">is<wbr>Component</a>
-							</li>
-							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="saguaropluginpublicinterface.html#removecomponent" class="tsd-kind-icon">remove<wbr>Component</a>
-							</li>
-							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="saguaropluginpublicinterface.html#resetcamera" class="tsd-kind-icon">reset<wbr>Camera</a>
-							</li>
 							<li class=" tsd-kind-method tsd-parent-kind-interface">
 								<a href="saguaropluginpublicinterface.html#camerafocus" class="tsd-kind-icon">camera<wbr>Focus</a>
 							</li>
 							<li class=" tsd-kind-method tsd-parent-kind-interface">
 								<a href="saguaropluginpublicinterface.html#clearfocus" class="tsd-kind-icon">clear<wbr>Focus</a>
 							</li>
+							<li class=" tsd-kind-method tsd-parent-kind-interface">
+								<a href="saguaropluginpublicinterface.html#clearselection" class="tsd-kind-icon">clear<wbr>Selection</a>
+							</li>
 							<li class=" tsd-kind-method tsd-parent-kind-interface">
 								<a href="saguaropluginpublicinterface.html#colorcomponent" class="tsd-kind-icon">color<wbr>Component</a>
 							</li>
@@ -665,6 +617,18 @@
 							<li class=" tsd-kind-method tsd-parent-kind-interface">
 								<a href="saguaropluginpublicinterface.html#displaycomponent" class="tsd-kind-icon">display<wbr>Component</a>
 							</li>
+							<li class=" tsd-kind-method tsd-parent-kind-interface">
+								<a href="saguaropluginpublicinterface.html#getcomponentset" class="tsd-kind-icon">get<wbr>Component<wbr>Set</a>
+							</li>
+							<li class=" tsd-kind-method tsd-parent-kind-interface">
+								<a href="saguaropluginpublicinterface.html#iscomponent" class="tsd-kind-icon">is<wbr>Component</a>
+							</li>
+							<li class=" tsd-kind-method tsd-parent-kind-interface">
+								<a href="saguaropluginpublicinterface.html#removecomponent" class="tsd-kind-icon">remove<wbr>Component</a>
+							</li>
+							<li class=" tsd-kind-method tsd-parent-kind-interface">
+								<a href="saguaropluginpublicinterface.html#resetcamera" class="tsd-kind-icon">reset<wbr>Camera</a>
+							</li>
 							<li class=" tsd-kind-method tsd-parent-kind-interface">
 								<a href="saguaropluginpublicinterface.html#select" class="tsd-kind-icon">select</a>
 							</li>

+ 215 - 0
docs/interfaces/saguaroposition.html

@@ -0,0 +1,215 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>SaguaroPosition | @rcsb/rcsb-saguaro-3d</title>
+	<meta name="description" content="Documentation for @rcsb/rcsb-saguaro-3d">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">@rcsb/rcsb-saguaro-3d</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../globals.html">Globals</a>
+				</li>
+				<li>
+					<a href="saguaroposition.html">SaguaroPosition</a>
+				</li>
+			</ul>
+			<h1>Interface SaguaroPosition</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel tsd-hierarchy">
+				<h3>Hierarchy</h3>
+				<ul class="tsd-hierarchy">
+					<li>
+						<a href="saguarochain.html" class="tsd-signature-type">SaguaroChain</a>
+						<ul class="tsd-hierarchy">
+							<li>
+								<span class="target">SaguaroPosition</span>
+							</li>
+						</ul>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroposition.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroposition.html#modelid" class="tsd-kind-icon">model<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroposition.html#operatorname" class="tsd-kind-icon">operator<wbr>Name</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaroposition.html#position" class="tsd-kind-icon">position</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+					<a name="labelasymid" class="tsd-anchor"></a>
+					<h3>label<wbr>Asym<wbr>Id</h3>
+					<div class="tsd-signature tsd-kind-icon">label<wbr>Asym<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
+					<aside class="tsd-sources">
+						<p>Inherited from <a href="saguarochain.html">SaguaroChain</a>.<a href="saguarochain.html#labelasymid">labelAsymId</a></p>
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:14</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+					<a name="modelid" class="tsd-anchor"></a>
+					<h3>model<wbr>Id</h3>
+					<div class="tsd-signature tsd-kind-icon">model<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
+					<aside class="tsd-sources">
+						<p>Inherited from <a href="saguarochain.html">SaguaroChain</a>.<a href="saguarochain.html#modelid">modelId</a></p>
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:13</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+					<a name="operatorname" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagOptional">Optional</span> operator<wbr>Name</h3>
+					<div class="tsd-signature tsd-kind-icon">operator<wbr>Name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
+					<aside class="tsd-sources">
+						<p>Inherited from <a href="saguarochain.html">SaguaroChain</a>.<a href="saguarochain.html#operatorname">operatorName</a></p>
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:15</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+					<a name="position" class="tsd-anchor"></a>
+					<h3>position</h3>
+					<div class="tsd-signature tsd-kind-icon">position<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
+					<aside class="tsd-sources">
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:19</li>
+						</ul>
+					</aside>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class="globals  ">
+						<a href="../globals.html"><em>Globals</em></a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+				</ul>
+				<ul class="current">
+					<li class="current tsd-kind-interface">
+						<a href="saguaroposition.html" class="tsd-kind-icon">Saguaro<wbr>Position</a>
+						<ul>
+							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroposition.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a>
+							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroposition.html#modelid" class="tsd-kind-icon">model<wbr>Id</a>
+							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroposition.html#operatorname" class="tsd-kind-icon">operator<wbr>Name</a>
+							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface">
+								<a href="saguaroposition.html#position" class="tsd-kind-icon">position</a>
+							</li>
+						</ul>
+					</li>
+				</ul>
+				<ul class="after-current">
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
+				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>

+ 229 - 0
docs/interfaces/saguarorange.html

@@ -0,0 +1,229 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>SaguaroRange | @rcsb/rcsb-saguaro-3d</title>
+	<meta name="description" content="Documentation for @rcsb/rcsb-saguaro-3d">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">@rcsb/rcsb-saguaro-3d</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../globals.html">Globals</a>
+				</li>
+				<li>
+					<a href="saguarorange.html">SaguaroRange</a>
+				</li>
+			</ul>
+			<h1>Interface SaguaroRange</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel tsd-hierarchy">
+				<h3>Hierarchy</h3>
+				<ul class="tsd-hierarchy">
+					<li>
+						<a href="saguarochain.html" class="tsd-signature-type">SaguaroChain</a>
+						<ul class="tsd-hierarchy">
+							<li>
+								<span class="target">SaguaroRange</span>
+							</li>
+						</ul>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguarorange.html#begin" class="tsd-kind-icon">begin</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguarorange.html#end" class="tsd-kind-icon">end</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguarorange.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguarorange.html#modelid" class="tsd-kind-icon">model<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguarorange.html#operatorname" class="tsd-kind-icon">operator<wbr>Name</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+					<a name="begin" class="tsd-anchor"></a>
+					<h3>begin</h3>
+					<div class="tsd-signature tsd-kind-icon">begin<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
+					<aside class="tsd-sources">
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:23</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+					<a name="end" class="tsd-anchor"></a>
+					<h3>end</h3>
+					<div class="tsd-signature tsd-kind-icon">end<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
+					<aside class="tsd-sources">
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:24</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+					<a name="labelasymid" class="tsd-anchor"></a>
+					<h3>label<wbr>Asym<wbr>Id</h3>
+					<div class="tsd-signature tsd-kind-icon">label<wbr>Asym<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
+					<aside class="tsd-sources">
+						<p>Inherited from <a href="saguarochain.html">SaguaroChain</a>.<a href="saguarochain.html#labelasymid">labelAsymId</a></p>
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:14</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+					<a name="modelid" class="tsd-anchor"></a>
+					<h3>model<wbr>Id</h3>
+					<div class="tsd-signature tsd-kind-icon">model<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
+					<aside class="tsd-sources">
+						<p>Inherited from <a href="saguarochain.html">SaguaroChain</a>.<a href="saguarochain.html#modelid">modelId</a></p>
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:13</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+					<a name="operatorname" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagOptional">Optional</span> operator<wbr>Name</h3>
+					<div class="tsd-signature tsd-kind-icon">operator<wbr>Name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
+					<aside class="tsd-sources">
+						<p>Inherited from <a href="saguarochain.html">SaguaroChain</a>.<a href="saguarochain.html#operatorname">operatorName</a></p>
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:15</li>
+						</ul>
+					</aside>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class="globals  ">
+						<a href="../globals.html"><em>Globals</em></a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+				</ul>
+				<ul class="current">
+					<li class="current tsd-kind-interface">
+						<a href="saguarorange.html" class="tsd-kind-icon">Saguaro<wbr>Range</a>
+						<ul>
+							<li class=" tsd-kind-property tsd-parent-kind-interface">
+								<a href="saguarorange.html#begin" class="tsd-kind-icon">begin</a>
+							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface">
+								<a href="saguarorange.html#end" class="tsd-kind-icon">end</a>
+							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguarorange.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a>
+							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguarorange.html#modelid" class="tsd-kind-icon">model<wbr>Id</a>
+							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguarorange.html#operatorname" class="tsd-kind-icon">operator<wbr>Name</a>
+							</li>
+						</ul>
+					</li>
+				</ul>
+				<ul class="after-current">
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
+				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>

+ 215 - 0
docs/interfaces/saguaroregionlist.html

@@ -0,0 +1,215 @@
+<!doctype html>
+<html class="default no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>SaguaroRegionList | @rcsb/rcsb-saguaro-3d</title>
+	<meta name="description" content="Documentation for @rcsb/rcsb-saguaro-3d">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<link rel="stylesheet" href="../assets/css/main.css">
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
+					<div class="field">
+						<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
+						<input id="tsd-search-field" type="text" />
+					</div>
+					<ul class="results">
+						<li class="state loading">Preparing search index...</li>
+						<li class="state failure">The search index is not available</li>
+					</ul>
+					<a href="../index.html" class="title">@rcsb/rcsb-saguaro-3d</a>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-externals" checked />
+							<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tsd-page-title">
+		<div class="container">
+			<ul class="tsd-breadcrumb">
+				<li>
+					<a href="../globals.html">Globals</a>
+				</li>
+				<li>
+					<a href="saguaroregionlist.html">SaguaroRegionList</a>
+				</li>
+			</ul>
+			<h1>Interface SaguaroRegionList</h1>
+		</div>
+	</div>
+</header>
+<div class="container container-main">
+	<div class="row">
+		<div class="col-8 col-content">
+			<section class="tsd-panel tsd-hierarchy">
+				<h3>Hierarchy</h3>
+				<ul class="tsd-hierarchy">
+					<li>
+						<a href="saguarochain.html" class="tsd-signature-type">SaguaroChain</a>
+						<ul class="tsd-hierarchy">
+							<li>
+								<span class="target">SaguaroRegionList</span>
+							</li>
+						</ul>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel-group tsd-index-group">
+				<h2>Index</h2>
+				<section class="tsd-panel tsd-index-panel">
+					<div class="tsd-index-content">
+						<section class="tsd-index-section ">
+							<h3>Properties</h3>
+							<ul class="tsd-index-list">
+								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroregionlist.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroregionlist.html#modelid" class="tsd-kind-icon">model<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroregionlist.html#operatorname" class="tsd-kind-icon">operator<wbr>Name</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaroregionlist.html#regions" class="tsd-kind-icon">regions</a></li>
+							</ul>
+						</section>
+					</div>
+				</section>
+			</section>
+			<section class="tsd-panel-group tsd-member-group ">
+				<h2>Properties</h2>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+					<a name="labelasymid" class="tsd-anchor"></a>
+					<h3>label<wbr>Asym<wbr>Id</h3>
+					<div class="tsd-signature tsd-kind-icon">label<wbr>Asym<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
+					<aside class="tsd-sources">
+						<p>Inherited from <a href="saguarochain.html">SaguaroChain</a>.<a href="saguarochain.html#labelasymid">labelAsymId</a></p>
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:14</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+					<a name="modelid" class="tsd-anchor"></a>
+					<h3>model<wbr>Id</h3>
+					<div class="tsd-signature tsd-kind-icon">model<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
+					<aside class="tsd-sources">
+						<p>Inherited from <a href="saguarochain.html">SaguaroChain</a>.<a href="saguarochain.html#modelid">modelId</a></p>
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:13</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+					<a name="operatorname" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagOptional">Optional</span> operator<wbr>Name</h3>
+					<div class="tsd-signature tsd-kind-icon">operator<wbr>Name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
+					<aside class="tsd-sources">
+						<p>Inherited from <a href="saguarochain.html">SaguaroChain</a>.<a href="saguarochain.html#operatorname">operatorName</a></p>
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:15</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+					<a name="regions" class="tsd-anchor"></a>
+					<h3>regions</h3>
+					<div class="tsd-signature tsd-kind-icon">regions<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol">&lt;</span><a href="regionselectioninterface.html" class="tsd-signature-type">RegionSelectionInterface</a><span class="tsd-signature-symbol">&gt;</span></div>
+					<aside class="tsd-sources">
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:32</li>
+						</ul>
+					</aside>
+				</section>
+			</section>
+		</div>
+		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
+			<nav class="tsd-navigation primary">
+				<ul>
+					<li class="globals  ">
+						<a href="../globals.html"><em>Globals</em></a>
+					</li>
+				</ul>
+			</nav>
+			<nav class="tsd-navigation secondary menu-sticky">
+				<ul class="before-current">
+				</ul>
+				<ul class="current">
+					<li class="current tsd-kind-interface">
+						<a href="saguaroregionlist.html" class="tsd-kind-icon">Saguaro<wbr>Region<wbr>List</a>
+						<ul>
+							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroregionlist.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a>
+							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroregionlist.html#modelid" class="tsd-kind-icon">model<wbr>Id</a>
+							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroregionlist.html#operatorname" class="tsd-kind-icon">operator<wbr>Name</a>
+							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface">
+								<a href="saguaroregionlist.html#regions" class="tsd-kind-icon">regions</a>
+							</li>
+						</ul>
+					</li>
+				</ul>
+				<ul class="after-current">
+				</ul>
+			</nav>
+		</div>
+	</div>
+</div>
+<footer class="with-border-bottom">
+	<div class="container">
+		<h2>Legend</h2>
+		<div class="tsd-legend-group">
+			<ul class="tsd-legend">
+				<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
+				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
+			</ul>
+			<ul class="tsd-legend">
+				<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
+				<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
+			</ul>
+		</div>
+	</div>
+</footer>
+<div class="container tsd-generator">
+	<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
+</div>
+<div class="overlay"></div>
+<script src="../assets/js/main.js"></script>
+</body>
+</html>

+ 40 - 18
docs/interfaces/residueselectioninterface.html → docs/interfaces/saguaroset.html

@@ -3,7 +3,7 @@
 <head>
 	<meta charset="utf-8">
 	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<title>ResidueSelectionInterface | @rcsb/rcsb-saguaro-3d</title>
+	<title>SaguaroSet | @rcsb/rcsb-saguaro-3d</title>
 	<meta name="description" content="Documentation for @rcsb/rcsb-saguaro-3d">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<link rel="stylesheet" href="../assets/css/main.css">
@@ -56,10 +56,10 @@
 					<a href="../globals.html">Globals</a>
 				</li>
 				<li>
-					<a href="residueselectioninterface.html">ResidueSelectionInterface</a>
+					<a href="saguaroset.html">SaguaroSet</a>
 				</li>
 			</ul>
-			<h1>Interface ResidueSelectionInterface</h1>
+			<h1>Interface SaguaroSet</h1>
 		</div>
 	</div>
 </header>
@@ -70,7 +70,12 @@
 				<h3>Hierarchy</h3>
 				<ul class="tsd-hierarchy">
 					<li>
-						<span class="target">ResidueSelectionInterface</span>
+						<a href="saguarochain.html" class="tsd-signature-type">SaguaroChain</a>
+						<ul class="tsd-hierarchy">
+							<li>
+								<span class="target">SaguaroSet</span>
+							</li>
+						</ul>
 					</li>
 				</ul>
 			</section>
@@ -81,9 +86,10 @@
 						<section class="tsd-index-section ">
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="residueselectioninterface.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="residueselectioninterface.html#modelid" class="tsd-kind-icon">model<wbr>Id</a></li>
-								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="residueselectioninterface.html#seqids" class="tsd-kind-icon">seq<wbr>Ids</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroset.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroset.html#modelid" class="tsd-kind-icon">model<wbr>Id</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface tsd-is-inherited"><a href="saguaroset.html#operatorname" class="tsd-kind-icon">operator<wbr>Name</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="saguaroset.html#seqids" class="tsd-kind-icon">seq<wbr>Ids</a></li>
 							</ul>
 						</section>
 					</div>
@@ -91,23 +97,36 @@
 			</section>
 			<section class="tsd-panel-group tsd-member-group ">
 				<h2>Properties</h2>
-				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
 					<a name="labelasymid" class="tsd-anchor"></a>
 					<h3>label<wbr>Asym<wbr>Id</h3>
 					<div class="tsd-signature tsd-kind-icon">label<wbr>Asym<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
+						<p>Inherited from <a href="saguarochain.html">SaguaroChain</a>.<a href="saguarochain.html#labelasymid">labelAsymId</a></p>
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:4</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:14</li>
 						</ul>
 					</aside>
 				</section>
-				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
 					<a name="modelid" class="tsd-anchor"></a>
 					<h3>model<wbr>Id</h3>
 					<div class="tsd-signature tsd-kind-icon">model<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
 					<aside class="tsd-sources">
+						<p>Inherited from <a href="saguarochain.html">SaguaroChain</a>.<a href="saguarochain.html#modelid">modelId</a></p>
+						<ul>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:13</li>
+						</ul>
+					</aside>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+					<a name="operatorname" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagOptional">Optional</span> operator<wbr>Name</h3>
+					<div class="tsd-signature tsd-kind-icon">operator<wbr>Name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></div>
+					<aside class="tsd-sources">
+						<p>Inherited from <a href="saguarochain.html">SaguaroChain</a>.<a href="saguarochain.html#operatorname">operatorName</a></p>
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:3</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:15</li>
 						</ul>
 					</aside>
 				</section>
@@ -117,7 +136,7 @@
 					<div class="tsd-signature tsd-kind-icon">seq<wbr>Ids<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Set</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span></div>
 					<aside class="tsd-sources">
 						<ul>
-							<li>Defined in src/RcsbFvSelection/RcsbFvSelectorManager.ts:5</li>
+							<li>Defined in src/RcsbFvStructure/SaguaroPluginInterface.ts:28</li>
 						</ul>
 					</aside>
 				</section>
@@ -136,16 +155,19 @@
 				</ul>
 				<ul class="current">
 					<li class="current tsd-kind-interface">
-						<a href="residueselectioninterface.html" class="tsd-kind-icon">Residue<wbr>Selection<wbr>Interface</a>
+						<a href="saguaroset.html" class="tsd-kind-icon">Saguaro<wbr>Set</a>
 						<ul>
-							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="residueselectioninterface.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a>
+							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroset.html#labelasymid" class="tsd-kind-icon">label<wbr>Asym<wbr>Id</a>
 							</li>
-							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="residueselectioninterface.html#modelid" class="tsd-kind-icon">model<wbr>Id</a>
+							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroset.html#modelid" class="tsd-kind-icon">model<wbr>Id</a>
+							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface tsd-is-inherited">
+								<a href="saguaroset.html#operatorname" class="tsd-kind-icon">operator<wbr>Name</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
-								<a href="residueselectioninterface.html#seqids" class="tsd-kind-icon">seq<wbr>Ids</a>
+								<a href="saguaroset.html#seqids" class="tsd-kind-icon">seq<wbr>Ids</a>
 							</li>
 						</ul>
 					</li>

File diff suppressed because it is too large
+ 280 - 366
package-lock.json


+ 24 - 20
package.json

@@ -1,8 +1,8 @@
 {
   "name": "@rcsb/rcsb-saguaro-3d",
-  "version": "1.1.0",
+  "version": "1.2.0",
   "description": "RCSB Molstar/Saguaro Web App",
-  "main": "build/dist/RcsbFv3DBuilder.js",
+  "main": "build/dist/app.js",
   "files": [
     "build/dist"
   ],
@@ -54,37 +54,41 @@
     "@babel/core": "^7.10.4",
     "@babel/plugin-proposal-class-properties": "^7.10.4",
     "@babel/preset-env": "^7.10.4",
-    "@types/react": "^17.0.11",
-    "@types/react-dom": "^17.0.0",
+    "@types/react": "^17.0.37",
+    "@types/react-dom": "^17.0.11",
     "@types/react-select": "^3.0.11",
     "babel-loader": "^8.1.0",
-    "concurrently": "^5.3.0",
-    "css-loader": "^3.6.0",
+    "buffer": "^6.0.3",
+    "concurrently": "^6.4.0",
+    "crypto-browserify": "^3.12.0",
+    "css-loader": "^6.5.1",
     "del-cli": "^3.0.1",
     "file-loader": "^6.2.0",
     "http-server": "^14.0.0",
-    "mini-css-extract-plugin": "^0.9.0",
+    "mini-css-extract-plugin": "^2.4.5",
     "ncp": "^2.0.0",
-    "node-sass": "^4.14.1",
-    "react": "^17.0.1",
-    "react-dom": "^17.0.1",
+    "path-browserify": "^1.0.1",
+    "react": "^17.0.2",
+    "react-dom": "^17.0.2",
     "react-icons": "^3.11.0",
-    "rxjs": "^6.6.6",
-    "sass-loader": "^7.3.1",
-    "style-loader": "^1.2.1",
+    "rxjs": "^7.4.0",
+    "sass": "^1.43.5",
+    "sass-loader": "^12.3.0",
+    "stream-browserify": "^3.0.0",
+    "style-loader": "^3.3.1",
     "ts-loader": "^6.2.2",
-    "tslib": "^2.0.1",
+    "tslib": "^2.3.1",
     "typedoc": "^0.17.8",
-    "typescript": "4.0.2",
-    "webpack": "^4.44.1",
-    "webpack-cli": "^3.3.12"
+    "typescript": "^4.5.2",
+    "webpack": "^5.64.4",
+    "webpack-cli": "^4.9.1"
   },
   "dependencies": {
-    "@rcsb/rcsb-molstar": "^2.0.0-dev.8",
+    "@rcsb/rcsb-molstar": "^2.0.0-dev.10",
     "@rcsb/rcsb-saguaro": "^2.0.0",
     "@rcsb/rcsb-saguaro-api": "^2.1.0",
-    "@rcsb/rcsb-saguaro-app": "^3.2.1",
-    "molstar": "^2.0.7",
+    "@rcsb/rcsb-saguaro-app": "^3.4.0",
+    "molstar": "^2.4.1",
     "react-select": "^3.0.8"
   },
   "bugs": {

+ 3 - 1
src/RcsbFv3D/RcsbFv3DAssembly.tsx

@@ -12,6 +12,7 @@ export interface RcsbFv3DAssemblyInterface extends RcsbFv3DAbstractInterface {
     };
     additionalConfig?: RcsbFvAdditionalConfig;
     instanceSequenceConfig?: InstanceSequenceConfig;
+    useOperatorsFlag?:boolean;
 }
 
 export class RcsbFv3DAssembly extends RcsbFv3DAbstract{
@@ -41,7 +42,8 @@ export class RcsbFv3DAssembly extends RcsbFv3DAbstract{
             config: {
                 entryId:assemblyData.config.entryId,
                 additionalConfig: assemblyData.additionalConfig,
-                instanceSequenceConfig: assemblyData.instanceSequenceConfig
+                instanceSequenceConfig: assemblyData.instanceSequenceConfig,
+                useOperatorsFlag: assemblyData.useOperatorsFlag
             },
             title: assemblyData.config.title,
             subtitle: assemblyData.config.subtitle

+ 2 - 2
src/RcsbFv3D/RcsbFv3DComponent.tsx

@@ -1,8 +1,8 @@
 import * as React from "react";
-import * as classes from '../styles/RcsbFvStyle.module.scss';
+import classes from '../styles/RcsbFvStyle.module.scss';
 
 import {MolstarPlugin} from '../RcsbFvStructure/StructurePlugins/MolstarPlugin';
-import {SaguaroPluginInterface} from '../RcsbFvStructure/StructurePlugins/SaguaroPluginInterface';
+import {SaguaroPluginInterface} from '../RcsbFvStructure/SaguaroPluginInterface';
 
 import '../styles/RcsbFvMolstarStyle.module.scss';
 import {RcsbFvSequence, RcsbFvSequenceInterface} from "../RcsbFvSequence/RcsbFvSequence";

+ 54 - 54
src/RcsbFvSelection/RcsbFvSelectorManager.ts

@@ -1,9 +1,5 @@
+import {SaguaroChain, SaguaroRange, SaguaroRegionList, SaguaroSet} from "../RcsbFvStructure/SaguaroPluginInterface";
 
-export interface ResidueSelectionInterface {
-    modelId: string;
-    labelAsymId: string;
-    seqIds: Set<number>;
-}
 export interface RegionSelectionInterface{
     begin:number;
     end:number;
@@ -11,45 +7,39 @@ export interface RegionSelectionInterface{
     source:'structure'|'sequence';
 }
 
-export interface ChainSelectionInterface {
-    modelId: string;
-    labelAsymId: string;
-    regions: Array<RegionSelectionInterface>;
-}
-
 //TODO this class should be interfaced
-//TODO Check how lastSelection is used. It is not linked to selection. Only label asymId is used when the value is get
+//TODO Check how lastSelection is used. It is not linked to selection. Only label asymId is used when the value is got
 export class RcsbFvSelectorManager {
 
-    private lastSelection: ChainSelectionInterface | null = null;
-    private selection: Array<ChainSelectionInterface> = new Array<ChainSelectionInterface>();
-    private hover: Array<ChainSelectionInterface> = new Array<ChainSelectionInterface>();
+    private lastSelection: SaguaroRegionList | null = null;
+    private selection: Array<SaguaroRegionList> = new Array<SaguaroRegionList>();
+    private hover: Array<SaguaroRegionList> = new Array<SaguaroRegionList>();
 
-    public setSelectionFromRegion(modelId: string, labelAsymId: string, region: RegionSelectionInterface, mode:'select'|'hover'): void {
+    public setSelectionFromRegion(modelId: string, labelAsymId: string, region: RegionSelectionInterface, mode:'select'|'hover', operatorName?: string): void {
         this.clearSelection(mode);
-        this.addSelectionFromRegion(modelId, labelAsymId, region, mode);
+        this.addSelectionFromRegion(modelId, labelAsymId, region, mode, operatorName);
     }
 
-    public addSelectionFromRegion(modelId: string, labelAsymId: string, region: RegionSelectionInterface, mode:'select'|'hover'): void {
+    public addSelectionFromRegion(modelId: string, labelAsymId: string, region: RegionSelectionInterface, mode:'select'|'hover', operatorName?: string): void {
         if(mode === 'select'){
-            this.selection.push({modelId:modelId, labelAsymId:labelAsymId, regions:[region]});
+            this.selection.push({modelId:modelId, labelAsymId:labelAsymId, regions:[region], operatorName: operatorName});
         }else{
-            this.hover.push({modelId:modelId, labelAsymId:labelAsymId, regions:[region]});
+            this.hover.push({modelId:modelId, labelAsymId:labelAsymId, regions:[region], operatorName: operatorName});
         }
     }
 
-    public setSelectionFromMultipleRegions(regions: {modelId: string, labelAsymId: string, region: RegionSelectionInterface}[], mode:'select'|'hover'): void {
+    public setSelectionFromMultipleRegions(regions: {modelId: string, labelAsymId: string, region: RegionSelectionInterface, operatorName?: string}[], mode:'select'|'hover'): void {
         this.clearSelection(mode);
         this.addSelectionFromMultipleRegions(regions, mode);
     }
 
-    public addSelectionFromMultipleRegions(regions: {modelId: string, labelAsymId: string, region: RegionSelectionInterface}[], mode:'select'|'hover'): void {
+    public addSelectionFromMultipleRegions(regions: (SaguaroChain & {region: RegionSelectionInterface})[], mode:'select'|'hover'): void {
         regions.forEach(r=>{
-            this.addSelectionFromRegion(r.modelId, r.labelAsymId, r.region, mode);
+            this.addSelectionFromRegion(r.modelId, r.labelAsymId, r.region, mode, r.operatorName);
         });
     }
 
-    public setSelectionFromResidueSelection(res: Array<ResidueSelectionInterface>, mode:'select'|'hover', source: 'structure'|'sequence'): void {
+    public setSelectionFromResidueSelection(res: Array<SaguaroSet>, mode:'select'|'hover', source: 'structure'|'sequence'): void {
         if(mode==='select'){
             this.selection = selectionFromResidueSelection(res, mode, source);
         }else{
@@ -57,35 +47,35 @@ export class RcsbFvSelectorManager {
         }
     }
 
-    public getSelection(mode:'select'|'hover'): Array<ChainSelectionInterface> {
+    public getSelection(mode:'select'|'hover'): Array<SaguaroRegionList> {
         if(mode === 'select')
             return this.selection;
         else
             return this.hover;
     }
 
-    public getLastSelection(mode:'select'|'hover'): ChainSelectionInterface | null{
+    public getLastSelection(mode:'select'|'hover'): SaguaroRegionList | null{
        return this.lastSelection;
     }
 
-    public setLastSelection(mode:'select'|'hover', selection: ChainSelectionInterface | null): void {
+    public setLastSelection(mode:'select'|'hover', selection: SaguaroRegionList | null): void {
         this.lastSelection = selection;
     }
 
-    public getSelectionWithCondition(modelId: string, labelAsymId: string, mode:'select'|'hover'): ChainSelectionInterface | undefined{
-        const sel: Array<ChainSelectionInterface> = mode === 'select' ?
-            this.selection.filter(d=>(d.modelId===modelId && d.labelAsymId === labelAsymId)) :
-            this.hover.filter(d=>(d.modelId===modelId && d.labelAsymId === labelAsymId));
+    public getSelectionWithCondition(modelId: string, labelAsymId: string, mode:'select'|'hover', operatorName?: string): SaguaroRegionList | undefined {
+        const sel: Array<SaguaroRegionList> = mode === 'select' ?
+            this.selection.filter(d=>(d.modelId===modelId && d.labelAsymId === labelAsymId && (d.operatorName === operatorName || !operatorName))) :
+            this.hover.filter(d=>(d.modelId===modelId && d.labelAsymId === labelAsymId && (d.operatorName === operatorName || !operatorName)));
         if(sel.length > 0)
-            return {modelId: sel[0].modelId, labelAsymId: sel[0].labelAsymId, regions:[].concat.apply([],sel.map(s=>s.regions))};
+            return {modelId: sel[0].modelId, labelAsymId: sel[0].labelAsymId, operatorName: operatorName, regions:[].concat.apply([],sel.map(s=>s.regions))};
     }
 
-    public clearSelection(mode:'select'|'hover', selection?:{modelId?:string, labelAsymId?: string}): void {
+    public clearSelection(mode:'select'|'hover', selection?:Partial<SaguaroChain>): void {
         if(!selection)
             if(mode === 'select')
-                this.selection = new Array<ChainSelectionInterface>();
+                this.selection = new Array<SaguaroRegionList>();
             else
-                this.hover = new Array<ChainSelectionInterface>();
+                this.hover = new Array<SaguaroRegionList>();
         else
             if(selection.labelAsymId || selection.modelId)
                 if(mode === 'select')
@@ -94,7 +84,8 @@ export class RcsbFvSelectorManager {
                     this.hover = this.hover.filter(r=>selectionFilter(r, selection));
     }
 
-    public selectionSource(mode:'select'|'hover', region:{modelId:string;labelAsymId:string;begin:number;end:number;}): 'structure'|'sequence'|undefined{
+    //TODO missing operatorName case
+    public selectionSource(mode:'select'|'hover', region:SaguaroChain & SaguaroRange): 'structure'|'sequence'|undefined{
         if(mode === 'select')
             return this.selection
                 .filter(r=>(r.modelId === region.modelId && r.labelAsymId === region.labelAsymId))[0]?.regions
@@ -104,23 +95,36 @@ export class RcsbFvSelectorManager {
                 .filter(r=>(r.modelId === region.modelId && r.labelAsymId === region.labelAsymId))[0]?.regions
                 .filter(r=>(r.begin === region. begin && r.end === region.end))[0]?.source;
     }
+
 }
 
-function selectionFromResidueSelection(res: Array<ResidueSelectionInterface>, mode:'select'|'hover', source: 'structure'|'sequence'): Array<ChainSelectionInterface> {
-    const selMap: Map<string,Map<string,Set<number>>> = new Map<string, Map<string, Set<number>>>();
+function selectionFromResidueSelection(res: Array<SaguaroSet>, mode:'select'|'hover', source: 'structure'|'sequence'): Array<SaguaroRegionList> {
+    const none:"none" = "none";
+    const selMap: Map<string,Map<string,Map<string,Set<number>>>> = new Map<string, Map<string,Map<string,Set<number>>>>();
     res.forEach(r=>{
         if(!selMap.has(r.modelId))
-            selMap.set(r.modelId,new Map<string, Set<number>>());
+            selMap.set(r.modelId,new Map<string, Map<string,Set<number>>>());
         if(!selMap.get(r.modelId)!.has(r.labelAsymId))
-            selMap.get(r.modelId)!.set(r.labelAsymId, new Set<number>());
+            selMap.get(r.modelId)!.set(r.labelAsymId, new Map<string,Set<number>>());
+        if(r.operatorName && !selMap.get(r.modelId)!.get(r.labelAsymId)!.has(r.operatorName))
+            selMap.get(r.modelId)!.get(r.labelAsymId)!.set(r.operatorName, new Set<number>());
+        else
+            selMap.get(r.modelId)!.get(r.labelAsymId)!.set(none, new Set<number>());
         r.seqIds.forEach(s=>{
-            selMap.get(r.modelId)!.get(r.labelAsymId)!.add(s);
-        })
+            selMap.get(r.modelId)!.get(r.labelAsymId)!.get(r.operatorName ?? none)!.add(s);
+        });
     });
-    const selection = new Array<ChainSelectionInterface>();
+    const selection = new Array<SaguaroRegionList>();
     selMap.forEach((labelMap, modelId)=>{
-        labelMap.forEach((seqSet,labelId)=>{
-            selection.push({modelId:modelId, labelAsymId: labelId, regions:buildIntervals(seqSet, source)});
+        labelMap.forEach((operatorMap,labelId)=>{
+            operatorMap.forEach((seqSet, operatorId)=>{
+                selection.push({
+                    modelId: modelId,
+                    labelAsymId: labelId,
+                    operatorName: operatorId!=none ? operatorId : undefined,
+                    regions: buildIntervals(seqSet, source)
+                });
+            });
         });
     });
     return selection;
@@ -144,13 +148,9 @@ function buildIntervals(ids: Set<number>, source: 'structure'|'sequence'): Array
     return out;
 }
 
-function selectionFilter(r:ChainSelectionInterface, selection:{modelId?:string, labelAsymId?: string}): boolean{
-    if(selection.modelId && selection.labelAsymId)
-        return (r.modelId != selection.modelId || r.labelAsymId != selection.labelAsymId);
-    else if(selection.modelId)
-        return (r.modelId != selection.modelId);
-    else if(selection.labelAsymId)
-        return (r.labelAsymId != selection.labelAsymId);
-    else
-        return false;
+function selectionFilter(r:SaguaroRegionList, selection:Partial<SaguaroChain>): boolean{
+    return (typeof selection.modelId === "string" && r.modelId != selection.modelId) ||
+           (typeof selection.labelAsymId === "string" && r.labelAsymId != selection.labelAsymId) ||
+           (typeof selection.operatorName === "string" && r.operatorName != selection.operatorName);
+
 }

+ 1 - 1
src/RcsbFvSequence/RcsbFvSequence.tsx

@@ -1,7 +1,7 @@
 import * as React from "react";
 import {AssemblyView, AssemblyViewInterface} from "./SequenceViews/AssemblyView/AssemblyView";
 import {CustomView, CustomViewInterface} from "./SequenceViews/CustomView";
-import {SaguaroPluginInterface} from "../RcsbFvStructure/StructurePlugins/SaguaroPluginInterface";
+import {SaguaroPluginInterface} from "../RcsbFvStructure/SaguaroPluginInterface";
 import {PluginContext} from "molstar/lib/mol-plugin/context";
 import {RcsbFv, RcsbFvTrackDataElementInterface} from "@rcsb/rcsb-saguaro";
 import {RcsbFvSelectorManager} from "../RcsbFvSelection/RcsbFvSelectorManager";

+ 2 - 2
src/RcsbFvSequence/SequenceViews/AbstractView.tsx

@@ -1,12 +1,12 @@
 import * as React from "react";
-import * as classes from '../../styles/RcsbFvStyle.module.scss';
+import classes from '../../styles/RcsbFvStyle.module.scss';
 import {asyncScheduler, Subscription} from "rxjs";
 
 import {RcsbFvDOMConstants} from "../../RcsbFvConstants/RcsbFvConstants";
 import {
     SaguaroPluginInterface,
     SaguaroPluginModelMapType
-} from "../../RcsbFvStructure/StructurePlugins/SaguaroPluginInterface";
+} from "../../RcsbFvStructure/SaguaroPluginInterface";
 import {RcsbFvSelectorManager} from "../../RcsbFvSelection/RcsbFvSelectorManager";
 import {SequenceViewInterface} from "./SequenceViewInterface";
 

+ 72 - 36
src/RcsbFvSequence/SequenceViews/AssemblyView/AssemblyView.tsx

@@ -12,11 +12,11 @@ import {
     InstanceSequenceOnchangeInterface
 } from "@rcsb/rcsb-saguaro-app/build/dist/RcsbFvWeb/RcsbFvBuilder/RcsbFvInstanceBuilder";
 import {RcsbFvBoardConfigInterface, RcsbFvTrackDataElementInterface} from "@rcsb/rcsb-saguaro";
-import {ChainSelectionInterface} from "../../../RcsbFvSelection/RcsbFvSelectorManager";
 import {
+    ChainInfo,
     SaguaroPluginInterface,
-    SaguaroPluginModelMapType
-} from "../../../RcsbFvStructure/StructurePlugins/SaguaroPluginInterface";
+    SaguaroPluginModelMapType, SaguaroRange, SaguaroRegionList
+} from "../../../RcsbFvStructure/SaguaroPluginInterface";
 import {OptionPropsInterface} from "@rcsb/rcsb-saguaro-app/build/dist/RcsbFvWeb/WebTools/SelectButton";
 
 import {OptionProps} from "react-select/src/components/Option";
@@ -27,11 +27,13 @@ import {
     RcsbFvAdditionalConfig,
     RcsbFvModulePublicInterface
 } from "@rcsb/rcsb-saguaro-app/build/dist/RcsbFvWeb/RcsbFvModule/RcsbFvModuleInterface";
+import {RcsbFvUI} from "@rcsb/rcsb-saguaro-app";
 
 export interface AssemblyViewInterface {
     entryId: string;
     additionalConfig?: RcsbFvAdditionalConfig;
     instanceSequenceConfig?: InstanceSequenceConfig;
+    useOperatorsFlag?:boolean;
 }
 
 export class AssemblyView extends AbstractView<AssemblyViewInterface & AbstractViewInterface, {}>{
@@ -39,6 +41,7 @@ export class AssemblyView extends AbstractView<AssemblyViewInterface & AbstractV
     private currentLabelAsymId: string;
     private currentEntryId: string;
     private currentModelId: string;
+    private currentOpName: string | undefined = undefined;
     private currentModelNumber: string;
     private createComponentThreshold: number = 3;
     private innerSelectionFlag: boolean = false;
@@ -136,22 +139,20 @@ export class AssemblyView extends AbstractView<AssemblyViewInterface & AbstractV
         if(mode === 'select' && this.currentSelectedComponentId != null){
             this.props.plugin.removeComponent(this.currentSelectedComponentId);
         }
-        const allSel: Array<ChainSelectionInterface> | undefined = this.props.selectorManager.getSelection(mode);
+        const allSel: Array<SaguaroRegionList> | undefined = this.props.selectorManager.getSelection(mode);
         if(allSel == null || allSel.length ===0) {
             this.rcsbFvModule?.getFv().clearSelection(mode);
-            if(mode === 'select')
-                this.resetPluginView();
         }else if(mode === 'select' && this.props.selectorManager.getLastSelection('select')?.labelAsymId != null && this.props.selectorManager.getLastSelection('select')?.labelAsymId != this.currentLabelAsymId){
             const authId: string | undefined = this.currentModelMap
                 .get(this.currentModelId)?.chains
                 .filter(ch=>(ch.label===this.props.selectorManager.getLastSelection('select')?.labelAsymId))[0]?.auth;
-            await this.modelChangeCallback(this.currentModelMap, authId);
+            await this.modelChangeCallback(this.currentModelMap, authId, this.props.selectorManager.getLastSelection('select')?.operatorName);
         }else{
-            const sel: ChainSelectionInterface | undefined = this.props.selectorManager.getSelectionWithCondition(this.currentModelId, this.currentLabelAsymId, mode);
+            if(mode === 'select' && this.props.selectorManager.getLastSelection('select')?.operatorName && this.props.selectorManager.getLastSelection('select')?.operatorName != this.currentOpName)
+                this.addOperatorButton(this.props.selectorManager.getLastSelection('select')?.operatorName);
+            const sel: SaguaroRegionList | undefined = this.props.selectorManager.getSelectionWithCondition(this.currentModelId, this.currentLabelAsymId, mode, this.currentOpName);
             if (sel == null) {
                 this.rcsbFvModule?.getFv().clearSelection(mode);
-                if(mode === 'select')
-                    this.resetPluginView();
             } else {
                 this.rcsbFvModule?.getFv().setSelection({elements: sel.regions, mode: mode});
             }
@@ -159,8 +160,9 @@ export class AssemblyView extends AbstractView<AssemblyViewInterface & AbstractV
         this.innerSelectionFlag = false;
     }
 
-    async modelChangeCallback(modelMap:SaguaroPluginModelMapType, defaultAuthId?: string): Promise<void> {
+    async modelChangeCallback(modelMap:SaguaroPluginModelMapType, defaultAuthId?: string, defaultOperatorName?:string): Promise<void> {
         this.currentModelMap = modelMap;
+        this.currentOpName = undefined;
         this.props.plugin.clearFocus();
         const onChangeCallback: Map<string, (x: InstanceSequenceOnchangeInterface)=>void> = new Map<string, (x: InstanceSequenceOnchangeInterface) => {}>();
         const filterInstances: Map<string, Set<string>> = new Map<string, Set<string>>();
@@ -171,8 +173,9 @@ export class AssemblyView extends AbstractView<AssemblyViewInterface & AbstractV
                 this.currentModelId = k;
                 asyncScheduler.schedule(()=>{
                     this.props.selectorManager.setLastSelection('select', null);
-                    this.structureSelectionCallback();
+                    this.instanceChangeCallback();
                 },1000);
+                this.addOperatorButton(defaultOperatorName);
             });
             filterInstances.set(v.entryId,new Set<string>(v.chains.map(d=>d.label)));
         });
@@ -204,6 +207,36 @@ export class AssemblyView extends AbstractView<AssemblyViewInterface & AbstractV
             await createComponents(this.props.plugin, modelMap);
     }
 
+    private async instanceChangeCallback(): Promise<void>{
+        this.resetPluginView();
+        await this.pluginSelectCallback('select');
+    }
+
+    private addOperatorButton(operatorName?:string): void{
+        const currentChainInfo: ChainInfo|undefined = this.currentModelMap.get(this.currentModelId)?.chains.find(ch=>ch.label===this.currentLabelAsymId);
+        if(this.props.useOperatorsFlag && currentChainInfo && currentChainInfo.operators.length >1 ){
+            this.currentOpName = operatorName ?? currentChainInfo.operators[0].name;
+            RcsbFvUI.addSelectButton(
+                this.rcsbFvDivId,
+                RcsbFvDOMConstants.SELECT_INSTANCE_PFV_ID,
+                currentChainInfo.operators.map(op=>({
+                    label:op.name,
+                    optId:op.name,
+                    onChange:()=>{
+                        this.currentOpName = op.name;
+                        asyncScheduler.schedule(()=>{
+                            this.props.selectorManager.setLastSelection('select', null);
+                            this.structureSelectionCallback();
+                        },300);
+                    }
+                })),
+                {
+                    defaultValue: this.currentOpName
+                }
+            );
+        }
+    }
+
     private unmountRcsbFv(): void {
         this.rcsbFvModule = null;
         unmount(this.rcsbFvDivId);
@@ -212,15 +245,15 @@ export class AssemblyView extends AbstractView<AssemblyViewInterface & AbstractV
     private highlightHoverCallback(selection: RcsbFvTrackDataElementInterface[]): void {
         if(selection != null && selection.length > 0) {
             if(selection[0].isEmpty){
-                const selectionList = [{modelId: this.currentModelId, labelAsymId: this.currentLabelAsymId, position: selection[0].begin}];
-                if(selection[0].end != null) selectionList.push({modelId: this.currentModelId, labelAsymId: this.currentLabelAsymId, position: selection[0].end})
+                const selectionList = [{modelId: this.currentModelId, labelAsymId: this.currentLabelAsymId, position: selection[0].begin, operatorName: this.currentOpName}];
+                if(selection[0].end != null) selectionList.push({modelId: this.currentModelId, labelAsymId: this.currentLabelAsymId, position: selection[0].end, operatorName: this.currentOpName})
                 this.props.plugin.select(
                     selectionList,
                     'hover',
                     'set'
                 );
             }else {
-                this.props.plugin.select(processMultipleGaps(this.currentModelId, this.currentLabelAsymId, selection), 'hover', 'set');
+                this.props.plugin.select(processMultipleGaps(this.currentModelId, this.currentLabelAsymId, selection, this.currentOpName), 'hover', 'set');
             }
         }else{
             this.props.plugin.clearSelection('hover');
@@ -230,8 +263,8 @@ export class AssemblyView extends AbstractView<AssemblyViewInterface & AbstractV
     private selectionChangeCallback(selection: Array<RcsbFvTrackDataElementInterface>): void {
         if(this.innerSelectionFlag)
             return;
-        this.props.plugin.clearSelection('select', {modelId: this.currentModelId, labelAsymId: this.currentLabelAsymId});
-        this.props.selectorManager.clearSelection('select', {labelAsymId: this.currentLabelAsymId});
+        this.props.plugin.clearSelection('select', {modelId: this.currentModelId, labelAsymId: this.currentLabelAsymId, operatorName: this.currentOpName});
+        this.props.selectorManager.clearSelection('select', {labelAsymId: this.currentLabelAsymId, operatorName: this.currentOpName});
         if(selection == null || selection.length === 0) {
             this.resetPluginView();
         }else{
@@ -245,13 +278,13 @@ export class AssemblyView extends AbstractView<AssemblyViewInterface & AbstractV
             const y = e.end ?? e.begin;
             if(e.isEmpty){
                 this.props.plugin.select(
-                    [{modelId: this.currentModelId, labelAsymId: this.currentLabelAsymId, position: x},{modelId: this.currentModelId, labelAsymId: this.currentLabelAsymId, position: y}], 'select',
+                    [{modelId: this.currentModelId, labelAsymId: this.currentLabelAsymId, position: x, operatorName: this.currentOpName},{modelId: this.currentModelId, labelAsymId: this.currentLabelAsymId, position: y, operatorName: this.currentOpName}], 'select',
                     'add'
                 );
-                this.props.selectorManager.addSelectionFromRegion(this.currentModelId, this.currentLabelAsymId, {begin:x, end:y, isEmpty: true, source: 'sequence'}, 'select');
+                this.props.selectorManager.addSelectionFromRegion(this.currentModelId, this.currentLabelAsymId, {begin:x, end:y, isEmpty: true, source: 'sequence'}, 'select', this.currentOpName);
             }else{
-                this.props.plugin.select(processGaps(this.currentModelId, this.currentLabelAsymId, e), 'select', 'add');
-                this.props.selectorManager.addSelectionFromRegion(this.currentModelId, this.currentLabelAsymId, {begin:x, end:y, source: 'sequence'}, 'select');
+                this.props.plugin.select(processGaps(this.currentModelId, this.currentLabelAsymId, e, this.currentOpName), 'select', 'add');
+                this.props.selectorManager.addSelectionFromRegion(this.currentModelId, this.currentLabelAsymId, {begin:x, end:y, source: 'sequence'}, 'select', this.currentOpName);
             }
         });
     }
@@ -265,35 +298,36 @@ export class AssemblyView extends AbstractView<AssemblyViewInterface & AbstractV
         const x = e.begin;
         const y = e.end ?? e.begin;
         if(e.isEmpty){
-            this.props.plugin.cameraFocus(this.currentModelId, this.currentLabelAsymId, [x,y]);
+            this.props.plugin.cameraFocus(this.currentModelId, this.currentLabelAsymId, [x,y], this.currentOpName);
             this.currentSelectedComponentId = this.currentLabelAsymId +":"+ ((x === y) ? x.toString() : x.toString()+","+y.toString());
             asyncScheduler.schedule(async ()=>{
                 await this.props.plugin.createComponent(
                     this.currentSelectedComponentId,
-                    this.currentModelId,
-                    [{labelAsymId: this.currentLabelAsymId, position: x}, {labelAsymId: this.currentLabelAsymId, position: y}],
+                    [
+                        {modelId: this.currentModelId, labelAsymId: this.currentLabelAsymId, position: x, operatorName: this.currentOpName},
+                        {modelId: this.currentModelId, labelAsymId: this.currentLabelAsymId, position: y, operatorName: this.currentOpName}
+                        ],
                     'ball-and-stick'
                 )
                 if(x === y)
                     asyncScheduler.schedule(()=>{
-                        this.props.plugin.setFocus(this.currentModelId, this.currentLabelAsymId, x, y);
+                        this.props.plugin.setFocus(this.currentModelId, this.currentLabelAsymId, x, y, this.currentOpName);
                     },200);
             },100);
 
         }else{
-            this.props.plugin.cameraFocus(this.currentModelId, this.currentLabelAsymId, x, y);
+            this.props.plugin.cameraFocus(this.currentModelId, this.currentLabelAsymId, x, y, this.currentOpName);
             if((y-x)<this.createComponentThreshold){
                 this.currentSelectedComponentId = this.currentLabelAsymId +":"+ (x === y ? x.toString() : x.toString()+"-"+y.toString());
                 asyncScheduler.schedule(async ()=>{
                     await this.props.plugin.createComponent(
                         this.currentSelectedComponentId,
-                        this.currentModelId,
-                        processGaps(this.currentModelId, this.currentLabelAsymId, e),
+                        processGaps(this.currentModelId, this.currentLabelAsymId, e, this.currentOpName),
                         'ball-and-stick'
                     )
                     if(x === y)
                         asyncScheduler.schedule(()=>{
-                            this.props.plugin.setFocus(this.currentModelId, this.currentLabelAsymId, x, y);
+                            this.props.plugin.setFocus(this.currentModelId, this.currentLabelAsymId, x, y, this.currentOpName);
                         },200);
                 },100);
             }
@@ -302,15 +336,16 @@ export class AssemblyView extends AbstractView<AssemblyViewInterface & AbstractV
 
 }
 
-function processGaps(modelId: string, labelAsymId: string, e: RcsbFvTrackDataElementInterface): Array<{modelId: string; labelAsymId: string; begin: number; end: number;}>{
-    const regions: Array<{modelId: string; labelAsymId: string; begin: number; end: number;}> = new Array<{modelId: string; labelAsymId: string; begin: number; end: number}>();
+function processGaps(modelId: string, labelAsymId: string, e: RcsbFvTrackDataElementInterface, operatorName?:string): Array<SaguaroRange>{
+    const regions: Array<SaguaroRange> = new Array<SaguaroRange>();
     let lastIndex: number = e.begin;
     e.gaps?.forEach((g)=>{
         regions.push({
             modelId: modelId,
             labelAsymId: labelAsymId,
             begin: lastIndex,
-            end: g.begin
+            end: g.begin,
+            operatorName: operatorName
         });
         lastIndex = g.end;
     });
@@ -318,15 +353,16 @@ function processGaps(modelId: string, labelAsymId: string, e: RcsbFvTrackDataEle
         modelId: modelId,
         labelAsymId: labelAsymId,
         begin: lastIndex,
-        end: e.end ?? e.begin
+        end: e.end ?? e.begin,
+        operatorName: operatorName
     });
     return regions;
 }
 
-function processMultipleGaps(modelId: string, labelAsymId: string, list: Array<RcsbFvTrackDataElementInterface>): Array<{modelId: string; labelAsymId: string; begin: number; end: number;}>{
-    let regions: Array<{modelId: string; labelAsymId: string; begin: number; end: number;}> = new Array<{modelId: string; labelAsymId: string; begin: number; end: number}>();
+function processMultipleGaps(modelId: string, labelAsymId: string, list: Array<RcsbFvTrackDataElementInterface>, operatorName?:string): Array<SaguaroRange>{
+    let regions: Array<SaguaroRange> = new Array<SaguaroRange>();
     list.forEach(e=>{
-        regions = regions.concat(processGaps(modelId, labelAsymId, e));
+        regions = regions.concat(processGaps(modelId, labelAsymId, e, operatorName));
     });
     return regions;
 }

+ 1 - 1
src/RcsbFvSequence/SequenceViews/AssemblyView/ChainDisplay.tsx

@@ -1,5 +1,5 @@
 import * as React from "react";
-import {SaguaroPluginInterface} from "../../../RcsbFvStructure/StructurePlugins/SaguaroPluginInterface";
+import {SaguaroPluginInterface} from "../../../RcsbFvStructure/SaguaroPluginInterface";
 
 interface ChainDisplayInterface {
     plugin: SaguaroPluginInterface;

+ 1 - 1
src/RcsbFvSequence/SequenceViews/CustomView.tsx

@@ -12,7 +12,7 @@ import {RcsbFvSelectorManager} from "../../RcsbFvSelection/RcsbFvSelectorManager
 import {
     SaguaroPluginModelMapType,
     SaguaroPluginPublicInterface
-} from "../../RcsbFvStructure/StructurePlugins/SaguaroPluginInterface";
+} from "../../RcsbFvStructure/SaguaroPluginInterface";
 
 export type CustomViewStateInterface = Omit<CustomViewInterface, "modelChangeCallback">;
 

+ 1 - 1
src/RcsbFvSequence/SequenceViews/SequenceViewInterface.ts

@@ -1,4 +1,4 @@
-import {SaguaroPluginModelMapType} from "../../RcsbFvStructure/StructurePlugins/SaguaroPluginInterface";
+import {SaguaroPluginModelMapType} from "../../RcsbFvStructure/SaguaroPluginInterface";
 
 export interface SequenceViewInterface {
     structureSelectionCallback(): void;

+ 1 - 1
src/RcsbFvStructure/RcsbFvStructure.tsx

@@ -1,5 +1,5 @@
 import * as React from "react";
-import {SaguaroPluginInterface} from "./StructurePlugins/SaguaroPluginInterface";
+import {SaguaroPluginInterface} from "./SaguaroPluginInterface";
 import {RcsbFvDOMConstants} from "../RcsbFvConstants/RcsbFvConstants";
 import {ViewerProps} from "@rcsb/rcsb-molstar/build/src/viewer";
 import {LoadMolstarInterface} from "./StructurePlugins/MolstarPlugin";

+ 67 - 0
src/RcsbFvStructure/SaguaroPluginInterface.ts

@@ -0,0 +1,67 @@
+import {LoadMolstarInterface} from "./StructurePlugins/MolstarPlugin";
+import {PluginContext} from "molstar/lib/mol-plugin/context";
+import {StructureRepresentationRegistry} from "molstar/lib/mol-repr/structure/registry";
+import {ColorTheme} from "molstar/lib/mol-theme/color";
+import {RegionSelectionInterface} from "../RcsbFvSelection/RcsbFvSelectorManager";
+
+export type ChainType = "polymer"|"water"|"branched"|"non-polymer"|"macrolide";
+export type OperatorInfo = {ids:string[], name: string};
+export type ChainInfo = {auth:string;label:string;entityId:string;title:string;type:ChainType;operators:OperatorInfo[]};
+export type SaguaroPluginModelMapType = Map<string,{entryId: string; chains:Array<ChainInfo>;}>;
+
+export interface SaguaroChain {
+    modelId: string;
+    labelAsymId: string;
+    operatorName?: string;
+}
+
+export interface SaguaroPosition extends SaguaroChain{
+    position: number;
+}
+
+export interface SaguaroRange extends SaguaroChain {
+    begin: number;
+    end: number;
+}
+
+export interface SaguaroSet extends SaguaroChain{
+    seqIds: Set<number>;
+}
+
+export interface SaguaroRegionList extends SaguaroChain{
+    regions: Array<RegionSelectionInterface>;
+}
+
+export interface SaguaroPluginInterface extends SaguaroPluginPublicInterface{
+    init: (elementId: string, props?: any) => void;
+    load: (args: LoadMolstarInterface) => void;
+    pluginCall: (f:(plugin: PluginContext)=>void) => void;
+    clear: () => void;
+    setSelectCallback: (g:(flag?:boolean)=>void)=>void;
+    setModelChangeCallback: (f:(modelMap:SaguaroPluginModelMapType)=>void)=>void;
+    setHoverCallback:(g:(flag?:boolean)=>void)=>void;
+    setRepresentationChangeCallback:(g:(flag?:boolean)=>void)=>void;
+    unsetCallbacks:()=>void;
+}
+
+export interface SaguaroPluginPublicInterface {
+    select(modelId:string, labelAsymId: string, x: number, y: number, mode: 'select'|'hover', operation:'set'|'add', operatorName?:string): void;
+    select(selection: Array<SaguaroPosition>, mode: 'select'|'hover', operation:'add'|'set'): void;
+    select(selection: Array<SaguaroRange>, mode: 'select'|'hover', operation:'add'|'set'): void;
+    clearSelection(mode:'select'|'hover', option?:SaguaroChain): void;
+    createComponent(componentId: string, modelId:string, labelAsymId: string, begin: number, end : number, representationType: StructureRepresentationRegistry.BuiltIn, operatorName?:string): Promise<void>;
+    createComponent(componentId: string, modelId:string, labelAsymId: string, representationType: StructureRepresentationRegistry.BuiltIn, operatorName?:string): Promise<void>;
+    createComponent(componentId: string, residues: Array<SaguaroPosition>, representationType: StructureRepresentationRegistry.BuiltIn): Promise<void>;
+    createComponent(componentId: string, residues: Array<SaguaroRange>, representationType: StructureRepresentationRegistry.BuiltIn): Promise<void>;
+    colorComponent(componentId: string, color: ColorTheme.BuiltIn): Promise<void>;
+    removeComponent(componentId?: string): void;
+    isComponent(componentId: string): boolean;
+    displayComponent(componentLabel: string, visibilityFlag: boolean): void;
+    displayComponent(componentLabel: string): boolean;
+    getComponentSet(): Set<string>;
+    setFocus(modelId: string, labelAsymId: string, begin: number, end: number, operatorName?:string): void;
+    clearFocus(): void;
+    cameraFocus(modelId: string, labelAsymId: string, positions:Array<number>, operatorName?:string): void;
+    cameraFocus(modelId: string, labelAsymId: string, begin: number, end: number, operatorName?:string): void;
+    resetCamera(): void;
+}

+ 82 - 73
src/RcsbFvStructure/StructurePlugins/MolstarPlugin.ts

@@ -1,9 +1,10 @@
 import {Viewer, ViewerProps} from '@rcsb/rcsb-molstar/build/src/viewer';
 import {PresetProps} from '@rcsb/rcsb-molstar/build/src/viewer/helpers/preset';
 import {
+    ChainInfo, OperatorInfo, SaguaroChain,
     SaguaroPluginInterface,
-    SaguaroPluginModelMapType
-} from "./SaguaroPluginInterface";
+    SaguaroPluginModelMapType, SaguaroPosition, SaguaroRange, SaguaroSet
+} from "../SaguaroPluginInterface";
 
 import {PluginContext} from "molstar/lib/mol-plugin/context";
 import {Loci} from "molstar/lib/mol-model/loci";
@@ -22,15 +23,18 @@ import {OrderedSet} from "molstar/lib/mol-data/int";
 import { PluginStateObject as PSO } from 'molstar/lib/mol-plugin-state/objects';
 import {State, StateObject} from "molstar/lib/mol-state";
 import {StructureComponentRef, StructureRef} from "molstar/lib/mol-plugin-state/manager/structure/hierarchy-state";
-import {RcsbFvSelectorManager, ResidueSelectionInterface} from "../../RcsbFvSelection/RcsbFvSelectorManager";
+import {
+    RcsbFvSelectorManager
+} from "../../RcsbFvSelection/RcsbFvSelectorManager";
 import {AbstractPlugin} from "./AbstractPlugin";
 import {Subscription} from "rxjs";
 import {Script} from "molstar/lib/mol-script/script";
-import {MolScriptBuilder} from "molstar/lib/mol-script/language/builder";
+import {MolScriptBuilder as MS} from "molstar/lib/mol-script/language/builder";
 import {SetUtils} from "molstar/lib/mol-util/set";
 import {StructureRepresentationRegistry} from "molstar/lib/mol-repr/structure/registry";
 import {ColorTheme} from "molstar/lib/mol-theme/color";
 import {TrajectoryHierarchyPresetProvider} from "molstar/lib/mol-plugin-state/builder/structure/hierarchy-preset";
+import {Expression} from "molstar/lib/commonjs/mol-script/language/expression";
 
 export enum LoadMethod {
     loadPdbId = "loadPdbId",
@@ -138,11 +142,11 @@ export class MolstarPlugin extends AbstractPlugin implements SaguaroPluginInterf
     public setBackground(color: number) {
     }
 
-    public select(modelId:string, labelAsymId: string, begin: number, end: number, mode: 'select'|'hover', operation:'add'|'set'): void;
-    public select(selection: Array<{modelId:string; labelAsymId: string; position: number;}>, mode: 'select'|'hover', operation:'add'|'set'): void;
-    public select(selection: Array<{modelId:string; labelAsymId: string; begin: number; end: number;}>, mode: 'select'|'hover', operation:'add'|'set'): void;
+    public select(modelId:string, labelAsymId: string, begin: number, end: number, mode: 'select'|'hover', operation:'add'|'set', operatorName?:string): void;
+    public select(selection: Array<SaguaroPosition>, mode: 'select'|'hover', operation:'add'|'set'): void;
+    public select(selection: Array<SaguaroRange>, mode: 'select'|'hover', operation:'add'|'set'): void;
     public select(...args: any[]): void{
-        if(args.length === 6){
+        if(args.length >= 6){
             this.selectRange(args[0],args[1],args[2],args[3],args[4],args[5]);
         }else if(args.length === 3 && (args[0] as Array<any>).length > 0 && typeof (args[0] as Array<any>)[0].position === 'number'){
             this.selectSet(args[0],args[1],args[2]);
@@ -150,99 +154,98 @@ export class MolstarPlugin extends AbstractPlugin implements SaguaroPluginInterf
             this.selectMultipleRanges(args[0],args[1],args[2]);
         }
     }
-    private selectRange(modelId:string, labelAsymId: string, begin: number, end: number, mode: 'select'|'hover', operation:'add'|'set'): void {
+    private selectRange(modelId:string, labelAsymId: string, begin: number, end: number, mode: 'select'|'hover', operation:'add'|'set', operatorName?:string): void {
         if(mode == null || mode === 'select') {
             this.innerSelectionFlag = true;
         }
-        this.viewer.select({modelId:this.getModelId(modelId), labelAsymId: labelAsymId, labelSeqRange:{beg: begin, end:end}}, mode,operation);
+        this.viewer.select({modelId:this.getModelId(modelId), labelAsymId: labelAsymId, labelSeqRange:{beg: begin, end:end}, operatorName: operatorName}, mode,operation);
         this.innerSelectionFlag = false;
     }
-    private selectSet(selection: Array<{modelId:string; labelAsymId: string; position: number;}>, mode: 'select'|'hover', operation:'add'|'set'): void {
+    private selectSet(selection: Array<SaguaroPosition>, mode: 'select'|'hover', operation:'add'|'set'): void {
         if(mode == null || mode === 'select') {
             this.innerSelectionFlag = true;
         }
-        this.viewer.select(selection.map(r=>({modelId: this.getModelId(r.modelId), labelSeqId:r.position, labelAsymId: r.labelAsymId})), mode, operation);
+        this.viewer.select(selection.map(r=>({modelId: this.getModelId(r.modelId), labelSeqId:r.position, labelAsymId: r.labelAsymId, operatorName: r.operatorName})), mode, operation);
         this.innerSelectionFlag = false;
     }
-    private selectMultipleRanges(selection: Array<{modelId:string; labelAsymId: string; begin: number; end:number;}>, mode: 'select'|'hover', operation:'add'|'set'): void {
+    private selectMultipleRanges(selection: Array<SaguaroRange>, mode: 'select'|'hover', operation:'add'|'set'): void {
         if(mode == null || mode === 'select') {
             this.innerSelectionFlag = true;
         }
-        this.viewer.select(selection.map(r=>({modelId: this.getModelId(r.modelId), labelAsymId: r.labelAsymId, labelSeqRange:{beg:r.begin, end: r.end}})), mode, operation);
+        this.viewer.select(selection.map(r=>({modelId: this.getModelId(r.modelId), labelAsymId: r.labelAsymId, labelSeqRange:{beg:r.begin, end: r.end}, operatorName: r.operatorName})), mode, operation);
         this.innerSelectionFlag = false;
     }
 
-    public clearSelection(mode:'select'|'hover', option?:{modelId:string; labelAsymId:string;}): void {
+    public clearSelection(mode:'select'|'hover', option?:SaguaroChain): void {
         if(mode === 'select') {
             this.viewer.clearFocus();
             this.innerSelectionFlag = true;
         }
         if(option != null)
-            this.viewer.clearSelection(mode, {modelId: this.getModelId(option.modelId), labelAsymId: option.labelAsymId});
+            this.viewer.clearSelection(mode, {...option, modelId: this.getModelId(option.modelId)});
         else
             this.viewer.clearSelection(mode);
         this.innerSelectionFlag = false;
     }
 
-    public setFocus(modelId: string, labelAsymId: string, begin: number, end: number): void{
-        this.viewer.setFocus({modelId: this.getModelId(modelId), labelAsymId: labelAsymId, labelSeqRange:{beg:begin, end: end}});
+    public setFocus(modelId: string, labelAsymId: string, begin: number, end: number, operatorName?:string): void{
+        this.viewer.setFocus({modelId: this.getModelId(modelId), labelAsymId: labelAsymId, labelSeqRange:{beg:begin, end: end}, operatorName: operatorName});
     }
     public clearFocus(): void {
         this.viewer.clearFocus();
     }
 
-    public cameraFocus(modelId: string, labelAsymId: string, positions:Array<number>): void;
-    public cameraFocus(modelId: string, labelAsymId: string, begin: number, end: number): void;
-    public cameraFocus(regions: {modelId: string; labelAsymId: string; begin: number; end: number;}[]): void;
+    public cameraFocus(modelId: string, labelAsymId: string, positions:Array<number>, operatorName?:string): void;
+    public cameraFocus(modelId: string, labelAsymId: string, begin: number, end: number, operatorName?:string): void;
     public cameraFocus(...args: any[]): void{
-        if(args.length === 1){
-            //TODO How to focus selections through multiple models
-        }else if(args.length === 3){
-            this.focusPositions(args[0],args[1],args[2]);
-        }else if(args.length === 4){
-            this.focusRange(args[0],args[1],args[2],args[3]);
+        if(typeof args[3] === "number"){
+            this.focusRange(args[0],args[1],args[2],args[3],args[4]);
+        }else{
+            this.focusPositions(args[0],args[1],args[2],args[3]);
         }
     }
-    private focusPositions(modelId: string, labelAsymId: string, positions:Array<number>): void{
-        const data: Structure | undefined = getStructureWithModelId(this.viewer.plugin.managers.structure.hierarchy.current.structures, this.getModelId(modelId));
-        if (data == null) return;
+    private focusPositions(modelId: string, labelAsymId: string, positions:Array<number>, operatorName?:string): void{
+        const structure: Structure | undefined = getStructureWithModelId(this.viewer.plugin.managers.structure.hierarchy.current.structures, this.getModelId(modelId));
+        if (structure == null) return;
+        const chainTests: Expression[] = [MS.core.rel.eq([MS.ammp('label_asym_id'), labelAsymId])];
+        if(operatorName)
+            chainTests.push(MS.core.rel.eq([operatorName, MS.acp('operatorName')]));
         const sel: StructureSelection = Script.getStructureSelection(Q => Q.struct.generator.atomGroups({
-            'chain-test': Q.core.rel.eq([labelAsymId, MolScriptBuilder.ammp('label_asym_id')]),
-            'residue-test': Q.core.set.has([MolScriptBuilder.set(...SetUtils.toArray(new Set(positions))), MolScriptBuilder.ammp('label_seq_id')])
-        }), data);
+            'chain-test': Q.core.logic.and(chainTests),
+            'residue-test': Q.core.set.has([MS.set(...SetUtils.toArray(new Set(positions))), MS.ammp('label_seq_id')])
+        }), structure);
         const loci: Loci = StructureSelection.toLociWithSourceUnits(sel);
         if(!StructureElement.Loci.isEmpty(loci))
             this.viewer.plugin.managers.camera.focusLoci(loci);
         else
             this.viewer.plugin.managers.camera.reset();
     }
-    private focusRange(modelId: string, labelAsymId: string, begin: number, end: number): void{
+    private focusRange(modelId: string, labelAsymId: string, begin: number, end: number, operatorName?:string): void{
         const seqIds: Array<number> = new Array<number>();
         for(let n = begin; n <= end; n++){
             seqIds.push(n);
         }
-        this.focusPositions(modelId, labelAsymId, seqIds);
+        this.focusPositions(modelId, labelAsymId, seqIds, operatorName);
     }
 
-    public async createComponent(componentLabel: string, modelId:string, labelAsymId: string, begin: number, end : number, representationType: StructureRepresentationRegistry.BuiltIn): Promise<void>;
-    public async createComponent(componentLabel: string, modelId:string, labelAsymId: string, representationType: StructureRepresentationRegistry.BuiltIn): Promise<void>;
-    public async createComponent(componentLabel: string, modelId:string, residues: Array<{labelAsymId: string; position: number;}>, representationType: StructureRepresentationRegistry.BuiltIn): Promise<void>;
-    public async createComponent(componentLabel: string, modelId:string, residues: Array<{labelAsymId: string; begin: number; end: number;}>, representationType: StructureRepresentationRegistry.BuiltIn): Promise<void>;
+    public async createComponent(componentLabel: string, modelId:string, labelAsymId: string, begin: number, end : number, representationType: StructureRepresentationRegistry.BuiltIn, operatorName?:string): Promise<void>;
+    public async createComponent(componentLabel: string, modelId:string, labelAsymId: string, representationType: StructureRepresentationRegistry.BuiltIn, operatorName?:string): Promise<void>;
+    public async createComponent(componentLabel: string, residues: Array<SaguaroPosition>, representationType: StructureRepresentationRegistry.BuiltIn): Promise<void>;
+    public async createComponent(componentLabel: string, residues: Array<SaguaroRange>, representationType: StructureRepresentationRegistry.BuiltIn): Promise<void>;
     public async createComponent(...args: any[]): Promise<void> {
         this.removeComponent(args[0]);
-        if(args.length === 4){
-            if( args[2] instanceof Array && args[2].length > 0 ) {
-                if(typeof args[2][0].position === "number"){
-                    await this.viewer.createComponent(args[0], args[2].map(r=>({modelId: this.getModelId(args[1]), labelAsymId: r.labelAsymId, labelSeqId: r.position})), args[3]);
+        if(args.length === 3){
+            if( args[1] instanceof Array && args[1].length > 0 ) {
+                if(typeof args[1][0].position === "number"){
+                    await this.viewer.createComponent(args[0], args[1].map(r=>({modelId: this.getModelId(r.modelId), labelAsymId: r.labelAsymId, labelSeqId: r.position, operatorName: r.operatorName})), args[2]);
                 }else{
-                    await this.viewer.createComponent(args[0], args[2].map(r=>({modelId: this.getModelId(args[1]), labelAsymId: r.labelAsymId, labelSeqRange:{beg:r.begin, end: r.end}})), args[3]);
+                    await this.viewer.createComponent(args[0], args[1].map(r=>({modelId: this.getModelId(r.modelId), labelAsymId: r.labelAsymId, labelSeqRange:{beg:r.begin, end: r.end}, operatorName: r.operatorName})), args[2]);
                 }
-            }else{
-                await this.viewer.createComponent(args[0], {modelId: this.getModelId(args[1]), labelAsymId:args[2]}, args[3]);
             }
-        }
-        else if(args.length === 6){
-            await this.viewer.createComponent(args[0], {modelId: this.getModelId(args[1]), labelAsymId: args[2], labelSeqRange:{beg:args[3], end:args[4]}}, args[5]);
+        }else if(args.length >= 6){
+            await this.viewer.createComponent(args[0], {modelId: this.getModelId(args[1]), labelAsymId: args[2], labelSeqRange:{beg:args[3], end:args[4]}, operatorName: args[6]}, args[5]);
+        }else{
+            await this.viewer.createComponent(args[0], {modelId: this.getModelId(args[1]), labelAsymId:args[2], operatorName: args[4]}, args[3]);
         }
         this.componentMap.set(args[0], this.viewer.plugin.managers.structure.hierarchy.currentComponentGroups[this.viewer.plugin.managers.structure.hierarchy.currentComponentGroups.length-1][0]);
     }
@@ -330,7 +333,7 @@ export class MolstarPlugin extends AbstractPlugin implements SaguaroPluginInterf
 
     public setHoverCallback(g:()=>void){
         this.viewer.plugin.behaviors.interaction.hover.subscribe((r)=>{
-            const sequenceData: Array<ResidueSelectionInterface> = new Array<ResidueSelectionInterface>();
+            const sequenceData: Array<SaguaroSet> = new Array<SaguaroSet>();
             const loci:Loci = r.current.loci;
             if(StructureElement.Loci.is(loci)){
                 const loc = StructureElement.Location.create(loci.structure);
@@ -345,6 +348,7 @@ export class MolstarPlugin extends AbstractPlugin implements SaguaroPluginInterf
                     sequenceData.push({
                         modelId: this.getModelId(modelId),
                         labelAsymId: SP.chain.label_asym_id(loc),
+                        operatorName: SP.unit.operator_name(loc),
                         seqIds
                     });
                 }
@@ -390,20 +394,19 @@ export class MolstarPlugin extends AbstractPlugin implements SaguaroPluginInterf
                         for (const e of surroundingsLoci.elements) {
                             StructureElement.Location.set(surroundingsLoc, surroundingsLoci.structure, e.unit, e.unit.elements[0]);
                             if(SP.entity.type(surroundingsLoc) === 'polymer'){
-                                const currentAsymId: string = SP.chain.label_asym_id(surroundingsLoc);
                                 this.selection.setLastSelection('select', {
                                     modelId: currentModelId,
-                                    labelAsymId: currentAsymId,
+                                    labelAsymId: SP.chain.label_asym_id(surroundingsLoc),
                                     regions: []
                                 });
                             }
                         }
                         this.innerSelectionFlag = false;
                     }else if( SP.entity.type(loc) === 'polymer' ) {
-                        const currentAsymId: string = SP.chain.label_asym_id(loc);
                         this.selection.setLastSelection('select', {
                             modelId: currentModelId,
-                            labelAsymId: currentAsymId,
+                            labelAsymId: SP.chain.label_asym_id(loc),
+                            operatorName: SP.unit.operator_name(loc),
                             regions: []
                         });
                     }else{
@@ -412,7 +415,7 @@ export class MolstarPlugin extends AbstractPlugin implements SaguaroPluginInterf
             }else{
                 this.selection.setLastSelection('select', null);
             }
-            const sequenceData: Array<ResidueSelectionInterface> = new Array<ResidueSelectionInterface>();
+            const sequenceData: Array<SaguaroSet> = new Array<SaguaroSet>();
             for(const structure of this.viewer.plugin.managers.structure.hierarchy.current.structures){
                 const data: Structure | undefined = structure.cell.obj?.data;
                 if(data == null) return;
@@ -429,6 +432,7 @@ export class MolstarPlugin extends AbstractPlugin implements SaguaroPluginInterf
                         sequenceData.push({
                             modelId: this.getModelId(data.model.id),
                             labelAsymId: SP.chain.label_asym_id(loc),
+                            operatorName: SP.unit.operator_name(loc),
                             seqIds
                         });
                     }
@@ -459,11 +463,11 @@ export class MolstarPlugin extends AbstractPlugin implements SaguaroPluginInterf
 
     private getChains(): SaguaroPluginModelMapType{
         const structureRefList = getStructureOptions(this.viewer.plugin);
-        const out: SaguaroPluginModelMapType = new Map<string, {entryId: string; chains: Array<{label:string;auth:string;entityId:string;title:string;type:ChainType;}>}>();
+        const out: SaguaroPluginModelMapType = new Map<string, {entryId: string; chains: Array<ChainInfo>}>();
         structureRefList.forEach((structureRef,i)=>{
             const structure = getStructure(structureRef[0], this.viewer.plugin.state.data);
             let modelEntityId = getModelEntityOptions(structure)[0][0];
-            const chains: [{modelId:string;entryId:string},{auth:string;label:string;entityId:string;title:string;type:ChainType;}[]] = getChainValues(structure, modelEntityId);
+            const chains: [{modelId:string;entryId:string},ChainInfo[]] = getChainValues(structure, modelEntityId);
             out.set(this.getModelId(chains[0].modelId),{entryId:chains[0].entryId, chains: chains[1]});
         });
         return out;
@@ -475,7 +479,7 @@ export class MolstarPlugin extends AbstractPlugin implements SaguaroPluginInterf
         structureRefList.forEach((structureRef,i)=>{
             const structure = getStructure(structureRef[0], this.viewer.plugin.state.data);
             let modelEntityId = getModelEntityOptions(structure)[0][0];
-            const chains: [{modelId:string, entryId:string},{auth:string,label:string;entityId:string;title:string;type:ChainType;}[]] = getChainValues(structure, modelEntityId);
+            const chains: [{modelId:string, entryId:string},ChainInfo[]] = getChainValues(structure, modelEntityId);
             this.modelMap.set(chains[0].modelId,loadParamList[i].id);
             if(loadParamList[i].id!=null)
                 this.modelMap.set(loadParamList[i].id!,chains[0].modelId);
@@ -497,8 +501,6 @@ export class MolstarPlugin extends AbstractPlugin implements SaguaroPluginInterf
 
 }
 
-export type ChainType = "polymer"|"water"|"branched"|"non-polymer"|"macrolide";
-
 export function getStructureOptions(plugin: PluginContext): [string,string][] {
     const options: [string, string][] = [];
     plugin.managers.structure.hierarchy.current.structures.forEach(s=>{
@@ -507,24 +509,22 @@ export function getStructureOptions(plugin: PluginContext): [string,string][] {
     return options;
 }
 
-export function getChainValues(structure: Structure, modelEntityId: string): [{modelId:string, entryId:string},{auth:string;label:string;entityId:string;title:string;type:ChainType;}[]] {
-    const options: {auth:string;label:string;entityId:string;title:string;type:ChainType;}[] = [];
+function getChainValues(structure: Structure, modelEntityId: string): [{modelId:string, entryId:string},ChainInfo[]] {
+    const chains: Map<number, ChainInfo> = new Map<number, ChainInfo>();
     const l = StructureElement.Location.create(structure);
-    const seen = new Set<number>();
     const [modelIdx, entityId] = splitModelEntityId(modelEntityId);
-
     for (const unit of structure.units) {
         StructureElement.Location.set(l, structure, unit, unit.elements[0]);
         if (structure.getModelIndex(unit.model) !== modelIdx) continue;
-
-        const id = unit.chainGroupId;
-        if(seen.has(id)) continue;
-
-        options.push({label:SP.chain.label_asym_id(l), auth:SP.chain.auth_asym_id(l), entityId: SP.entity.id(l), title: SP.entity.pdbx_description(l).join("|"), type: SP.entity.type(l)});
-        seen.add(id);
+        const chId: number = unit.chainGroupId;
+        if(chains.has(chId)){
+           chains.get(chId)!.operators.push(opKey(l))
+        }else{
+            chains.set(chId, {label:SP.chain.label_asym_id(l), auth:SP.chain.auth_asym_id(l), entityId: SP.entity.id(l), title: SP.entity.pdbx_description(l).join("|"), type: SP.entity.type(l), operators:[opKey(l)]});
+        }
     }
     const id: {modelId:string, entryId:string} = {modelId:l.unit?.model?.id, entryId: l.unit?.model?.entryId};
-    return [id,options];
+    return [id,Array.from(chains.values())];
 }
 
 function getStructureWithModelId(structures: StructureRef[], modelId: string): Structure|undefined{
@@ -538,13 +538,13 @@ function getStructureWithModelId(structures: StructureRef[], modelId: string): S
     }
 }
 
-export function getStructure(ref: string, state: State) {
+function getStructure(ref: string, state: State) {
     const cell = state.select(ref)[0];
     if (!ref || !cell || !cell.obj) return Structure.Empty;
     return (cell.obj as PSO.Molecule.Structure).data;
 }
 
-export function getModelEntityOptions(structure: Structure):[string, string][] {
+function getModelEntityOptions(structure: Structure):[string, string][] {
     const options: [string, string][] = [];
     const l = StructureElement.Location.create(structure);
     const seen = new Set<string>();
@@ -573,4 +573,13 @@ export function getModelEntityOptions(structure: Structure):[string, string][] {
 function splitModelEntityId(modelEntityId: string) {
     const [ modelIdx, entityId ] = modelEntityId.split('|');
     return [ parseInt(modelIdx), entityId ];
+}
+
+function opKey(l: StructureElement.Location): OperatorInfo {
+    const ids = SP.unit.pdbx_struct_oper_list_ids(l);
+    const ncs = SP.unit.struct_ncs_oper_id(l);
+    const hkl = SP.unit.hkl(l);
+    const spgrOp = SP.unit.spgrOp(l);
+    const name = SP.unit.operator_name(l);
+    return {ids:ids,name:name};
 }

+ 0 - 40
src/RcsbFvStructure/StructurePlugins/SaguaroPluginInterface.ts

@@ -1,40 +0,0 @@
-import {LoadMolstarInterface} from "./MolstarPlugin";
-import {PluginContext} from "molstar/lib/mol-plugin/context";
-import {StructureRepresentationRegistry} from "molstar/lib/mol-repr/structure/registry";
-import {ColorTheme} from "molstar/lib/mol-theme/color";
-
-export type SaguaroPluginModelMapType = Map<string,{entryId: string; chains:Array<{label:string, auth:string; entityId: string; title: string; type:"polymer"|"water"|"branched"|"non-polymer"|"macrolide";}>;}>;
-
-export interface SaguaroPluginInterface extends SaguaroPluginPublicInterface{
-    init: (elementId: string, props?: any) => void;
-    load: (args: LoadMolstarInterface) => void;
-    pluginCall: (f:(plugin: PluginContext)=>void) => void;
-    clear: () => void;
-    setSelectCallback: (g:(flag?:boolean)=>void)=>void;
-    setModelChangeCallback: (f:(modelMap:SaguaroPluginModelMapType)=>void)=>void;
-    setHoverCallback:(g:(flag?:boolean)=>void)=>void;
-    setRepresentationChangeCallback:(g:(flag?:boolean)=>void)=>void;
-    unsetCallbacks:()=>void;
-}
-
-export interface SaguaroPluginPublicInterface {
-    select(modelId:string, labelAsymId: string, x: number, y: number, mode: 'select'|'hover', operation:'set'|'add'): void;
-    select(selection: Array<{modelId:string; labelAsymId: string; position: number;}>, mode: 'select'|'hover', operation:'add'|'set'): void;
-    select(selection: Array<{modelId:string; labelAsymId: string; begin: number; end:number;}>, mode: 'select'|'hover', operation:'add'|'set'): void;
-    clearSelection: (mode:'select'|'hover', option?:{modelId:string; labelAsymId:string;}) => void;
-    createComponent(componentId: string, modelId:string, labelAsymId: string, begin: number, end : number, representationType: StructureRepresentationRegistry.BuiltIn): Promise<void>;
-    createComponent(componentId: string, modelId:string, labelAsymId: string, representationType: StructureRepresentationRegistry.BuiltIn): Promise<void>;
-    createComponent(componentId: string, modelId:string, residues: Array<{labelAsymId: string; position: number;}>, representationType: StructureRepresentationRegistry.BuiltIn): Promise<void>;
-    createComponent(componentId: string, modelId:string, residues: Array<{labelAsymId: string; begin: number; end: number;}>, representationType: StructureRepresentationRegistry.BuiltIn): Promise<void>;
-    colorComponent(componentId: string, color: ColorTheme.BuiltIn): Promise<void>;
-    removeComponent: (componentId?: string) => void;
-    isComponent: (componentId: string) => boolean;
-    displayComponent(componentLabel: string, visibilityFlag: boolean): void;
-    displayComponent(componentLabel: string): boolean;
-    getComponentSet: () => Set<string>;
-    setFocus(modelId: string, labelAsymId: string, begin: number, end: number): void;
-    clearFocus(): void;
-    cameraFocus(modelId: string, labelAsymId: string, positions:Array<number>): void;
-    cameraFocus(modelId: string, labelAsymId: string, begin: number, end: number): void;
-    resetCamera: ()=>void;
-}

+ 2 - 1
src/examples/assembly/index.ts

@@ -44,7 +44,8 @@ document.addEventListener("DOMContentLoaded", function(event) {
                 }
             },
             externalTrackBuilder:externalTrackBuilder()
-        }
+        },
+        useOperatorsFlag: true
     });
     panel3d.render();
 

+ 5 - 6
src/examples/css-config/index.tsx

@@ -15,11 +15,10 @@ import {
     RcsbFvTrackDataElementInterface
 } from "@rcsb/rcsb-saguaro";
 import {
-    ChainSelectionInterface,
     RcsbFvSelectorManager,
     RegionSelectionInterface
 } from "../../RcsbFvSelection/RcsbFvSelectorManager";
-import {SaguaroPluginPublicInterface} from "../../RcsbFvStructure/StructurePlugins/SaguaroPluginInterface";
+import {SaguaroPluginPublicInterface, SaguaroRegionList} from "../../RcsbFvStructure/SaguaroPluginInterface";
 import {AlignmentManager} from "./AlignmentManager";
 import {Mat4} from "molstar/lib/mol-math/linear-algebra";
 
@@ -167,8 +166,8 @@ const fvConfig: FeatureViewInterface = {
         }
     },
     structureSelectionCallback: (plugin: SaguaroPluginPublicInterface, pfv: RcsbFv, selection: RcsbFvSelectorManager) => {
-        const sel_1ash: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("1ash_model", "A", "select");
-        const sel_101m: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("101m_model", "A", "select");
+        const sel_1ash: SaguaroRegionList | undefined = selection.getSelectionWithCondition("1ash_model", "A", "select");
+        const sel_101m: SaguaroRegionList | undefined = selection.getSelectionWithCondition("101m_model", "A", "select");
         pfv.clearSelection("select");
         if(sel_1ash == null && sel_101m == null) {
             plugin.resetCamera();
@@ -184,8 +183,8 @@ const fvConfig: FeatureViewInterface = {
         }
     },
     structureHoverCallback: (plugin: SaguaroPluginPublicInterface, pfv: RcsbFv, selection: RcsbFvSelectorManager) => {
-        const sel_1ash: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("1ash_model", "A", "hover");
-        const sel_101m: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("101m_model", "A", "hover");
+        const sel_1ash: SaguaroRegionList | undefined = selection.getSelectionWithCondition("1ash_model", "A", "hover");
+        const sel_101m: SaguaroRegionList | undefined = selection.getSelectionWithCondition("101m_model", "A", "hover");
         if(sel_1ash == null && sel_101m == null)
             pfv.clearSelection("hover");
         else if(sel_1ash)

+ 6 - 7
src/examples/multiple-chain/index.tsx

@@ -15,13 +15,12 @@ import {
     RcsbFvTrackDataElementInterface
 } from "@rcsb/rcsb-saguaro";
 import {
-    ChainSelectionInterface,
     RcsbFvSelectorManager,
     RegionSelectionInterface
 } from "../../RcsbFvSelection/RcsbFvSelectorManager";
 import {
-    SaguaroPluginPublicInterface
-} from "../../RcsbFvStructure/StructurePlugins/SaguaroPluginInterface";
+    SaguaroPluginPublicInterface, SaguaroRegionList
+} from "../../RcsbFvStructure/SaguaroPluginInterface";
 
 const rowConfigChainA: Array<RcsbFvRowConfigInterface> = [
     {
@@ -128,7 +127,7 @@ const fvConfigChainA: FeatureViewInterface = {
             })), "hover", "set");
     },
     structureSelectionCallback: (plugin: SaguaroPluginPublicInterface, pfv: RcsbFv, selection: RcsbFvSelectorManager) => {
-        const sel: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("1acb_board", "A", "select");
+        const sel: SaguaroRegionList | undefined = selection.getSelectionWithCondition("1acb_board", "A", "select");
         if(sel == null) {
             pfv.clearSelection("select");
             plugin.resetCamera();
@@ -137,7 +136,7 @@ const fvConfigChainA: FeatureViewInterface = {
         }
     },
     structureHoverCallback: (plugin: SaguaroPluginPublicInterface, pfv: RcsbFv, selection: RcsbFvSelectorManager) => {
-        const sel: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("1acb_board", "A", "hover");
+        const sel: SaguaroRegionList | undefined = selection.getSelectionWithCondition("1acb_board", "A", "hover");
         if(sel == null)
             pfv.clearSelection("hover");
         else
@@ -191,7 +190,7 @@ const fvConfigChainB: FeatureViewInterface = {
             })), "hover", "set");
     },
     structureSelectionCallback: (plugin: SaguaroPluginPublicInterface, pfv: RcsbFv, selection: RcsbFvSelectorManager) => {
-        const sel: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("1acb_board", "B", "select");
+        const sel: SaguaroRegionList | undefined = selection.getSelectionWithCondition("1acb_board", "B", "select");
         if(sel == null) {
             pfv.clearSelection("select");
             plugin.resetCamera();
@@ -200,7 +199,7 @@ const fvConfigChainB: FeatureViewInterface = {
         }
     },
     structureHoverCallback: (plugin: SaguaroPluginPublicInterface, pfv: RcsbFv, selection: RcsbFvSelectorManager) => {
-        const sel: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("1acb_board", "B", "hover");
+        const sel: SaguaroRegionList | undefined = selection.getSelectionWithCondition("1acb_board", "B", "hover");
         if(sel == null)
             pfv.clearSelection("hover");
         else

+ 4 - 5
src/examples/single-chain/index.tsx

@@ -14,13 +14,12 @@ import {
     RcsbFvTrackDataElementInterface
 } from "@rcsb/rcsb-saguaro";
 import {
-    ChainSelectionInterface,
     RcsbFvSelectorManager,
     RegionSelectionInterface
 } from "../../RcsbFvSelection/RcsbFvSelectorManager";
 import {
-    SaguaroPluginPublicInterface
-} from "../../RcsbFvStructure/StructurePlugins/SaguaroPluginInterface";
+    SaguaroPluginPublicInterface, SaguaroRegionList
+} from "../../RcsbFvStructure/SaguaroPluginInterface";
 
 const rowConfig: Array<RcsbFvRowConfigInterface> = [
     {
@@ -96,7 +95,7 @@ const fvConfig: FeatureViewInterface = {
             })), "hover", "set");
     },
     structureSelectionCallback: (plugin: SaguaroPluginPublicInterface, pfv: RcsbFv, selection: RcsbFvSelectorManager) => {
-        const sel: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("1ash_model", "A", "select");
+        const sel: SaguaroRegionList | undefined = selection.getSelectionWithCondition("1ash_model", "A", "select");
         if(sel == null) {
             pfv.clearSelection("select");
             plugin.resetCamera();
@@ -105,7 +104,7 @@ const fvConfig: FeatureViewInterface = {
         }
     },
     structureHoverCallback: (plugin: SaguaroPluginPublicInterface, pfv: RcsbFv, selection: RcsbFvSelectorManager) => {
-        const sel: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("1ash_model", "A", "hover");
+        const sel: SaguaroRegionList | undefined = selection.getSelectionWithCondition("1ash_model", "A", "hover");
         if(sel == null)
             pfv.clearSelection("hover");
         else

+ 5 - 6
src/examples/structural-alignment/index.tsx

@@ -15,11 +15,10 @@ import {
     RcsbFvTrackDataElementInterface
 } from "@rcsb/rcsb-saguaro";
 import {
-    ChainSelectionInterface,
     RcsbFvSelectorManager,
     RegionSelectionInterface
 } from "../../RcsbFvSelection/RcsbFvSelectorManager";
-import {SaguaroPluginPublicInterface} from "../../RcsbFvStructure/StructurePlugins/SaguaroPluginInterface";
+import {SaguaroPluginPublicInterface, SaguaroRegionList} from "../../RcsbFvStructure/SaguaroPluginInterface";
 import {AlignmentManager} from "./AlignmentManager";
 import {Mat4} from "molstar/lib/mol-math/linear-algebra";
 
@@ -165,8 +164,8 @@ const fvConfig: FeatureViewInterface = {
         }
     },
     structureSelectionCallback: (plugin: SaguaroPluginPublicInterface, pfv: RcsbFv, selection: RcsbFvSelectorManager) => {
-        const sel_1ash: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("1ash_model", "A", "select");
-        const sel_101m: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("101m_model", "A", "select");
+        const sel_1ash: SaguaroRegionList | undefined = selection.getSelectionWithCondition("1ash_model", "A", "select");
+        const sel_101m: SaguaroRegionList | undefined = selection.getSelectionWithCondition("101m_model", "A", "select");
         pfv.clearSelection("select");
         if(sel_1ash == null && sel_101m == null) {
             plugin.resetCamera();
@@ -182,8 +181,8 @@ const fvConfig: FeatureViewInterface = {
         }
     },
     structureHoverCallback: (plugin: SaguaroPluginPublicInterface, pfv: RcsbFv, selection: RcsbFvSelectorManager) => {
-        const sel_1ash: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("1ash_model", "A", "hover");
-        const sel_101m: ChainSelectionInterface | undefined = selection.getSelectionWithCondition("101m_model", "A", "hover");
+        const sel_1ash: SaguaroRegionList | undefined = selection.getSelectionWithCondition("1ash_model", "A", "hover");
+        const sel_101m: SaguaroRegionList | undefined = selection.getSelectionWithCondition("101m_model", "A", "hover");
         if(sel_1ash == null && sel_101m == null)
             pfv.clearSelection("hover");
         else if(sel_1ash)

+ 7 - 3
webpack.config.js

@@ -32,9 +32,13 @@ const commonConfig = {
             'node_modules',
             path.resolve(__dirname, 'build/src/')
         ],
-    },
-    node: {
-        fs: "empty"
+        fallback: {
+            fs: false,
+            buffer: require.resolve('buffer'),
+            crypto: require.resolve('crypto-browserify'),
+            path: require.resolve('path-browserify'),
+            stream: require.resolve('stream-browserify')
+        }
     }
 };
 

+ 26 - 20
webpack.examples.config.js

@@ -32,47 +32,53 @@ const commonConfig = {
             'node_modules',
             path.resolve(__dirname, 'build/src/')
         ],
-    },
-    node: {
-        fs: "empty"
+        fallback: {
+            fs: false,
+            buffer: require.resolve('buffer'),
+            crypto: require.resolve('crypto-browserify'),
+            path: require.resolve('path-browserify'),
+            stream: require.resolve('stream-browserify')
+        }
     }
 };
 
 const out_path = "build/examples";
-const example_1 = {
+const examples = [];
+
+examples.push({
     ...commonConfig,
     entry: {
-        "index": './build/src/examples/single-chain/index.js'
+        "index": './build/src/examples/assembly/index.js'
     },
     output: {
         filename: '[name].js',
-        path: path.resolve(__dirname, out_path+'/single-chain/')
+        path: path.resolve(__dirname, out_path+'/assembly/')
     }
-}
+});
 
-const example_2 = {
+examples.push({
     ...commonConfig,
     entry: {
-        "index": './build/src/examples/structural-alignment/index.js'
+        "index": './build/src/examples/single-chain/index.js'
     },
     output: {
         filename: '[name].js',
-        path: path.resolve(__dirname, out_path+'/structural-alignment/')
+        path: path.resolve(__dirname, out_path+'/single-chain/')
     }
-}
+});
 
-const example_3 = {
+examples.push({
     ...commonConfig,
     entry: {
-        "index": './build/src/examples/assembly/index.js'
+        "index": './build/src/examples/structural-alignment/index.js'
     },
     output: {
         filename: '[name].js',
-        path: path.resolve(__dirname, out_path+'/assembly/')
+        path: path.resolve(__dirname, out_path+'/structural-alignment/')
     }
-}
+});
 
-const example_4 = {
+examples.push({
     ...commonConfig,
     entry: {
         "index": './build/src/examples/multiple-chain/index.js'
@@ -81,9 +87,9 @@ const example_4 = {
         filename: '[name].js',
         path: path.resolve(__dirname, out_path+'/multiple-chain/')
     }
-}
+});
 
-const example_5 = {
+examples.push({
     ...commonConfig,
     entry: {
         "index": './build/src/examples/css-config/index.js'
@@ -92,6 +98,6 @@ const example_5 = {
         filename: '[name].js',
         path: path.resolve(__dirname, out_path+'/css-config/')
     }
-}
+});
 
-module.exports = [example_1, example_2, example_3, example_4, example_5];
+module.exports = examples;

Some files were not shown because too many files changed in this diff