diff --git a/src/apps/canvas/app.ts b/src/apps/canvas/app.ts
index 57fce3f57c931a229a39b5c80a6d3507e0ccdd28..340aa4869a18e6787870a3254364a011da4b716f 100644
--- a/src/apps/canvas/app.ts
+++ b/src/apps/canvas/app.ts
@@ -31,11 +31,11 @@ export class App {
         }
     }
 
-    async loadPdbId(id: string) {
+    async loadPdbId(id: string, assemblyId?: string) {
         if (this.structureView) this.structureView.destroy()
         const cif = await getCifFromUrl(`https://files.rcsb.org/download/${id}.cif`)
         const models = await getModelsFromMmcif(cif)
-        this.structureView = await StructureView(this.viewer, models)
+        this.structureView = await StructureView(this.viewer, models, { assemblyId })
         this.pdbIdLoaded.next(this.structureView)
     }
 }
\ No newline at end of file
diff --git a/src/apps/canvas/index.ts b/src/apps/canvas/index.ts
index 72a9077d0aa5971d5ec5907f6b87e2339a3fc47e..0c110a8856d8a28fa1a44b277c49c3727cab9222 100644
--- a/src/apps/canvas/index.ts
+++ b/src/apps/canvas/index.ts
@@ -19,5 +19,6 @@ if (!elm) throw new Error('Can not find element with id "app".')
 const app = new App()
 ReactDOM.render(React.createElement(AppComponent, { app }), elm);
 
-const pdbid = urlQueryParameter('pdbid')
-if (pdbid) app.loadPdbId(pdbid)
\ No newline at end of file
+const assemblyId = urlQueryParameter('assembly')
+const pdbId = urlQueryParameter('pdb')
+if (pdbId) app.loadPdbId(pdbId, assemblyId)
\ No newline at end of file