Last active
October 28, 2024 15:42
-
-
Save flying-sheep/3ff54234019cc7c84e84cbbe649209c5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/data/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[envs.default] | |
installer = "uv" | |
dependencies = [ | |
# jupyter | |
"ipykernel", "ipywidgets", | |
# data stuff | |
"scanpy", "numba>=0.60", | |
# visualization | |
"holoviews", "plotly", | |
] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"cells":[{"cell_type":"code","execution_count":1,"metadata":{},"outputs":[],"source":["!hatch run true"]},{"cell_type":"code","execution_count":2,"metadata":{},"outputs":[],"source":["import holoviews as hv\n","import scanpy as sc"]},{"cell_type":"code","execution_count":3,"metadata":{},"outputs":[{"data":{"text/html":["<script type=\"esms-options\">{\"shimMode\": true}</script><style>*[data-root-id],\n","*[data-root-id] > * {\n"," box-sizing: border-box;\n"," font-family: var(--jp-ui-font-family);\n"," font-size: var(--jp-ui-font-size1);\n"," color: var(--vscode-editor-foreground, var(--jp-ui-font-color1));\n","}\n","\n","/* Override VSCode background color */\n",".cell-output-ipywidget-background:has(\n"," > .cell-output-ipywidget-background > .lm-Widget > *[data-root-id]\n"," ),\n",".cell-output-ipywidget-background:has(> .lm-Widget > *[data-root-id]) {\n"," background-color: transparent !important;\n","}\n","</style>"]},"metadata":{},"output_type":"display_data"},{"data":{"application/javascript":"(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n const py_version = '3.6.0'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = false;\n const Bokeh = root.Bokeh;\n\n // Set a timeout for this load but only if we are not already initializing\n if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks;\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n if (js_exports == null) js_exports = {};\n\n root._bokeh_onload_callbacks.push(callback);\n\n if (root._bokeh_is_loading > 0) {\n // Don't load bokeh if it is still initializing\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n // There is nothing to load\n run_callbacks();\n return null;\n }\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n window._bokeh_on_load = on_load\n\n function on_error(e) {\n const src_el = e.srcElement\n console.error(\"failed to load \" + (src_el.href || src_el.src));\n }\n\n const skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n root._bokeh_is_loading = css_urls.length + 0;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n }\n\n const existing_stylesheets = []\n const links = document.getElementsByTagName('link')\n for (let i = 0; i < links.length; i++) {\n const link = links[i]\n if (link.href != null) {\n existing_stylesheets.push(link.href)\n }\n }\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const escaped = encodeURI(url)\n if (existing_stylesheets.indexOf(escaped) !== -1) {\n on_load()\n continue;\n }\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n } var existing_scripts = []\n const scripts = document.getElementsByTagName('script')\n for (let i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n existing_scripts.push(script.src)\n }\n }\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (let i = 0; i < js_modules.length; i++) {\n const url = js_modules[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (const name in js_exports) {\n const url = js_exports[name];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n var element = document.createElement('script');\n element.onerror = on_error;\n element.async = false;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n element.textContent = `\n import ${name} from \"${url}\"\n window.${name} = ${name}\n window._bokeh_on_load()\n `\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.holoviz.org/panel/1.5.3/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.6.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.6.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.6.0.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.6.0.min.js\", \"https://cdn.holoviz.org/panel/1.5.3/dist/panel.min.js\"];\n const js_modules = [];\n const js_exports = {};\n const css_urls = [];\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (let i = 0; i < inline_js.length; i++) {\n try {\n inline_js[i].call(root, root.Bokeh);\n } catch(e) {\n if (!reloading) {\n throw e;\n }\n }\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n var NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh.versions.set(NewBokeh.version, NewBokeh)\n }\n root.Bokeh = Bokeh;\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n root._bokeh_is_initializing = false\n }\n\n function load_or_wait() {\n // Implement a backoff loop that tries to ensure we do not load multiple\n // versions of Bokeh and its dependencies at the same time.\n // In recent versions we use the root._bokeh_is_initializing flag\n // to determine whether there is an ongoing attempt to initialize\n // bokeh, however for backward compatibility we also try to ensure\n // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n // before older versions are fully initialized.\n if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n // If the timeout and bokeh was not successfully loaded we reset\n // everything and try loading again\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n root._bokeh_is_loading = 0\n console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n load_or_wait();\n } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n setTimeout(load_or_wait, 100);\n } else {\n root._bokeh_is_initializing = true\n root._bokeh_onload_callbacks = []\n const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n if (root.Bokeh) {\n root.Bokeh = undefined;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n }\n // Give older versions of the autoload script a head-start to ensure\n // they initialize before we start loading newer version.\n setTimeout(load_or_wait, 100)\n}(window));","application/vnd.holoviews_load.v0+json":""},"metadata":{},"output_type":"display_data"},{"data":{"application/javascript":"\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n console.log(message)\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n }) \n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n","application/vnd.holoviews_load.v0+json":""},"metadata":{},"output_type":"display_data"},{"data":{"application/vnd.holoviews_exec.v0+json":"","text/html":["<div id='p1002'>\n"," <div id=\"eca6dd56-f5ff-470e-a183-40cf0b1d337e\" data-root-id=\"p1002\" style=\"display: contents;\"></div>\n","</div>\n","<script type=\"application/javascript\">(function(root) {\n"," var docs_json = {\"4eb47e57-0d06-4c73-8d87-8f9f06508812\":{\"version\":\"3.6.0\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"panel.models.browser.BrowserInfo\",\"id\":\"p1002\"},{\"type\":\"object\",\"name\":\"panel.models.comm_manager.CommManager\",\"id\":\"p1003\",\"attributes\":{\"plot_id\":\"p1002\",\"comm_id\":\"f2cd18ebd49f42e29eeefeadf157a527\",\"client_comm_id\":\"4a7af28ed4454175a7479399ff7d415c\"}}],\"defs\":[{\"type\":\"model\",\"name\":\"ReactiveHTML1\"},{\"type\":\"model\",\"name\":\"FlexBox1\",\"properties\":[{\"name\":\"align_content\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"align_items\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"flex_direction\",\"kind\":\"Any\",\"default\":\"row\"},{\"name\":\"flex_wrap\",\"kind\":\"Any\",\"default\":\"wrap\"},{\"name\":\"gap\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"justify_content\",\"kind\":\"Any\",\"default\":\"flex-start\"}]},{\"type\":\"model\",\"name\":\"FloatPanel1\",\"properties\":[{\"name\":\"config\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"contained\",\"kind\":\"Any\",\"default\":true},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"right-top\"},{\"name\":\"offsetx\",\"kind\":\"Any\",\"default\":null},{\"name\":\"offsety\",\"kind\":\"Any\",\"default\":null},{\"name\":\"theme\",\"kind\":\"Any\",\"default\":\"primary\"},{\"name\":\"status\",\"kind\":\"Any\",\"default\":\"normalized\"}]},{\"type\":\"model\",\"name\":\"GridStack1\",\"properties\":[{\"name\":\"mode\",\"kind\":\"Any\",\"default\":\"warn\"},{\"name\":\"ncols\",\"kind\":\"Any\",\"default\":null},{\"name\":\"nrows\",\"kind\":\"Any\",\"default\":null},{\"name\":\"allow_resize\",\"kind\":\"Any\",\"default\":true},{\"name\":\"allow_drag\",\"kind\":\"Any\",\"default\":true},{\"name\":\"state\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"drag1\",\"properties\":[{\"name\":\"slider_width\",\"kind\":\"Any\",\"default\":5},{\"name\":\"slider_color\",\"kind\":\"Any\",\"default\":\"black\"},{\"name\":\"value\",\"kind\":\"Any\",\"default\":50}]},{\"type\":\"model\",\"name\":\"click1\",\"properties\":[{\"name\":\"terminal_output\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"debug_name\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"clears\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"FastWrapper1\",\"properties\":[{\"name\":\"object\",\"kind\":\"Any\",\"default\":null},{\"name\":\"style\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"NotificationAreaBase1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"NotificationArea1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"notifications\",\"kind\":\"Any\",\"default\":[]},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0},{\"name\":\"types\",\"kind\":\"Any\",\"default\":[{\"type\":\"map\",\"entries\":[[\"type\",\"warning\"],[\"background\",\"#ffc107\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-exclamation-triangle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]},{\"type\":\"map\",\"entries\":[[\"type\",\"info\"],[\"background\",\"#007bff\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-info-circle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]}]}]},{\"type\":\"model\",\"name\":\"Notification\",\"properties\":[{\"name\":\"background\",\"kind\":\"Any\",\"default\":null},{\"name\":\"duration\",\"kind\":\"Any\",\"default\":3000},{\"name\":\"icon\",\"kind\":\"Any\",\"default\":null},{\"name\":\"message\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"notification_type\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_destroyed\",\"kind\":\"Any\",\"default\":false}]},{\"type\":\"model\",\"name\":\"TemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"BootstrapTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"TemplateEditor1\",\"properties\":[{\"name\":\"layout\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"MaterialTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"ReactiveESM1\"},{\"type\":\"model\",\"name\":\"JSComponent1\"},{\"type\":\"model\",\"name\":\"ReactComponent1\"},{\"type\":\"model\",\"name\":\"AnyWidgetComponent1\"},{\"type\":\"model\",\"name\":\"request_value1\",\"properties\":[{\"name\":\"fill\",\"kind\":\"Any\",\"default\":\"none\"},{\"name\":\"_synced\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_request_sync\",\"kind\":\"Any\",\"default\":0}]}]}};\n"," var render_items = [{\"docid\":\"4eb47e57-0d06-4c73-8d87-8f9f06508812\",\"roots\":{\"p1002\":\"eca6dd56-f5ff-470e-a183-40cf0b1d337e\"},\"root_ids\":[\"p1002\"]}];\n"," var docs = Object.values(docs_json)\n"," if (!docs) {\n"," return\n"," }\n"," const py_version = docs[0].version.replace('rc', '-rc.').replace('.dev', '-dev.')\n"," async function embed_document(root) {\n"," var Bokeh = get_bokeh(root)\n"," await Bokeh.embed.embed_items_notebook(docs_json, render_items);\n"," for (const render_item of render_items) {\n"," for (const root_id of render_item.root_ids) {\n","\tconst id_el = document.getElementById(root_id)\n","\tif (id_el.children.length && id_el.children[0].hasAttribute('data-root-id')) {\n","\t const root_el = id_el.children[0]\n","\t root_el.id = root_el.id + '-rendered'\n","\t for (const child of root_el.children) {\n"," // Ensure JupyterLab does not capture keyboard shortcuts\n"," // see: https://jupyterlab.readthedocs.io/en/4.1.x/extension/notebook.html#keyboard-interaction-model\n","\t child.setAttribute('data-lm-suppress-shortcuts', 'true')\n","\t }\n","\t}\n"," }\n"," }\n"," }\n"," function get_bokeh(root) {\n"," if (root.Bokeh === undefined) {\n"," return null\n"," } else if (root.Bokeh.version !== py_version) {\n"," if (root.Bokeh.versions === undefined || !root.Bokeh.versions.has(py_version)) {\n","\treturn null\n"," }\n"," return root.Bokeh.versions.get(py_version);\n"," } else if (root.Bokeh.version === py_version) {\n"," return root.Bokeh\n"," }\n"," return null\n"," }\n"," function is_loaded(root) {\n"," var Bokeh = get_bokeh(root)\n"," return (Bokeh != null && Bokeh.Panel !== undefined)\n"," }\n"," if (is_loaded(root)) {\n"," embed_document(root);\n"," } else {\n"," var attempts = 0;\n"," var timer = setInterval(function(root) {\n"," if (is_loaded(root)) {\n"," clearInterval(timer);\n"," embed_document(root);\n"," } else if (document.readyState == \"complete\") {\n"," attempts++;\n"," if (attempts > 200) {\n"," clearInterval(timer);\n","\t var Bokeh = get_bokeh(root)\n","\t if (Bokeh == null || Bokeh.Panel == null) {\n"," console.warn(\"Panel: ERROR: Unable to run Panel code because Bokeh or Panel library is missing\");\n","\t } else {\n","\t console.warn(\"Panel: WARNING: Attempting to render but not all required libraries could be resolved.\")\n","\t embed_document(root)\n","\t }\n"," }\n"," }\n"," }, 25, root)\n"," }\n","})(window);</script>"]},"metadata":{"application/vnd.holoviews_exec.v0+json":{"id":"p1002"}},"output_type":"display_data"},{"data":{"text/html":["\n","<div class=\"logo-block\">\n","<img src='data:image/png;base64,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\n","roTBs2RqAAAAAElFTkSuQmCC'\n"," style='height:25px; border-radius:12px; display: inline-block; float: left; vertical-align: middle'></img>\n","\n","\n"," <img src='data:image/png;base64,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'\n"," style='height:15px; border-radius:12px; display: inline-block; float: left'></img>\n"," \n","\n","\n"," <img src='data:image/png;base64,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'\n"," style='height:15px; border-radius:12px; display: inline-block; float: left'></img>\n"," \n","\n","\n","</div>\n"]},"metadata":{},"output_type":"display_data"}],"source":["hv.extension('bokeh', 'matplotlib')"]},{"cell_type":"code","execution_count":4,"metadata":{},"outputs":[{"data":{"text/plain":["AnnData object with n_obs × n_vars = 2730 × 3451\n"," obs: 'paul15_clusters'\n"," uns: 'iroot', 'pca', 'neighbors', 'umap'\n"," obsm: 'X_pca', 'X_umap'\n"," varm: 'PCs'\n"," obsp: 'distances', 'connectivities'"]},"execution_count":4,"metadata":{},"output_type":"execute_result"}],"source":["adata = sc.datasets.paul15()\n","sc.pp.pca(adata)\n","sc.pp.neighbors(adata)\n","sc.tl.umap(adata)\n","adata"]},{"cell_type":"code","execution_count":5,"metadata":{},"outputs":[],"source":["from dataclasses import dataclass\n","from enum import Enum, auto\n","from typing import cast, overload\n","\n","import numpy as np\n","\n","\n","class Raise(Enum):\n"," Sentry = auto()\n","\n","\n","@dataclass\n","class AnnDataProxy:\n"," adata: sc.AnnData\n","\n"," @overload\n"," def get(self, k: str, /, default: None = None) -> np.ndarray | None: ...\n"," @overload\n"," def get(self, k: str, /, default: np.ndarray | Raise) -> np.ndarray: ...\n"," def get(self, k: str, /, default: np.ndarray | Raise | None = None) -> np.ndarray | None:\n"," k_orig = k\n"," if \".\" not in k:\n"," if default is not Raise.Sentry and k not in self.adata.var_names:\n"," return default\n"," return self.adata[:, k].X.flatten()\n"," attr_name, k = k.split(\".\", 1)\n"," attr = getattr(self.adata, attr_name)\n"," if \".\" not in k:\n"," if default is not Raise.Sentry and k not in attr:\n"," return default\n"," return attr[k]\n"," k, i = k.split(\".\", 1)\n"," arr = attr[k]\n"," if \".\" not in i:\n"," if default is not Raise.Sentry and not (0 <= int(i) < arr.shape[1]):\n"," return default\n"," return arr[:, int(i)]\n"," raise KeyError(k_orig)\n","\n"," def __contains__(self, k: str) -> bool:\n"," return self.get(k) is not None\n","\n"," def __getitem__(self, k: str) -> object:\n"," return self.get(k, Raise.Sentry)\n"," \n"," def __len__(self) -> int:\n"," return len(self.adata)\n","\n","class AnnDataInterface(hv.core.Interface):\n"," types = (sc.AnnData,)\n"," datatype = \"anndata\"\n","\n"," @classmethod\n"," def init(cls, eltype, data: sc.AnnData | AnnDataProxy, kdims: list[str] | None, vdims: list[str] | None) -> tuple[AnnDataProxy, dict]:\n"," proxy = AnnDataProxy(data) if isinstance(data, sc.AnnData) else data\n"," return proxy, {'kdims': kdims, 'vdims': vdims}, {}\n"," \n"," @classmethod\n"," def values(\n"," cls,\n"," data: hv.Dataset,\n"," dim: hv.Dimension | str,\n"," expanded=True,\n"," flat=True,\n"," compute=True,\n"," keep_index=False,\n"," ) -> np.ndarray:\n"," dim = data.get_dimension(dim)\n"," proxy = cast(AnnDataProxy, data.data)\n"," return proxy[dim.name]\n"," \n"," @classmethod\n"," def dimension_type(cls, data: hv.Dataset, dim: hv.Dimension | str) -> np.dtype:\n"," dim = data.get_dimension(dim)\n"," proxy = cast(AnnDataProxy, data.data)\n"," return proxy[dim.name].dtype\n","\n","if AnnDataInterface.datatype not in hv.core.data.datatypes:\n"," hv.core.data.datatypes.append(AnnDataInterface.datatype)\n","hv.core.Interface.register(AnnDataInterface)"]},{"cell_type":"code","execution_count":6,"metadata":{},"outputs":[{"data":{},"metadata":{},"output_type":"display_data"},{"data":{"application/vnd.holoviews_exec.v0+json":"","text/html":["<div id='p1004'>\n"," <div id=\"ae765926-ccf9-422c-a2a0-0a27edc6a6e4\" data-root-id=\"p1004\" style=\"display: contents;\"></div>\n","</div>\n","<script type=\"application/javascript\">(function(root) {\n"," var docs_json = {\"ccfd65fb-c27b-4c84-bcc5-d778f01b8669\":{\"version\":\"3.6.0\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Row\",\"id\":\"p1004\",\"attributes\":{\"name\":\"Row01570\",\"tags\":[\"embedded\"],\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 400px));\\n -webkit-mask-size: auto calc(min(50%, 400px));\\n}\",{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"p1007\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.5.3/dist/css/loading.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"p1138\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.5.3/dist/css/listpanel.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"p1005\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.5.3/dist/bundled/theme/default.css\"}},{\"type\":\"object\",\"name\":\"ImportedStyleSheet\",\"id\":\"p1006\",\"attributes\":{\"url\":\"https://cdn.holoviz.org/panel/1.5.3/dist/bundled/theme/native.css\"}}],\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\",\"children\":[{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"p1008\",\"attributes\":{\"name\":\"HSpacer01577\",\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 400px));\\n -webkit-mask-size: auto calc(min(50%, 400px));\\n}\",{\"id\":\"p1007\"},{\"id\":\"p1005\"},{\"id\":\"p1006\"}],\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\"}},{\"type\":\"object\",\"name\":\"GridPlot\",\"id\":\"p1126\",\"attributes\":{\"rows\":null,\"cols\":null,\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1134\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p1128\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1014\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":\"auto\",\"zoom_together\":\"none\"}},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1069\",\"attributes\":{\"tags\":[\"hv_created\"],\"renderers\":\"auto\",\"zoom_together\":\"none\"}}]}},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1129\"},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p1130\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1038\"},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1093\"}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p1131\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1039\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1040\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1046\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1045\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1094\",\"attributes\":{\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1095\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1101\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1100\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p1132\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1047\"},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1102\"}]}},{\"type\":\"object\",\"name\":\"ToolProxy\",\"id\":\"p1133\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxSelectTool\",\"id\":\"p1103\",\"attributes\":{\"renderers\":\"auto\",\"dimensions\":\"height\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1104\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"editable\":true,\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1110\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1109\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}}]}}]}},\"children\":[[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1015\",\"attributes\":{\"width\":300,\"height\":300,\"sizing_mode\":\"fixed\",\"align\":\"start\",\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1009\",\"attributes\":{\"tags\":[[[\"obsm.X_umap.0\",null]],[]],\"start\":-6.978747844696045,\"end\":15.634295463562012,\"reset_start\":-6.978747844696045,\"reset_end\":15.634295463562012}},\"y_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1010\",\"attributes\":{\"tags\":[[[\"obsm.X_umap.1\",null]],{\"type\":\"map\",\"entries\":[[\"invert_yaxis\",false],[\"autorange\",false]]}],\"start\":-3.38616943359375,\"end\":15.637056350708008,\"reset_start\":-3.38616943359375,\"reset_end\":15.637056350708008}},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1025\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1026\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1018\",\"attributes\":{\"text_color\":\"black\",\"text_font_size\":\"12pt\"}},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1060\",\"attributes\":{\"name\":\"color\",\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1049\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1050\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1051\"},\"data\":{\"type\":\"map\",\"entries\":[[\"obsm.X_umap.0\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[2730],\"dtype\":\"float32\",\"order\":\"little\"}],[\"obsm.X_umap.1\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"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\"},\"shape\":[2730],\"dtype\":\"float32\",\"order\":\"little\"}],[\"color\",[\"7MEP\",\"15Mo\",\"3Ery\",\"15Mo\",\"3Ery\",\"15Mo\",\"4Ery\",\"2Ery\",\"3Ery\",\"2Ery\",\"2Ery\",\"17Neu\",\"14Mo\",\"13Baso\",\"3Ery\",\"7MEP\",\"3Ery\",\"3Ery\",\"2Ery\",\"8Mk\",\"3Ery\",\"9GMP\",\"8Mk\",\"10GMP\",\"15Mo\",\"16Neu\",\"4Ery\",\"13Baso\",\"17Neu\",\"3Ery\",\"2Ery\",\"3Ery\",\"5Ery\",\"3Ery\",\"13Baso\",\"1Ery\",\"3Ery\",\"6Ery\",\"15Mo\",\"3Ery\",\"3Ery\",\"14Mo\",\"19Lymph\",\"12Baso\",\"3Ery\",\"14Mo\",\"6Ery\",\"4Ery\",\"7MEP\",\"2Ery\",\"13Baso\",\"14Mo\",\"6Ery\",\"18Eos\",\"4Ery\",\"3Ery\",\"3Ery\",\"14Mo\",\"2Ery\",\"13Baso\",\"2Ery\",\"13Baso\",\"13Baso\",\"14Mo\",\"7MEP\",\"7MEP\",\"7MEP\",\"10GMP\",\"12Baso\",\"6Ery\",\"5Ery\",\"5Ery\",\"14Mo\",\"4Ery\",\"16Neu\",\"16Neu\",\"3Ery\",\"2Ery\",\"6Ery\",\"13Baso\",\"13Baso\",\"10GMP\",\"14Mo\",\"5Ery\",\"7MEP\",\"7MEP\",\"5Ery\",\"6Ery\",\"2Ery\",\"10GMP\",\"10GMP\",\"2Ery\",\"7MEP\",\"6Ery\",\"7MEP\",\"14Mo\",\"16Neu\",\"10GMP\",\"3Ery\",\"3Ery\",\"13Baso\",\"1Ery\",\"14Mo\",\"15Mo\",\"2Ery\",\"5Ery\",\"2Ery\",\"5Ery\",\"3Ery\",\"14Mo\",\"10GMP\",\"2Ery\",\"7MEP\",\"4Ery\",\"9GMP\",\"7MEP\",\"3Ery\",\"16Neu\",\"11DC\",\"10GMP\",\"6Ery\",\"3Ery\",\"2Ery\",\"5Ery\",\"2Ery\",\"2Ery\",\"5Ery\",\"14Mo\",\"5Ery\",\"14Mo\",\"3Ery\",\"2Ery\",\"16Neu\",\"2Ery\",\"13Baso\",\"16Neu\",\"2Ery\",\"3Ery\",\"3Ery\",\"14Mo\",\"5Ery\",\"16Neu\",\"14Mo\",\"14Mo\",\"13Baso\",\"3Ery\",\"14Mo\",\"7MEP\",\"14Mo\",\"10GMP\",\"2Ery\",\"14Mo\",\"15Mo\",\"14Mo\",\"16Neu\",\"10GMP\",\"7MEP\",\"5Ery\",\"16Neu\",\"2Ery\",\"16Neu\",\"14Mo\",\"10GMP\",\"16Neu\",\"8Mk\",\"7MEP\",\"14Mo\",\"7MEP\",\"2Ery\",\"14Mo\",\"14Mo\",\"4Ery\",\"5Ery\",\"14Mo\",\"14Mo\",\"10GMP\",\"6Ery\",\"5Ery\",\"14Mo\",\"3Ery\",\"5Ery\",\"15Mo\",\"5Ery\",\"14Mo\",\"16Neu\",\"8Mk\",\"3Ery\",\"14Mo\",\"12Baso\",\"14Mo\",\"3Ery\",\"5Ery\",\"16Neu\",\"15Mo\",\"13Baso\",\"5Ery\",\"3Ery\",\"13Baso\",\"12Baso\",\"8Mk\",\"7MEP\",\"6Ery\",\"2Ery\",\"3Ery\",\"3Ery\",\"15Mo\",\"3Ery\",\"3Ery\",\"3Ery\",\"8Mk\",\"2Ery\",\"2Ery\",\"14Mo\",\"3Ery\",\"15Mo\",\"14Mo\",\"7MEP\",\"15Mo\",\"3Ery\",\"3Ery\",\"13Baso\",\"15Mo\",\"3Ery\",\"15Mo\",\"13Baso\",\"3Ery\",\"15Mo\",\"15Mo\",\"13Baso\",\"19Lymph\",\"4Ery\",\"3Ery\",\"14Mo\",\"4Ery\",\"6Ery\",\"16Neu\",\"14Mo\",\"3Ery\",\"17Neu\",\"15Mo\",\"4Ery\",\"3Ery\",\"6Ery\",\"14Mo\",\"3Ery\",\"16Neu\",\"14Mo\",\"15Mo\",\"7MEP\",\"13Baso\",\"15Mo\",\"14Mo\",\"3Ery\",\"2Ery\",\"2Ery\",\"14Mo\",\"2Ery\",\"13Baso\",\"2Ery\",\"3Ery\",\"13Baso\",\"12Baso\",\"2Ery\",\"10GMP\",\"5Ery\",\"13Baso\",\"3Ery\",\"9GMP\",\"15Mo\",\"2Ery\",\"10GMP\",\"5Ery\",\"5Ery\",\"2Ery\",\"14Mo\",\"13Baso\",\"2Ery\",\"14Mo\",\"16Neu\",\"12Baso\",\"14Mo\",\"14Mo\",\"3Ery\",\"14Mo\",\"13Baso\",\"12Baso\",\"5Ery\",\"10GMP\",\"14Mo\",\"4Ery\",\"15Mo\",\"11DC\",\"3Ery\",\"4Ery\",\"4Ery\",\"4Ery\",\"4Ery\",\"5Ery\",\"1Ery\",\"16Neu\",\"14Mo\",\"2Ery\",\"5Ery\",\"15Mo\",\"5Ery\",\"2Ery\",\"5Ery\",\"1Ery\",\"7MEP\",\"2Ery\",\"14Mo\",\"10GMP\",\"2Ery\",\"14Mo\",\"6Ery\",\"9GMP\",\"3Ery\",\"2Ery\",\"3Ery\",\"12Baso\",\"2Ery\",\"18Eos\",\"5Ery\",\"3Ery\",\"15Mo\",\"14Mo\",\"2Ery\",\"6Ery\",\"14Mo\",\"2Ery\",\"5Ery\",\"12Baso\",\"7MEP\",\"17Neu\",\"14Mo\",\"2Ery\",\"5Ery\",\"2Ery\",\"14Mo\",\"13Baso\",\"15Mo\",\"2Ery\",\"13Baso\",\"16Neu\",\"5Ery\",\"14Mo\",\"16Neu\",\"14Mo\",\"16Neu\",\"14Mo\",\"8Mk\",\"10GMP\",\"14Mo\",\"5Ery\",\"7MEP\",\"2Ery\",\"14Mo\",\"13Baso\",\"2Ery\",\"5Ery\",\"14Mo\",\"14Mo\",\"9GMP\",\"4Ery\",\"10GMP\",\"13Baso\",\"10GMP\",\"7MEP\",\"10GMP\",\"3Ery\",\"2Ery\",\"14Mo\",\"10GMP\",\"15Mo\",\"13Baso\",\"7MEP\",\"6Ery\",\"7MEP\",\"5Ery\",\"14Mo\",\"13Baso\",\"10GMP\",\"7MEP\",\"3Ery\",\"7MEP\",\"13Baso\",\"1Ery\",\"14Mo\",\"13Baso\",\"10GMP\",\"9GMP\",\"3Ery\",\"13Baso\",\"2Ery\",\"13Baso\",\"2Ery\",\"6Ery\",\"6Ery\",\"13Baso\",\"3Ery\",\"13Baso\",\"11DC\",\"14Mo\",\"10GMP\",\"8Mk\",\"9GMP\",\"2Ery\",\"13Baso\",\"14Mo\",\"13Baso\",\"14Mo\",\"5Ery\",\"14Mo\",\"5Ery\",\"13Baso\",\"12Baso\",\"16Neu\",\"11DC\",\"13Baso\",\"13Baso\",\"2Ery\",\"2Ery\",\"14Mo\",\"7MEP\",\"4Ery\",\"6Ery\",\"13Baso\",\"14Mo\",\"14Mo\",\"6Ery\",\"12Baso\",\"6Ery\",\"14Mo\",\"2Ery\",\"13Baso\",\"13Baso\",\"14Mo\",\"7MEP\",\"7MEP\",\"15Mo\",\"5Ery\",\"5Ery\",\"5Ery\",\"5Ery\",\"15Mo\",\"1Ery\",\"13Baso\",\"10GMP\",\"12Baso\",\"4Ery\",\"7MEP\",\"15Mo\",\"19Lymph\",\"13Baso\",\"13Baso\",\"3Ery\",\"3Ery\",\"15Mo\",\"16Neu\",\"13Baso\",\"2Ery\",\"15Mo\",\"17Neu\",\"15Mo\",\"13Baso\",\"16Neu\",\"6Ery\",\"5Ery\",\"15Mo\",\"9GMP\",\"13Baso\",\"15Mo\",\"13Baso\",\"6Ery\",\"7MEP\",\"12Baso\",\"15Mo\",\"2Ery\",\"13Baso\",\"10GMP\",\"14Mo\",\"14Mo\",\"14Mo\",\"15Mo\",\"5Ery\",\"16Neu\",\"5Ery\",\"14Mo\",\"13Baso\",\"15Mo\",\"2Ery\",\"2Ery\",\"2Ery\",\"13Baso\",\"13Baso\",\"5Ery\",\"5Ery\",\"9GMP\",\"14Mo\",\"7MEP\",\"14Mo\",\"11DC\",\"16Neu\",\"2Ery\",\"2Ery\",\"10GMP\",\"8Mk\",\"2Ery\",\"5Ery\",\"13Baso\",\"13Baso\",\"12Baso\",\"7MEP\",\"7MEP\",\"13Baso\",\"6Ery\",\"5Ery\",\"16Neu\",\"14Mo\",\"13Baso\",\"2Ery\",\"14Mo\",\"5Ery\",\"7MEP\",\"10GMP\",\"19Lymph\",\"14Mo\",\"4Ery\",\"14Mo\",\"12Baso\",\"9GMP\",\"15Mo\",\"17Neu\",\"7MEP\",\"16Neu\",\"13Baso\",\"3Ery\",\"15Mo\",\"3Ery\",\"7MEP\",\"8Mk\",\"19Lymph\",\"3Ery\",\"13Baso\",\"9GMP\",\"3Ery\",\"3Ery\",\"2Ery\",\"16Neu\",\"14Mo\",\"16Neu\",\"6Ery\",\"14Mo\",\"5Ery\",\"14Mo\",\"14Mo\",\"19Lymph\",\"15Mo\",\"13Baso\",\"14Mo\",\"13Baso\",\"17Neu\",\"14Mo\",\"1Ery\",\"2Ery\",\"5Ery\",\"6Ery\",\"15Mo\",\"10GMP\",\"6Ery\",\"10GMP\",\"7MEP\",\"14Mo\",\"13Baso\",\"2Ery\",\"14Mo\",\"14Mo\",\"6Ery\",\"13Baso\",\"14Mo\",\"14Mo\",\"2Ery\",\"6Ery\",\"13Baso\",\"10GMP\",\"15Mo\",\"16Neu\",\"10GMP\",\"1Ery\",\"14Mo\",\"12Baso\",\"10GMP\",\"12Baso\",\"16Neu\",\"10GMP\",\"13Baso\",\"16Neu\",\"6Ery\",\"5Ery\",\"10GMP\",\"13Baso\",\"19Lymph\",\"14Mo\",\"5Ery\",\"13Baso\",\"13Baso\",\"13Baso\",\"19Lymph\",\"13Baso\",\"4Ery\",\"12Baso\",\"10GMP\",\"11DC\",\"1Ery\",\"19Lymph\",\"3Ery\",\"6Ery\",\"6Ery\",\"2Ery\",\"2Ery\",\"13Baso\",\"3Ery\",\"15Mo\",\"2Ery\",\"10GMP\",\"5Ery\",\"13Baso\",\"9GMP\",\"9GMP\",\"12Baso\",\"17Neu\",\"6Ery\",\"7MEP\",\"6Ery\",\"14Mo\",\"14Mo\",\"19Lymph\",\"13Baso\",\"13Baso\",\"2Ery\",\"13Baso\",\"7MEP\",\"3Ery\",\"13Baso\",\"15Mo\",\"13Baso\",\"11DC\",\"17Neu\",\"13Baso\",\"14Mo\",\"2Ery\",\"11DC\",\"13Baso\",\"13Baso\",\"2Ery\",\"2Ery\",\"16Neu\",\"14Mo\",\"10GMP\",\"16Neu\",\"13Baso\",\"10GMP\",\"16Neu\",\"2Ery\",\"14Mo\",\"12Baso\",\"9GMP\",\"2Ery\",\"2Ery\",\"2Ery\",\"6Ery\",\"13Baso\",\"14Mo\",\"2Ery\",\"5Ery\",\"16Neu\",\"6Ery\",\"13Baso\",\"14Mo\",\"5Ery\",\"5Ery\",\"2Ery\",\"4Ery\",\"2Ery\",\"10GMP\",\"5Ery\",\"13Baso\",\"13Baso\",\"2Ery\",\"12Baso\",\"12Baso\",\"15Mo\",\"13Baso\",\"13Baso\",\"13Baso\",\"13Baso\",\"10GMP\",\"14Mo\",\"13Baso\",\"7MEP\",\"13Baso\",\"9GMP\",\"14Mo\",\"1Ery\",\"3Ery\",\"13Baso\",\"13Baso\",\"15Mo\",\"2Ery\",\"13Baso\",\"5Ery\",\"14Mo\",\"3Ery\",\"6Ery\",\"2Ery\",\"19Lymph\",\"15Mo\",\"12Baso\",\"7MEP\",\"2Ery\",\"8Mk\",\"14Mo\",\"14Mo\",\"8Mk\",\"5Ery\",\"14Mo\",\"2Ery\",\"3Ery\",\"9GMP\",\"5Ery\",\"3Ery\",\"5Ery\",\"14Mo\",\"2Ery\",\"2Ery\",\"14Mo\",\"16Neu\",\"9GMP\",\"16Neu\",\"15Mo\",\"10GMP\",\"3Ery\",\"14Mo\",\"8Mk\",\"14Mo\",\"15Mo\",\"16Neu\",\"5Ery\",\"14Mo\",\"16Neu\",\"4Ery\",\"2Ery\",\"13Baso\",\"14Mo\",\"13Baso\",\"5Ery\",\"13Baso\",\"7MEP\",\"15Mo\",\"6Ery\",\"16Neu\",\"15Mo\",\"12Baso\",\"6Ery\",\"13Baso\",\"14Mo\",\"16Neu\",\"14Mo\",\"14Mo\",\"2Ery\",\"6Ery\",\"6Ery\",\"13Baso\",\"14Mo\",\"16Neu\",\"2Ery\",\"2Ery\",\"5Ery\",\"2Ery\",\"5Ery\",\"1Ery\",\"13Baso\",\"14Mo\",\"14Mo\",\"16Neu\",\"1Ery\",\"6Ery\",\"14Mo\",\"14Mo\",\"15Mo\",\"13Baso\",\"15Mo\",\"1Ery\",\"8Mk\",\"15Mo\",\"14Mo\",\"10GMP\",\"9GMP\",\"4Ery\",\"15Mo\",\"4Ery\",\"11DC\",\"2Ery\",\"14Mo\",\"14Mo\",\"8Mk\",\"13Baso\",\"6Ery\",\"13Baso\",\"4Ery\",\"13Baso\",\"15Mo\",\"13Baso\",\"4Ery\",\"2Ery\",\"16Neu\",\"2Ery\",\"5Ery\",\"2Ery\",\"5Ery\",\"10GMP\",\"13Baso\",\"13Baso\",\"8Mk\",\"16Neu\",\"13Baso\",\"7MEP\",\"4Ery\",\"13Baso\",\"6Ery\",\"2Ery\",\"14Mo\",\"16Neu\",\"2Ery\",\"13Baso\",\"14Mo\",\"6Ery\",\"2Ery\",\"2Ery\",\"2Ery\",\"8Mk\",\"2Ery\",\"4Ery\",\"14Mo\",\"17Neu\",\"5Ery\",\"13Baso\",\"7MEP\",\"3Ery\",\"5Ery\",\"13Baso\",\"8Mk\",\"6Ery\",\"5Ery\",\"5Ery\",\"11DC\",\"5Ery\",\"15Mo\",\"2Ery\",\"2Ery\",\"15Mo\",\"15Mo\",\"13Baso\",\"14Mo\",\"14Mo\",\"14Mo\",\"5Ery\",\"7MEP\",\"3Ery\",\"2Ery\",\"7MEP\",\"1Ery\",\"14Mo\",\"2Ery\",\"15Mo\",\"13Baso\",\"4Ery\",\"13Baso\",\"6Ery\",\"9GMP\",\"3Ery\",\"6Ery\",\"1Ery\",\"4Ery\",\"13Baso\",\"9GMP\",\"7MEP\",\"14Mo\",\"13Baso\",\"13Baso\",\"19Lymph\",\"10GMP\",\"9GMP\",\"5Ery\",\"16Neu\",\"14Mo\",\"15Mo\",\"2Ery\",\"3Ery\",\"13Baso\",\"6Ery\",\"4Ery\",\"3Ery\",\"16Neu\",\"9GMP\",\"9GMP\",\"12Baso\",\"7MEP\",\"16Neu\",\"6Ery\",\"13Baso\",\"17Neu\",\"14Mo\",\"3Ery\",\"16Neu\",\"13Baso\",\"14Mo\",\"3Ery\",\"14Mo\",\"16Neu\",\"2Ery\",\"18Eos\",\"7MEP\",\"7MEP\",\"5Ery\",\"16Neu\",\"2Ery\",\"5Ery\",\"13Baso\",\"6Ery\",\"14Mo\",\"12Baso\",\"13Baso\",\"5Ery\",\"2Ery\",\"2Ery\",\"14Mo\",\"16Neu\",\"14Mo\",\"1Ery\",\"11DC\",\"1Ery\",\"13Baso\",\"3Ery\",\"5Ery\",\"16Neu\",\"16Neu\",\"6Ery\",\"1Ery\",\"14Mo\",\"16Neu\",\"2Ery\",\"10GMP\",\"5Ery\",\"14Mo\",\"2Ery\",\"6Ery\",\"5Ery\",\"1Ery\",\"5Ery\",\"15Mo\",\"19Lymph\",\"10GMP\",\"2Ery\",\"5Ery\",\"7MEP\",\"6Ery\",\"11DC\",\"4Ery\",\"15Mo\",\"3Ery\",\"2Ery\",\"7MEP\",\"1Ery\",\"7MEP\",\"5Ery\",\"3Ery\",\"3Ery\",\"13Baso\",\"3Ery\",\"15Mo\",\"15Mo\",\"4Ery\",\"14Mo\",\"2Ery\",\"2Ery\",\"16Neu\",\"13Baso\",\"14Mo\",\"5Ery\",\"16Neu\",\"14Mo\",\"16Neu\",\"8Mk\",\"7MEP\",\"8Mk\",\"14Mo\",\"10GMP\",\"5Ery\",\"10GMP\",\"3Ery\",\"13Baso\",\"14Mo\",\"3Ery\",\"2Ery\",\"2Ery\",\"14Mo\",\"2Ery\",\"6Ery\",\"4Ery\",\"15Mo\",\"13Baso\",\"6Ery\",\"12Baso\",\"16Neu\",\"14Mo\",\"15Mo\",\"13Baso\",\"2Ery\",\"14Mo\",\"14Mo\",\"12Baso\",\"10GMP\",\"7MEP\",\"2Ery\",\"4Ery\",\"3Ery\",\"16Neu\",\"5Ery\",\"2Ery\",\"3Ery\",\"2Ery\",\"14Mo\",\"14Mo\",\"8Mk\",\"5Ery\",\"7MEP\",\"7MEP\",\"16Neu\",\"2Ery\",\"13Baso\",\"5Ery\",\"5Ery\",\"14Mo\",\"6Ery\",\"14Mo\",\"7MEP\",\"2Ery\",\"13Baso\",\"2Ery\",\"14Mo\",\"2Ery\",\"15Mo\",\"3Ery\",\"5Ery\",\"10GMP\",\"6Ery\",\"15Mo\",\"1Ery\",\"4Ery\",\"12Baso\",\"4Ery\",\"13Baso\",\"6Ery\",\"3Ery\",\"8Mk\",\"6Ery\",\"3Ery\",\"3Ery\",\"4Ery\",\"16Neu\",\"7MEP\",\"3Ery\",\"15Mo\",\"10GMP\",\"12Baso\",\"3Ery\",\"3Ery\",\"14Mo\",\"9GMP\",\"12Baso\",\"15Mo\",\"15Mo\",\"2Ery\",\"14Mo\",\"4Ery\",\"3Ery\",\"14Mo\",\"14Mo\",\"8Mk\",\"16Neu\",\"10GMP\",\"2Ery\",\"2Ery\",\"3Ery\",\"9GMP\",\"15Mo\",\"14Mo\",\"5Ery\",\"14Mo\",\"2Ery\",\"13Baso\",\"14Mo\",\"14Mo\",\"14Mo\",\"2Ery\",\"2Ery\",\"13Baso\",\"6Ery\",\"7MEP\",\"7MEP\",\"13Baso\",\"3Ery\",\"3Ery\",\"14Mo\",\"2Ery\",\"2Ery\",\"8Mk\",\"7MEP\",\"16Neu\",\"5Ery\",\"14Mo\",\"2Ery\",\"14Mo\",\"8Mk\",\"7MEP\",\"19Lymph\",\"14Mo\",\"12Baso\",\"13Baso\",\"12Baso\",\"13Baso\",\"4Ery\",\"14Mo\",\"2Ery\",\"5Ery\",\"11DC\",\"16Neu\",\"3Ery\",\"11DC\",\"3Ery\",\"4Ery\",\"3Ery\",\"6Ery\",\"15Mo\",\"17Neu\",\"14Mo\",\"4Ery\",\"9GMP\",\"7MEP\",\"7MEP\",\"14Mo\",\"13Baso\",\"4Ery\",\"13Baso\",\"14Mo\",\"3Ery\",\"2Ery\",\"3Ery\",\"14Mo\",\"6Ery\",\"2Ery\",\"10GMP\",\"13Baso\",\"5Ery\",\"7MEP\",\"13Baso\",\"3Ery\",\"2Ery\",\"14Mo\",\"3Ery\",\"2Ery\",\"10GMP\",\"13Baso\",\"14Mo\",\"4Ery\",\"5Ery\",\"18Eos\",\"2Ery\",\"14Mo\",\"3Ery\",\"13Baso\",\"5Ery\",\"12Baso\",\"5Ery\",\"2Ery\",\"7MEP\",\"5Ery\",\"16Neu\",\"15Mo\",\"14Mo\",\"5Ery\",\"16Neu\",\"2Ery\",\"2Ery\",\"6Ery\",\"2Ery\",\"5Ery\",\"14Mo\",\"2Ery\",\"3Ery\",\"5Ery\",\"16Neu\",\"10GMP\",\"14Mo\",\"1Ery\",\"2Ery\",\"3Ery\",\"15Mo\",\"7MEP\",\"4Ery\",\"7MEP\",\"5Ery\",\"2Ery\",\"13Baso\",\"14Mo\",\"15Mo\",\"2Ery\",\"14Mo\",\"6Ery\",\"12Baso\",\"2Ery\",\"19Lymph\",\"6Ery\",\"14Mo\",\"6Ery\",\"17Neu\",\"6Ery\",\"6Ery\",\"9GMP\",\"3Ery\",\"14Mo\",\"6Ery\",\"15Mo\",\"15Mo\",\"13Baso\",\"3Ery\",\"16Neu\",\"7MEP\",\"3Ery\",\"13Baso\",\"3Ery\",\"14Mo\",\"14Mo\",\"8Mk\",\"16Neu\",\"14Mo\",\"17Neu\",\"3Ery\",\"5Ery\",\"10GMP\",\"16Neu\",\"2Ery\",\"14Mo\",\"6Ery\",\"14Mo\",\"13Baso\",\"5Ery\",\"10GMP\",\"7MEP\",\"2Ery\",\"2Ery\",\"2Ery\",\"14Mo\",\"7MEP\",\"8Mk\",\"14Mo\",\"2Ery\",\"2Ery\",\"14Mo\",\"13Baso\",\"7MEP\",\"4Ery\",\"13Baso\",\"13Baso\",\"5Ery\",\"2Ery\",\"18Eos\",\"15Mo\",\"5Ery\",\"7MEP\",\"2Ery\",\"13Baso\",\"14Mo\",\"6Ery\",\"5Ery\",\"4Ery\",\"13Baso\",\"7MEP\",\"5Ery\",\"5Ery\",\"10GMP\",\"16Neu\",\"2Ery\",\"14Mo\",\"3Ery\",\"2Ery\",\"10GMP\",\"16Neu\",\"8Mk\",\"6Ery\",\"15Mo\",\"5Ery\",\"10GMP\",\"7MEP\",\"14Mo\",\"19Lymph\",\"2Ery\",\"15Mo\",\"3Ery\",\"6Ery\",\"1Ery\",\"2Ery\",\"3Ery\",\"4Ery\",\"6Ery\",\"13Baso\",\"3Ery\",\"5Ery\",\"14Mo\",\"13Baso\",\"13Baso\",\"3Ery\",\"4Ery\",\"7MEP\",\"10GMP\",\"11DC\",\"3Ery\",\"13Baso\",\"2Ery\",\"13Baso\",\"2Ery\",\"4Ery\",\"10GMP\",\"16Neu\",\"14Mo\",\"16Neu\",\"10GMP\",\"2Ery\",\"2Ery\",\"6Ery\",\"3Ery\",\"14Mo\",\"14Mo\",\"15Mo\",\"10GMP\",\"13Baso\",\"3Ery\",\"7MEP\",\"13Baso\",\"2Ery\",\"14Mo\",\"14Mo\",\"15Mo\",\"4Ery\",\"15Mo\",\"14Mo\",\"10GMP\",\"13Baso\",\"16Neu\",\"8Mk\",\"13Baso\",\"5Ery\",\"6Ery\",\"14Mo\",\"2Ery\",\"6Ery\",\"3Ery\",\"14Mo\",\"7MEP\",\"7MEP\",\"14Mo\",\"5Ery\",\"13Baso\",\"2Ery\",\"16Neu\",\"12Baso\",\"14Mo\",\"8Mk\",\"4Ery\",\"3Ery\",\"2Ery\",\"14Mo\",\"7MEP\",\"19Lymph\",\"7MEP\",\"10GMP\",\"13Baso\",\"2Ery\",\"2Ery\",\"3Ery\",\"3Ery\",\"6Ery\",\"7MEP\",\"8Mk\",\"2Ery\",\"1Ery\",\"9GMP\",\"13Baso\",\"15Mo\",\"6Ery\",\"13Baso\",\"3Ery\",\"16Neu\",\"14Mo\",\"5Ery\",\"7MEP\",\"13Baso\",\"4Ery\",\"13Baso\",\"2Ery\",\"15Mo\",\"7MEP\",\"3Ery\",\"10GMP\",\"13Baso\",\"3Ery\",\"1Ery\",\"13Baso\",\"13Baso\",\"7MEP\",\"16Neu\",\"14Mo\",\"3Ery\",\"2Ery\",\"1Ery\",\"13Baso\",\"15Mo\",\"8Mk\",\"2Ery\",\"14Mo\",\"14Mo\",\"14Mo\",\"9GMP\",\"14Mo\",\"14Mo\",\"2Ery\",\"7MEP\",\"2Ery\",\"16Neu\",\"10GMP\",\"6Ery\",\"2Ery\",\"15Mo\",\"14Mo\",\"15Mo\",\"3Ery\",\"12Baso\",\"2Ery\",\"13Baso\",\"13Baso\",\"7MEP\",\"6Ery\",\"5Ery\",\"2Ery\",\"19Lymph\",\"14Mo\",\"12Baso\",\"2Ery\",\"16Neu\",\"4Ery\",\"6Ery\",\"13Baso\",\"4Ery\",\"2Ery\",\"4Ery\",\"15Mo\",\"1Ery\",\"15Mo\",\"13Baso\",\"15Mo\",\"3Ery\",\"6Ery\",\"12Baso\",\"12Baso\",\"13Baso\",\"5Ery\",\"16Neu\",\"6Ery\",\"13Baso\",\"2Ery\",\"14Mo\",\"3Ery\",\"14Mo\",\"8Mk\",\"2Ery\",\"9GMP\",\"4Ery\",\"3Ery\",\"3Ery\",\"14Mo\",\"2Ery\",\"10GMP\",\"16Neu\",\"6Ery\",\"14Mo\",\"16Neu\",\"5Ery\",\"10GMP\",\"16Neu\",\"12Baso\",\"11DC\",\"15Mo\",\"2Ery\",\"13Baso\",\"7MEP\",\"13Baso\",\"13Baso\",\"2Ery\",\"6Ery\",\"14Mo\",\"5Ery\",\"16Neu\",\"5Ery\",\"6Ery\",\"18Eos\",\"14Mo\",\"14Mo\",\"13Baso\",\"15Mo\",\"2Ery\",\"2Ery\",\"13Baso\",\"3Ery\",\"2Ery\",\"15Mo\",\"12Baso\",\"7MEP\",\"3Ery\",\"4Ery\",\"15Mo\",\"14Mo\",\"4Ery\",\"4Ery\",\"13Baso\",\"9GMP\",\"12Baso\",\"2Ery\",\"4Ery\",\"9GMP\",\"16Neu\",\"16Neu\",\"2Ery\",\"2Ery\",\"16Neu\",\"7MEP\",\"14Mo\",\"14Mo\",\"14Mo\",\"5Ery\",\"5Ery\",\"3Ery\",\"3Ery\",\"2Ery\",\"18Eos\",\"14Mo\",\"3Ery\",\"14Mo\",\"14Mo\",\"12Baso\",\"14Mo\",\"4Ery\",\"3Ery\",\"14Mo\",\"7MEP\",\"5Ery\",\"12Baso\",\"2Ery\",\"15Mo\",\"14Mo\",\"3Ery\",\"14Mo\",\"2Ery\",\"3Ery\",\"2Ery\",\"16Neu\",\"7MEP\",\"2Ery\",\"10GMP\",\"7MEP\",\"5Ery\",\"5Ery\",\"13Baso\",\"6Ery\",\"7MEP\",\"3Ery\",\"10GMP\",\"5Ery\",\"5Ery\",\"1Ery\",\"13Baso\",\"15Mo\",\"3Ery\",\"6Ery\",\"14Mo\",\"11DC\",\"3Ery\",\"3Ery\",\"3Ery\",\"16Neu\",\"3Ery\",\"9GMP\",\"14Mo\",\"12Baso\",\"9GMP\",\"14Mo\",\"14Mo\",\"8Mk\",\"5Ery\",\"15Mo\",\"15Mo\",\"3Ery\",\"16Neu\",\"15Mo\",\"4Ery\",\"3Ery\",\"8Mk\",\"15Mo\",\"14Mo\",\"5Ery\",\"3Ery\",\"4Ery\",\"2Ery\",\"8Mk\",\"7MEP\",\"10GMP\",\"15Mo\",\"14Mo\",\"13Baso\",\"3Ery\",\"7MEP\",\"2Ery\",\"13Baso\",\"2Ery\",\"10GMP\",\"2Ery\",\"2Ery\",\"2Ery\",\"12Baso\",\"14Mo\",\"1Ery\",\"14Mo\",\"14Mo\",\"2Ery\",\"14Mo\",\"16Neu\",\"14Mo\",\"8Mk\",\"16Neu\",\"16Neu\",\"2Ery\",\"8Mk\",\"5Ery\",\"6Ery\",\"19Lymph\",\"15Mo\",\"13Baso\",\"5Ery\",\"14Mo\",\"5Ery\",\"6Ery\",\"16Neu\",\"3Ery\",\"15Mo\",\"7MEP\",\"7MEP\",\"10GMP\",\"14Mo\",\"3Ery\",\"4Ery\",\"13Baso\",\"15Mo\",\"11DC\",\"17Neu\",\"4Ery\",\"6Ery\",\"3Ery\",\"3Ery\",\"7MEP\",\"8Mk\",\"6Ery\",\"11DC\",\"16Neu\",\"3Ery\",\"14Mo\",\"4Ery\",\"4Ery\",\"11DC\",\"3Ery\",\"14Mo\",\"15Mo\",\"3Ery\",\"10GMP\",\"6Ery\",\"2Ery\",\"16Neu\",\"15Mo\",\"7MEP\",\"3Ery\",\"10GMP\",\"3Ery\",\"14Mo\",\"7MEP\",\"6Ery\",\"10GMP\",\"10GMP\",\"3Ery\",\"7MEP\",\"2Ery\",\"4Ery\",\"7MEP\",\"13Baso\",\"6Ery\",\"15Mo\",\"8Mk\",\"10GMP\",\"4Ery\",\"4Ery\",\"3Ery\",\"7MEP\",\"2Ery\",\"16Neu\",\"3Ery\",\"3Ery\",\"6Ery\",\"6Ery\",\"7MEP\",\"4Ery\",\"16Neu\",\"2Ery\",\"13Baso\",\"10GMP\",\"3Ery\",\"3Ery\",\"10GMP\",\"6Ery\",\"14Mo\",\"15Mo\",\"7MEP\",\"13Baso\",\"14Mo\",\"14Mo\",\"14Mo\",\"2Ery\",\"16Neu\",\"7MEP\",\"14Mo\",\"10GMP\",\"14Mo\",\"6Ery\",\"14Mo\",\"16Neu\",\"2Ery\",\"10GMP\",\"16Neu\",\"14Mo\",\"14Mo\",\"5Ery\",\"12Baso\",\"4Ery\",\"3Ery\",\"13Baso\",\"2Ery\",\"4Ery\",\"4Ery\",\"3Ery\",\"3Ery\",\"13Baso\",\"12Baso\",\"14Mo\",\"16Neu\",\"3Ery\",\"5Ery\",\"6Ery\",\"7MEP\",\"4Ery\",\"4Ery\",\"5Ery\",\"14Mo\",\"14Mo\",\"2Ery\",\"12Baso\",\"3Ery\",\"5Ery\",\"2Ery\",\"2Ery\",\"16Neu\",\"7MEP\",\"5Ery\",\"2Ery\",\"7MEP\",\"3Ery\",\"4Ery\",\"2Ery\",\"5Ery\",\"10GMP\",\"1Ery\",\"10GMP\",\"11DC\",\"16Neu\",\"2Ery\",\"2Ery\",\"2Ery\",\"5Ery\",\"5Ery\",\"14Mo\",\"14Mo\",\"16Neu\",\"10GMP\",\"14Mo\",\"14Mo\",\"4Ery\",\"2Ery\",\"6Ery\",\"2Ery\",\"19Lymph\",\"16Neu\",\"1Ery\",\"13Baso\",\"3Ery\",\"15Mo\",\"3Ery\",\"5Ery\",\"2Ery\",\"2Ery\",\"16Neu\",\"4Ery\",\"12Baso\",\"3Ery\",\"12Baso\",\"14Mo\",\"15Mo\",\"14Mo\",\"10GMP\",\"6Ery\",\"12Baso\",\"2Ery\",\"3Ery\",\"4Ery\",\"7MEP\",\"4Ery\",\"15Mo\",\"2Ery\",\"7MEP\",\"14Mo\",\"3Ery\",\"13Baso\",\"3Ery\",\"15Mo\",\"15Mo\",\"13Baso\",\"14Mo\",\"4Ery\",\"14Mo\",\"6Ery\",\"3Ery\",\"14Mo\",\"8Mk\",\"8Mk\",\"7MEP\",\"15Mo\",\"15Mo\",\"13Baso\",\"16Neu\",\"6Ery\",\"3Ery\",\"2Ery\",\"13Baso\",\"3Ery\",\"3Ery\",\"13Baso\",\"11DC\",\"10GMP\",\"4Ery\",\"2Ery\",\"7MEP\",\"7MEP\",\"6Ery\",\"3Ery\",\"16Neu\",\"7MEP\",\"14Mo\",\"3Ery\",\"6Ery\",\"9GMP\",\"12Baso\",\"3Ery\",\"14Mo\",\"10GMP\",\"4Ery\",\"7MEP\",\"6Ery\",\"14Mo\",\"14Mo\",\"4Ery\",\"3Ery\",\"3Ery\",\"2Ery\",\"16Neu\",\"3Ery\",\"7MEP\",\"18Eos\",\"6Ery\",\"13Baso\",\"4Ery\",\"10GMP\",\"6Ery\",\"2Ery\",\"12Baso\",\"1Ery\",\"4Ery\",\"13Baso\",\"14Mo\",\"14Mo\",\"13Baso\",\"3Ery\",\"3Ery\",\"16Neu\",\"15Mo\",\"14Mo\",\"3Ery\",\"6Ery\",\"2Ery\",\"10GMP\",\"14Mo\",\"5Ery\",\"4Ery\",\"15Mo\",\"13Baso\",\"15Mo\",\"13Baso\",\"14Mo\",\"12Baso\",\"16Neu\",\"13Baso\",\"6Ery\",\"15Mo\",\"4Ery\",\"14Mo\",\"13Baso\",\"15Mo\",\"3Ery\",\"10GMP\",\"13Baso\",\"4Ery\",\"8Mk\",\"3Ery\",\"14Mo\",\"15Mo\",\"16Neu\",\"15Mo\",\"9GMP\",\"16Neu\",\"12Baso\",\"10GMP\",\"14Mo\",\"14Mo\",\"14Mo\",\"7MEP\",\"15Mo\",\"17Neu\",\"2Ery\",\"14Mo\",\"14Mo\",\"4Ery\",\"6Ery\",\"15Mo\",\"2Ery\",\"2Ery\",\"5Ery\",\"2Ery\",\"2Ery\",\"14Mo\",\"2Ery\",\"14Mo\",\"15Mo\",\"5Ery\",\"6Ery\",\"13Baso\",\"6Ery\",\"13Baso\",\"5Ery\",\"15Mo\",\"3Ery\",\"10GMP\",\"2Ery\",\"14Mo\",\"2Ery\",\"14Mo\",\"2Ery\",\"2Ery\",\"2Ery\",\"5Ery\",\"14Mo\",\"1Ery\",\"5Ery\",\"4Ery\",\"2Ery\",\"10GMP\",\"2Ery\",\"2Ery\",\"7MEP\",\"2Ery\",\"7MEP\",\"1Ery\",\"7MEP\",\"9GMP\",\"2Ery\",\"17Neu\",\"14Mo\",\"14Mo\",\"13Baso\",\"7MEP\",\"16Neu\",\"2Ery\",\"2Ery\",\"7MEP\",\"6Ery\",\"14Mo\",\"4Ery\",\"6Ery\",\"2Ery\",\"4Ery\",\"1Ery\",\"5Ery\",\"19Lymph\",\"8Mk\",\"4Ery\",\"6Ery\",\"13Baso\",\"6Ery\",\"13Baso\",\"7MEP\",\"3Ery\",\"3Ery\",\"13Baso\",\"3Ery\",\"15Mo\",\"14Mo\",\"6Ery\",\"10GMP\",\"16Neu\",\"4Ery\",\"14Mo\",\"14Mo\",\"10GMP\",\"3Ery\",\"10GMP\",\"14Mo\",\"3Ery\",\"4Ery\",\"19Lymph\",\"14Mo\",\"3Ery\",\"15Mo\",\"15Mo\",\"10GMP\",\"15Mo\",\"15Mo\",\"14Mo\",\"13Baso\",\"16Neu\",\"14Mo\",\"4Ery\",\"14Mo\",\"9GMP\",\"3Ery\",\"14Mo\",\"3Ery\",\"10GMP\",\"16Neu\",\"16Neu\",\"13Baso\",\"1Ery\",\"6Ery\",\"2Ery\",\"14Mo\",\"2Ery\",\"14Mo\",\"5Ery\",\"2Ery\",\"9GMP\",\"13Baso\",\"2Ery\",\"3Ery\",\"16Neu\",\"13Baso\",\"14Mo\",\"4Ery\",\"3Ery\",\"6Ery\",\"7MEP\",\"10GMP\",\"4Ery\",\"2Ery\",\"16Neu\",\"12Baso\",\"19Lymph\",\"7MEP\",\"13Baso\",\"4Ery\",\"7MEP\",\"4Ery\",\"12Baso\",\"5Ery\",\"2Ery\",\"2Ery\",\"9GMP\",\"1Ery\",\"11DC\",\"3Ery\",\"14Mo\",\"16Neu\",\"2Ery\",\"5Ery\",\"14Mo\",\"15Mo\",\"9GMP\",\"9GMP\",\"14Mo\",\"2Ery\",\"4Ery\",\"5Ery\",\"4Ery\",\"3Ery\",\"16Neu\",\"2Ery\",\"16Neu\",\"2Ery\",\"13Baso\",\"2Ery\",\"6Ery\",\"6Ery\",\"14Mo\",\"2Ery\",\"2Ery\",\"8Mk\",\"8Mk\",\"14Mo\",\"14Mo\",\"1Ery\",\"4Ery\",\"7MEP\",\"16Neu\",\"16Neu\",\"14Mo\",\"3Ery\",\"2Ery\",\"16Neu\",\"17Neu\",\"6Ery\",\"2Ery\",\"14Mo\",\"16Neu\",\"7MEP\",\"2Ery\",\"3Ery\",\"2Ery\",\"6Ery\",\"6Ery\",\"6Ery\",\"10GMP\",\"12Baso\",\"12Baso\",\"4Ery\",\"2Ery\",\"4Ery\",\"2Ery\",\"14Mo\",\"3Ery\",\"6Ery\",\"3Ery\",\"10GMP\",\"2Ery\",\"14Mo\",\"16Neu\",\"18Eos\",\"13Baso\",\"6Ery\",\"14Mo\",\"13Baso\",\"2Ery\",\"2Ery\",\"5Ery\",\"10GMP\",\"5Ery\",\"14Mo\",\"13Baso\",\"14Mo\",\"16Neu\",\"2Ery\",\"10GMP\",\"4Ery\",\"16Neu\",\"6Ery\",\"15Mo\",\"14Mo\",\"12Baso\",\"7MEP\",\"10GMP\",\"15Mo\",\"3Ery\",\"15Mo\",\"3Ery\",\"9GMP\",\"2Ery\",\"7MEP\",\"3Ery\",\"13Baso\",\"16Neu\",\"13Baso\",\"2Ery\",\"15Mo\",\"7MEP\",\"6Ery\",\"5Ery\",\"13Baso\",\"10GMP\",\"9GMP\",\"13Baso\",\"13Baso\",\"12Baso\",\"5Ery\",\"13Baso\",\"15Mo\",\"14Mo\",\"10GMP\",\"15Mo\",\"4Ery\",\"5Ery\",\"8Mk\",\"13Baso\",\"7MEP\",\"14Mo\",\"14Mo\",\"2Ery\",\"6Ery\",\"2Ery\",\"13Baso\",\"7MEP\",\"16Neu\",\"14Mo\",\"3Ery\",\"16Neu\",\"19Lymph\",\"10GMP\",\"12Baso\",\"10GMP\",\"13Baso\",\"1Ery\",\"16Neu\",\"6Ery\",\"14Mo\",\"2Ery\",\"14Mo\",\"10GMP\",\"14Mo\",\"16Neu\",\"9GMP\",\"3Ery\",\"3Ery\",\"14Mo\",\"2Ery\",\"12Baso\",\"9GMP\",\"1Ery\",\"3Ery\",\"5Ery\",\"2Ery\",\"8Mk\",\"2Ery\",\"16Neu\",\"5Ery\",\"10GMP\",\"13Baso\",\"16Neu\",\"14Mo\",\"2Ery\",\"5Ery\",\"15Mo\",\"7MEP\",\"15Mo\",\"5Ery\",\"6Ery\",\"5Ery\",\"2Ery\",\"3Ery\",\"15Mo\",\"7MEP\",\"3Ery\",\"15Mo\",\"16Neu\",\"6Ery\",\"7MEP\",\"6Ery\",\"6Ery\",\"10GMP\",\"4Ery\",\"13Baso\",\"14Mo\",\"13Baso\",\"3Ery\",\"6Ery\",\"8Mk\",\"14Mo\",\"2Ery\",\"9GMP\",\"6Ery\",\"15Mo\",\"13Baso\",\"3Ery\",\"16Neu\",\"2Ery\",\"9GMP\",\"14Mo\",\"3Ery\",\"14Mo\",\"14Mo\",\"16Neu\",\"14Mo\",\"9GMP\",\"3Ery\",\"13Baso\",\"10GMP\",\"14Mo\",\"3Ery\",\"6Ery\",\"14Mo\",\"4Ery\",\"3Ery\",\"2Ery\",\"2Ery\",\"14Mo\",\"2Ery\",\"8Mk\",\"10GMP\",\"10GMP\",\"14Mo\",\"10GMP\",\"16Neu\",\"10GMP\",\"10GMP\",\"13Baso\",\"16Neu\",\"2Ery\",\"16Neu\",\"2Ery\",\"14Mo\",\"11DC\",\"14Mo\",\"11DC\",\"14Mo\",\"13Baso\",\"2Ery\",\"2Ery\",\"16Neu\",\"2Ery\",\"2Ery\",\"14Mo\",\"5Ery\",\"2Ery\",\"7MEP\",\"9GMP\",\"2Ery\",\"10GMP\",\"7MEP\",\"6Ery\",\"15Mo\",\"5Ery\",\"5Ery\",\"15Mo\",\"14Mo\",\"8Mk\",\"14Mo\",\"15Mo\",\"4Ery\",\"14Mo\",\"13Baso\",\"6Ery\",\"4Ery\",\"13Baso\",\"4Ery\",\"9GMP\",\"3Ery\",\"8Mk\",\"8Mk\",\"15Mo\",\"2Ery\",\"12Baso\",\"3Ery\",\"15Mo\",\"15Mo\",\"9GMP\",\"3Ery\",\"10GMP\",\"15Mo\",\"16Neu\",\"4Ery\",\"3Ery\",\"14Mo\",\"3Ery\",\"16Neu\",\"6Ery\",\"5Ery\",\"13Baso\",\"13Baso\",\"11DC\",\"13Baso\",\"8Mk\",\"2Ery\",\"13Baso\",\"13Baso\",\"8Mk\",\"8Mk\",\"15Mo\",\"14Mo\",\"14Mo\",\"19Lymph\",\"6Ery\",\"5Ery\",\"15Mo\",\"7MEP\",\"15Mo\",\"15Mo\",\"6Ery\",\"12Baso\",\"2Ery\",\"13Baso\",\"3Ery\",\"4Ery\",\"14Mo\",\"10GMP\",\"16Neu\",\"15Mo\",\"6Ery\",\"13Baso\",\"19Lymph\",\"15Mo\",\"6Ery\",\"2Ery\",\"15Mo\",\"3Ery\",\"13Baso\",\"6Ery\",\"13Baso\",\"9GMP\",\"10GMP\",\"10GMP\",\"14Mo\",\"2Ery\",\"6Ery\",\"10GMP\",\"7MEP\",\"6Ery\",\"14Mo\",\"2Ery\",\"2Ery\",\"7MEP\",\"5Ery\",\"13Baso\",\"13Baso\",\"14Mo\",\"3Ery\",\"13Baso\",\"4Ery\",\"3Ery\",\"2Ery\",\"15Mo\",\"7MEP\",\"1Ery\",\"15Mo\",\"2Ery\",\"13Baso\",\"8Mk\",\"9GMP\",\"19Lymph\",\"11DC\",\"8Mk\",\"17Neu\",\"13Baso\",\"13Baso\",\"13Baso\",\"3Ery\",\"12Baso\",\"16Neu\",\"10GMP\",\"15Mo\",\"7MEP\",\"13Baso\",\"13Baso\",\"14Mo\",\"16Neu\",\"3Ery\",\"7MEP\",\"13Baso\",\"13Baso\",\"3Ery\",\"1Ery\",\"14Mo\",\"15Mo\",\"10GMP\",\"15Mo\",\"4Ery\",\"9GMP\",\"14Mo\",\"9GMP\",\"13Baso\",\"10GMP\",\"9GMP\",\"5Ery\",\"2Ery\",\"7MEP\",\"13Baso\",\"6Ery\",\"7MEP\",\"10GMP\",\"7MEP\",\"10GMP\",\"3Ery\",\"5Ery\",\"10GMP\",\"6Ery\",\"19Lymph\",\"8Mk\",\"4Ery\",\"14Mo\",\"16Neu\",\"14Mo\",\"10GMP\",\"10GMP\",\"13Baso\",\"7MEP\",\"15Mo\",\"10GMP\",\"15Mo\",\"15Mo\",\"14Mo\",\"5Ery\",\"13Baso\",\"9GMP\",\"7MEP\",\"14Mo\",\"6Ery\",\"2Ery\",\"8Mk\",\"7MEP\",\"5Ery\",\"7MEP\",\"13Baso\",\"7MEP\",\"5Ery\",\"8Mk\",\"2Ery\",\"2Ery\",\"4Ery\",\"14Mo\",\"15Mo\",\"13Baso\",\"3Ery\",\"2Ery\",\"5Ery\",\"13Baso\",\"3Ery\",\"6Ery\",\"8Mk\",\"6Ery\",\"15Mo\",\"2Ery\",\"5Ery\",\"6Ery\",\"9GMP\",\"8Mk\",\"15Mo\",\"13Baso\",\"10GMP\",\"15Mo\",\"15Mo\",\"2Ery\",\"13Baso\",\"14Mo\",\"9GMP\",\"2Ery\",\"3Ery\",\"17Neu\",\"16Neu\",\"13Baso\",\"6Ery\",\"13Baso\",\"10GMP\",\"13Baso\",\"13Baso\",\"2Ery\",\"6Ery\",\"15Mo\",\"14Mo\",\"14Mo\",\"13Baso\",\"14Mo\",\"6Ery\",\"13Baso\",\"17Neu\",\"2Ery\",\"6Ery\",\"7MEP\",\"10GMP\",\"10GMP\",\"6Ery\",\"15Mo\",\"15Mo\",\"6Ery\",\"4Ery\",\"8Mk\",\"6Ery\",\"13Baso\",\"13Baso\",\"5Ery\",\"10GMP\",\"10GMP\",\"10GMP\",\"2Ery\",\"11DC\",\"16Neu\",\"14Mo\",\"5Ery\",\"10GMP\",\"6Ery\",\"2Ery\",\"10GMP\",\"15Mo\",\"16Neu\",\"6Ery\",\"19Lymph\",\"10GMP\",\"15Mo\",\"13Baso\",\"5Ery\",\"7MEP\",\"4Ery\",\"7MEP\",\"3Ery\",\"19Lymph\",\"13Baso\",\"13Baso\",\"13Baso\",\"3Ery\",\"1Ery\",\"15Mo\",\"8Mk\",\"7MEP\",\"7MEP\",\"13Baso\",\"13Baso\",\"5Ery\",\"6Ery\",\"15Mo\",\"13Baso\",\"14Mo\",\"10GMP\",\"13Baso\",\"7MEP\",\"15Mo\",\"8Mk\",\"9GMP\",\"4Ery\",\"17Neu\",\"2Ery\",\"14Mo\",\"15Mo\",\"14Mo\",\"6Ery\",\"6Ery\",\"10GMP\",\"6Ery\",\"13Baso\",\"6Ery\",\"12Baso\",\"3Ery\",\"13Baso\",\"13Baso\",\"16Neu\",\"10GMP\",\"16Neu\",\"13Baso\",\"5Ery\",\"2Ery\",\"9GMP\",\"16Neu\",\"8Mk\",\"11DC\",\"13Baso\",\"10GMP\",\"5Ery\",\"15Mo\",\"13Baso\",\"9GMP\",\"14Mo\",\"13Baso\",\"14Mo\",\"15Mo\",\"15Mo\",\"10GMP\",\"15Mo\",\"16Neu\",\"6Ery\",\"2Ery\",\"13Baso\",\"5Ery\",\"7MEP\",\"19Lymph\",\"6Ery\",\"13Baso\",\"2Ery\",\"11DC\",\"7MEP\",\"13Baso\",\"2Ery\",\"14Mo\",\"13Baso\",\"8Mk\",\"13Baso\",\"7MEP\",\"10GMP\",\"10GMP\",\"14Mo\",\"16Neu\",\"2Ery\",\"13Baso\",\"7MEP\",\"15Mo\",\"3Ery\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1061\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1062\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1055\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"obsm.X_umap.0\"},\"y\":{\"type\":\"field\",\"field\":\"obsm.X_umap.1\"},\"size\":{\"type\":\"value\",\"value\":2.449489742783178},\"line_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"type\":\"object\",\"name\":\"CategoricalColorMapper\",\"id\":\"p1048\",\"attributes\":{\"palette\":[\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#ffbb78\",\"#2ca02c\",\"#98df8a\",\"#d62728\",\"#ff9896\",\"#9467bd\",\"#c5b0d5\",\"#8c564b\",\"#c49c94\",\"#e377c2\",\"#f7b6d2\",\"#7f7f7f\",\"#c7c7c7\",\"#bcbd22\",\"#dbdb8d\",\"#17becf\"],\"factors\":[\"7MEP\",\"15Mo\",\"3Ery\",\"4Ery\",\"2Ery\",\"17Neu\",\"14Mo\",\"13Baso\",\"8Mk\",\"9GMP\",\"10GMP\",\"16Neu\",\"5Ery\",\"1Ery\",\"6Ery\",\"19Lymph\",\"12Baso\",\"18Eos\",\"11DC\"]}}},\"fill_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}},\"hatch_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}}}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1057\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"obsm.X_umap.0\"},\"y\":{\"type\":\"field\",\"field\":\"obsm.X_umap.1\"},\"size\":{\"type\":\"value\",\"value\":2.449489742783178},\"line_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}},\"fill_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}},\"hatch_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1056\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"obsm.X_umap.0\"},\"y\":{\"type\":\"field\",\"field\":\"obsm.X_umap.1\"},\"size\":{\"type\":\"value\",\"value\":2.449489742783178},\"line_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"hover_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1058\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"obsm.X_umap.0\"},\"y\":{\"type\":\"field\",\"field\":\"obsm.X_umap.1\"},\"size\":{\"type\":\"value\",\"value\":2.449489742783178},\"line_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}},\"fill_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}},\"hatch_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1059\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"x\":{\"type\":\"field\",\"field\":\"obsm.X_umap.0\"},\"y\":{\"type\":\"field\",\"field\":\"obsm.X_umap.1\"},\"size\":{\"type\":\"value\",\"value\":2.449489742783178},\"line_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"field\",\"field\":\"color\",\"transform\":{\"id\":\"p1048\"}},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1024\",\"attributes\":{\"tools\":[{\"id\":\"p1014\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1037\"},{\"id\":\"p1038\"},{\"id\":\"p1039\"},{\"id\":\"p1047\"}],\"active_drag\":{\"id\":\"p1038\"},\"active_scroll\":{\"id\":\"p1014\"}}},\"toolbar_location\":null,\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1032\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1033\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1034\"},\"axis_label\":\"obsm.X_umap.1\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1035\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1027\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1028\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1029\"},\"axis_label\":\"obsm.X_umap.0\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1030\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1031\",\"attributes\":{\"axis\":{\"id\":\"p1027\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1036\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1032\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Legend\",\"id\":\"p1063\",\"attributes\":{\"items\":[{\"type\":\"object\",\"name\":\"LegendItem\",\"id\":\"p1064\",\"attributes\":{\"label\":{\"type\":\"field\",\"field\":\"color\"},\"renderers\":[{\"id\":\"p1060\"}]}}]}}],\"min_border_top\":10,\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"output_backend\":\"webgl\"}},0,0],[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1070\",\"attributes\":{\"width\":125,\"height\":300,\"sizing_mode\":\"fixed\",\"align\":\"start\",\"x_range\":{\"type\":\"object\",\"name\":\"Range1d\",\"id\":\"p1065\",\"attributes\":{\"tags\":[[[\"Count\",null]],[]],\"end\":217.0,\"reset_start\":0.0,\"reset_end\":217.0}},\"y_range\":{\"id\":\"p1010\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1080\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1081\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1073\",\"attributes\":{\"text_color\":\"black\",\"text_font_size\":\"12pt\"}},\"renderers\":[{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1120\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1111\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1112\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1113\"},\"data\":{\"type\":\"map\",\"entries\":[[\"top\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KgAAAD8AAABiAAAAlAAAAKUAAADHAAAA0gAAAMQAAADIAAAAywAAAJgAAACZAAAApgAAAGsAAABxAAAAZwAAAHIAAAB0AAAAZwAAAE8AAAA=\"},\"shape\":[20],\"dtype\":\"int32\",\"order\":\"little\"}],[\"left\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAIH3Q/L8AAAC42yHwvwAAAIDSmcu/AAAAMM524j8AAACACOr1PwAAAPRUTAFAAAAAqKWjB0AAAABc9voNQAAAAIgjKRJAAAAA4stUFUAAAAA8dIAYQAAAAJYcrBtAAAAA8MTXHkAAAACltgEhQAAAANKKlyJAAAAA/14tJEAAAAAsM8MlQAAAAFkHWSdAAAAAhtvuKEAAAACzr4QqQA==\"},\"shape\":[20],\"dtype\":\"float64\",\"order\":\"little\"}],[\"right\",{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAuNsh8L8AAACA0pnLvwAAADDOduI/AAAAgAjq9T8AAAD0VEwBQAAAAKilowdAAAAAXPb6DUAAAACIIykSQAAAAOLLVBVAAAAAPHSAGEAAAACWHKwbQAAAAPDE1x5AAAAApbYBIUAAAADSipciQAAAAP9eLSRAAAAALDPDJUAAAABZB1knQAAAAIbb7ihAAAAAs6+EKkAAAADggxosQA==\"},\"shape\":[20],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1121\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1122\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Quad\",\"id\":\"p1117\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"left\":{\"type\":\"value\",\"value\":0},\"right\":{\"type\":\"field\",\"field\":\"top\"},\"bottom\":{\"type\":\"field\",\"field\":\"left\"},\"top\":{\"type\":\"field\",\"field\":\"right\"},\"fill_color\":{\"type\":\"value\",\"value\":\"#30a2da\"},\"hatch_color\":{\"type\":\"value\",\"value\":\"#30a2da\"}}},\"selection_glyph\":{\"type\":\"object\",\"name\":\"Quad\",\"id\":\"p1123\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"left\":{\"type\":\"value\",\"value\":0},\"right\":{\"type\":\"field\",\"field\":\"top\"},\"bottom\":{\"type\":\"field\",\"field\":\"left\"},\"top\":{\"type\":\"field\",\"field\":\"right\"},\"line_color\":{\"type\":\"value\",\"value\":\"black\"},\"line_alpha\":{\"type\":\"value\",\"value\":1.0},\"line_width\":{\"type\":\"value\",\"value\":1},\"line_join\":{\"type\":\"value\",\"value\":\"bevel\"},\"line_cap\":{\"type\":\"value\",\"value\":\"butt\"},\"line_dash\":{\"type\":\"value\",\"value\":[]},\"line_dash_offset\":{\"type\":\"value\",\"value\":0},\"fill_color\":{\"type\":\"value\",\"value\":\"#30a2da\"},\"fill_alpha\":{\"type\":\"value\",\"value\":1.0},\"hatch_color\":{\"type\":\"value\",\"value\":\"#30a2da\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":1.0},\"hatch_scale\":{\"type\":\"value\",\"value\":12.0},\"hatch_pattern\":{\"type\":\"value\",\"value\":null},\"hatch_weight\":{\"type\":\"value\",\"value\":1.0}}},\"nonselection_glyph\":{\"type\":\"object\",\"name\":\"Quad\",\"id\":\"p1118\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"left\":{\"type\":\"value\",\"value\":0},\"right\":{\"type\":\"field\",\"field\":\"top\"},\"bottom\":{\"type\":\"field\",\"field\":\"left\"},\"top\":{\"type\":\"field\",\"field\":\"right\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.1},\"fill_color\":{\"type\":\"value\",\"value\":\"#30a2da\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.1},\"hatch_color\":{\"type\":\"value\",\"value\":\"#30a2da\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.1}}},\"muted_glyph\":{\"type\":\"object\",\"name\":\"Quad\",\"id\":\"p1119\",\"attributes\":{\"tags\":[\"apply_ranges\"],\"left\":{\"type\":\"value\",\"value\":0},\"right\":{\"type\":\"field\",\"field\":\"top\"},\"bottom\":{\"type\":\"field\",\"field\":\"left\"},\"top\":{\"type\":\"field\",\"field\":\"right\"},\"line_alpha\":{\"type\":\"value\",\"value\":0.2},\"fill_color\":{\"type\":\"value\",\"value\":\"#30a2da\"},\"fill_alpha\":{\"type\":\"value\",\"value\":0.2},\"hatch_color\":{\"type\":\"value\",\"value\":\"#30a2da\"},\"hatch_alpha\":{\"type\":\"value\",\"value\":0.2}}}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1079\",\"attributes\":{\"tools\":[{\"id\":\"p1069\"},{\"type\":\"object\",\"name\":\"SaveTool\",\"id\":\"p1092\"},{\"id\":\"p1093\"},{\"id\":\"p1094\"},{\"id\":\"p1102\"},{\"id\":\"p1103\"}],\"active_drag\":{\"id\":\"p1093\"},\"active_scroll\":{\"id\":\"p1069\"}}},\"toolbar_location\":null,\"right\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1087\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1088\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1089\"},\"axis_label\":\"obsm.X_umap.1\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1090\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1082\",\"attributes\":{\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1083\",\"attributes\":{\"desired_num_ticks\":1,\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1084\"},\"axis_label\":\"\",\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1085\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1086\",\"attributes\":{\"axis\":{\"id\":\"p1082\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1091\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1087\"},\"grid_line_color\":null}}],\"min_border_top\":10,\"min_border_bottom\":10,\"min_border_left\":10,\"min_border_right\":10,\"output_backend\":\"webgl\"}},0,1]]}},{\"type\":\"object\",\"name\":\"Spacer\",\"id\":\"p1136\",\"attributes\":{\"name\":\"HSpacer01578\",\"stylesheets\":[\"\\n:host(.pn-loading):before, .pn-loading:before {\\n background-color: #c3c3c3;\\n mask-size: auto calc(min(50%, 400px));\\n -webkit-mask-size: auto calc(min(50%, 400px));\\n}\",{\"id\":\"p1007\"},{\"id\":\"p1005\"},{\"id\":\"p1006\"}],\"margin\":0,\"sizing_mode\":\"stretch_width\",\"align\":\"start\"}}]}}],\"defs\":[{\"type\":\"model\",\"name\":\"ReactiveHTML1\"},{\"type\":\"model\",\"name\":\"FlexBox1\",\"properties\":[{\"name\":\"align_content\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"align_items\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"flex_direction\",\"kind\":\"Any\",\"default\":\"row\"},{\"name\":\"flex_wrap\",\"kind\":\"Any\",\"default\":\"wrap\"},{\"name\":\"gap\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"justify_content\",\"kind\":\"Any\",\"default\":\"flex-start\"}]},{\"type\":\"model\",\"name\":\"FloatPanel1\",\"properties\":[{\"name\":\"config\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"contained\",\"kind\":\"Any\",\"default\":true},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"right-top\"},{\"name\":\"offsetx\",\"kind\":\"Any\",\"default\":null},{\"name\":\"offsety\",\"kind\":\"Any\",\"default\":null},{\"name\":\"theme\",\"kind\":\"Any\",\"default\":\"primary\"},{\"name\":\"status\",\"kind\":\"Any\",\"default\":\"normalized\"}]},{\"type\":\"model\",\"name\":\"GridStack1\",\"properties\":[{\"name\":\"mode\",\"kind\":\"Any\",\"default\":\"warn\"},{\"name\":\"ncols\",\"kind\":\"Any\",\"default\":null},{\"name\":\"nrows\",\"kind\":\"Any\",\"default\":null},{\"name\":\"allow_resize\",\"kind\":\"Any\",\"default\":true},{\"name\":\"allow_drag\",\"kind\":\"Any\",\"default\":true},{\"name\":\"state\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"drag1\",\"properties\":[{\"name\":\"slider_width\",\"kind\":\"Any\",\"default\":5},{\"name\":\"slider_color\",\"kind\":\"Any\",\"default\":\"black\"},{\"name\":\"value\",\"kind\":\"Any\",\"default\":50}]},{\"type\":\"model\",\"name\":\"click1\",\"properties\":[{\"name\":\"terminal_output\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"debug_name\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"clears\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"FastWrapper1\",\"properties\":[{\"name\":\"object\",\"kind\":\"Any\",\"default\":null},{\"name\":\"style\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"NotificationAreaBase1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"NotificationArea1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"notifications\",\"kind\":\"Any\",\"default\":[]},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0},{\"name\":\"types\",\"kind\":\"Any\",\"default\":[{\"type\":\"map\",\"entries\":[[\"type\",\"warning\"],[\"background\",\"#ffc107\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-exclamation-triangle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]},{\"type\":\"map\",\"entries\":[[\"type\",\"info\"],[\"background\",\"#007bff\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-info-circle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]}]}]},{\"type\":\"model\",\"name\":\"Notification\",\"properties\":[{\"name\":\"background\",\"kind\":\"Any\",\"default\":null},{\"name\":\"duration\",\"kind\":\"Any\",\"default\":3000},{\"name\":\"icon\",\"kind\":\"Any\",\"default\":null},{\"name\":\"message\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"notification_type\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_destroyed\",\"kind\":\"Any\",\"default\":false}]},{\"type\":\"model\",\"name\":\"TemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"BootstrapTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"TemplateEditor1\",\"properties\":[{\"name\":\"layout\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"MaterialTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"ReactiveESM1\"},{\"type\":\"model\",\"name\":\"JSComponent1\"},{\"type\":\"model\",\"name\":\"ReactComponent1\"},{\"type\":\"model\",\"name\":\"AnyWidgetComponent1\"},{\"type\":\"model\",\"name\":\"request_value1\",\"properties\":[{\"name\":\"fill\",\"kind\":\"Any\",\"default\":\"none\"},{\"name\":\"_synced\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_request_sync\",\"kind\":\"Any\",\"default\":0}]}]}};\n"," var render_items = [{\"docid\":\"ccfd65fb-c27b-4c84-bcc5-d778f01b8669\",\"roots\":{\"p1004\":\"ae765926-ccf9-422c-a2a0-0a27edc6a6e4\"},\"root_ids\":[\"p1004\"]}];\n"," var docs = Object.values(docs_json)\n"," if (!docs) {\n"," return\n"," }\n"," const py_version = docs[0].version.replace('rc', '-rc.').replace('.dev', '-dev.')\n"," async function embed_document(root) {\n"," var Bokeh = get_bokeh(root)\n"," await Bokeh.embed.embed_items_notebook(docs_json, render_items);\n"," for (const render_item of render_items) {\n"," for (const root_id of render_item.root_ids) {\n","\tconst id_el = document.getElementById(root_id)\n","\tif (id_el.children.length && id_el.children[0].hasAttribute('data-root-id')) {\n","\t const root_el = id_el.children[0]\n","\t root_el.id = root_el.id + '-rendered'\n","\t for (const child of root_el.children) {\n"," // Ensure JupyterLab does not capture keyboard shortcuts\n"," // see: https://jupyterlab.readthedocs.io/en/4.1.x/extension/notebook.html#keyboard-interaction-model\n","\t child.setAttribute('data-lm-suppress-shortcuts', 'true')\n","\t }\n","\t}\n"," }\n"," }\n"," }\n"," function get_bokeh(root) {\n"," if (root.Bokeh === undefined) {\n"," return null\n"," } else if (root.Bokeh.version !== py_version) {\n"," if (root.Bokeh.versions === undefined || !root.Bokeh.versions.has(py_version)) {\n","\treturn null\n"," }\n"," return root.Bokeh.versions.get(py_version);\n"," } else if (root.Bokeh.version === py_version) {\n"," return root.Bokeh\n"," }\n"," return null\n"," }\n"," function is_loaded(root) {\n"," var Bokeh = get_bokeh(root)\n"," return (Bokeh != null && Bokeh.Panel !== undefined)\n"," }\n"," if (is_loaded(root)) {\n"," embed_document(root);\n"," } else {\n"," var attempts = 0;\n"," var timer = setInterval(function(root) {\n"," if (is_loaded(root)) {\n"," clearInterval(timer);\n"," embed_document(root);\n"," } else if (document.readyState == \"complete\") {\n"," attempts++;\n"," if (attempts > 200) {\n"," clearInterval(timer);\n","\t var Bokeh = get_bokeh(root)\n","\t if (Bokeh == null || Bokeh.Panel == null) {\n"," console.warn(\"Panel: ERROR: Unable to run Panel code because Bokeh or Panel library is missing\");\n","\t } else {\n","\t console.warn(\"Panel: WARNING: Attempting to render but not all required libraries could be resolved.\")\n","\t embed_document(root)\n","\t }\n"," }\n"," }\n"," }, 25, root)\n"," }\n","})(window);</script>"],"text/plain":[":AdjointLayout\n"," :Scatter [obsm.X_umap.0] (obsm.X_umap.1,obs.paul15_clusters)\n"," :Histogram [obsm.X_umap.1] (Count)"]},"execution_count":6,"metadata":{"application/vnd.holoviews_exec.v0+json":{"id":"p1004"}},"output_type":"execute_result"}],"source":["(hv.Scatter(adata, \"obsm.X_umap.0\", [\"obsm.X_umap.1\", \"obs.paul15_clusters\"])\n"," .opts(color=\"obs.paul15_clusters\", cmap=\"Category20\")\n"," .hist()\n",")"]}],"metadata":{"kernelspec":{"display_name":"holoviz playground","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.12.7"}},"nbformat":4,"nbformat_minor":2} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment