. * * window.aa needs to exist and be usable by ANY module's script, * however early it runs - main-nav's script, for one, runs near * the top of

91̽»¨

, well before the real search-insights.js * so the download * begins as early as before. Repeat calls share the same downloads, a * failed load is retried on the next call, and the versions / SRI * hashes live only here. * * Algolia Insights is unaffected: window.aa above is still created in * on every page and queues events until search-insights loads. * * window.loadAlgoliaLibs({ priority: 'high' }) (Oct 2026): used by the * /search page, where the first results wait on these libraries. Chrome * gives async scripts low priority, behind images and fonts; this asks * for high instead (fetchpriority). Only the first call for a library * sets its priority - later calls share that download. */ (function (win, doc) { var LIBS = [ { ready: function () { return !!win['algoliasearch/lite']; }, src: 'https://cdn.jsdelivr.net/npm/algoliasearch@5.52.1/dist/lite/builds/browser.umd.js', integrity: 'sha256-I2oYUIvhx1g6l4lTP+yoERbzLIHKzw4AKaBRQPwIeDY=' }, { ready: function () { return !!win.instantsearch; }, src: 'https://cdn.jsdelivr.net/npm/instantsearch.js@4.98.0/dist/instantsearch.production.min.js', integrity: 'sha256-ngmqZk4WBxUw257aMYZayyNBd983INngagv0jI6Ecfs=' } ]; function loadOne(lib, options) { if (lib.ready()) return Promise.resolve(); // One download per library, shared by every caller; reset on // failure so the next call retries just the library that failed. if (lib.pending) return lib.pending; lib.pending = new Promise(function (resolve, reject) { var script = doc.createElement('script'); script.src = lib.src; script.integrity = lib.integrity; script.crossOrigin = 'anonymous'; script.async = true; if (options && options.priority === 'high') script.setAttribute('fetchpriority', 'high'); script.onload = function () { lib.ready() ? resolve() : reject(new Error('Loaded but not available: ' + lib.src)); }; script.onerror = function () { script.remove(); reject(new Error('Could not load ' + lib.src)); }; doc.head.appendChild(script); }); lib.pending.catch(function () { lib.pending = null; }); return lib.pending; } win.loadAlgoliaLibs = function (options) { return Promise.all(LIBS.map(function (lib) { return loadOne(lib, options); })); }; })(window, document); . */ window.hsConversationsSettings = window.hsConversationsSettings || {}; window.hsConversationsSettings.loadImmediately = false; (function (win) { var EVENTS = ['pointerdown', 'keydown', 'touchstart', 'scroll', 'mousemove', 'wheel']; var done = false; /* 19 Oct 2026 - chat widget layout shift (field CLS). Phones fail Core Web Vitals on CLS (p75 ~0.2 site-wide in CrUX for months). Biggest cause found: HubSpot's chat container is fixed to the bottom-right corner and changes size - 100x96 launcher to 282x253 when the welcome message pops up (~5 s after load), and to full screen when a visitor opens the chat. Its top-left corner moves, so Chrome scores it as a layout shift: 0.088 per page view at 360x640 (0.044 at 412x850), on every page. Taps happen inside the chat iframe, so the parent page never sees the input and the open/close shifts count too. Fix: whenever the container's size changes it is made transparent for 400 ms (Chrome doesn't score shifts of invisible elements), then shown again at its new size. Tested on live io1001 at 360x640 in a cookie-less frame: the 0.088 shift no longer appears. The chat itself is unchanged - it just appears 0.4 s later at each resize. Relies on HubSpot's container id; if that changes this does nothing (no error). */ function cloakChatResizes() { var ID = 'hubspot-messages-iframe-container'; function watch(c) { if (c.getAttribute('data-bb-cloak')) return; c.setAttribute('data-bb-cloak', '1'); var last = c.offsetWidth + 'x' + c.offsetHeight, timer = null; new MutationObserver(function () { var size = c.offsetWidth + 'x' + c.offsetHeight; if (size === last) return; last = size; c.style.setProperty('opacity', '0', 'important'); clearTimeout(timer); timer = setTimeout(function () { c.style.removeProperty('opacity'); }, 400); }).observe(c, { attributes: true, attributeFilter: ['style', 'class'], subtree: true, childList: true }); } var found = document.getElementById(ID); if (found) { watch(found); return; } if (!document.body || !('MutationObserver' in win)) return; var mo = new MutationObserver(function () { var c = document.getElementById(ID); if (c) { mo.disconnect(); watch(c); } }); mo.observe(document.body, { childList: true }); setTimeout(function () { mo.disconnect(); }, 30000); } function loadWidget() { var api = win.HubSpotConversations; if (api && api.widget && api.widget.status && api.widget.status().loaded) return; try { cloakChatResizes(); } catch (e) {} if (api && api.widget) api.widget.load(); } function onFirstInteraction() { if (done) return; done = true; EVENTS.forEach(function (type) { win.removeEventListener(type, onFirstInteraction, { passive: true }); }); var start = function () { if (win.HubSpotConversations) loadWidget(); else (win.hsConversationsOnReady = win.hsConversationsOnReady || []).push(loadWidget); }; if ('requestIdleCallback' in win) win.requestIdleCallback(start, { timeout: 1500 }); else setTimeout(start, 200); } EVENTS.forEach(function (type) { win.addEventListener(type, onFirstInteraction, { passive: true }); }); })(window);

91̽»¨

Skip to main content
Advancing rare disease drug discovery using consistent, defined human cells
Case study

Advancing rare disease drug discovery using consistent, defined human cells

In this case study, Rodney A. Bowling Jr., PhD, founder and CSO of To Cure a Rose, shares insights on their need for consistent human neurons that express a target gene. The interview emphasises how easy access to gene expression data on ioCells assisted them in selecting the right cells, ioGABAergic Neurons, and discovering not just one, but two promising ASO candidates. This progress offers hope for Rose and others suffering from her condition.
Advancing rare disease drug discovery using consistent, defined human cells

Rodney A. Bowling Jr., PhD,
Founder and Chief Scientific Officer
To Cure a Rose

Advancing rare disease drug discovery using consistent, defined human cells
In this case study, Rodney A. Bowling Jr., PhD, founder and CSO of To Cure a Rose, shares insights on their need for consistent human neurons that express a target gene. The interview emphasises how easy access to gene expression data on ioCells assisted them in selecting the right cells, ioGABAergic Neurons, and discovering not just one, but two promising ASO candidates. This progress offers hope for Rose and others suffering from her condition.
Advancing rare disease drug discovery using consistent, defined human cells

Rodney A. Bowling Jr., PhD,
Founder and Chief Scientific Officer
To Cure a Rose

In 2019, Rose McPherson was diagnosed with an ultra-rare neurodevelopmental condition caused by mutations in the HNRNPH2 gene, a disorder affecting only about 50 people worldwide. Determined to find answers, her family formed the non-profit organisation To Cure A Rose, building a preclinical research lab to accelerate discovery for rare diseases. 

Challenge | Modelling a rare neurodevelopmental disease

To model Rose’s condition in the lab, the team faced major obstacles with current technology: Patient-derived cells, which are critical for rare disease studies, were difficult to culture and failed to differentiate into neurons. 

“Rose’s cells didn’t want to grow,� recalled Bowling Jr. “They wouldn’t differentiate well, which in retrospect is not surprising: She has a neurodevelopmental condition, and so we had trouble making neurons from her cells.�

Conventional iPSC differentiation methods were slow, complex, and inconsistent, leading to unreliable results. And with other commercially available cells, the team were left with the burden of purchasing and generating expression data for each available cell type to identify if their target protein was expressed. A task that would quickly become untenable with their limited budget and urgent timeline. 

To move forward, the team at To Cure a Rose needed a consistent and defined source of human neurons where gene expression data was freely and readily available.

Solution | Consistent human neurons at scale

The team worked with 91̽»¨ to overcome the limitations of conventional iPSC-derived cells. 

91̽»¨â€™s opti-oxâ„¢ deterministic cell programming technology enables the reproducible, consistent, and scalable production of any human cell type and to add to this 91̽»¨ routinely generate comprehensive characterisation data packages for its cells that includes bulk RNA sequencing. From the bulk RNA sequencing data, researchers can request information on their specific genes of interest, giving immediate insight into target gene expression and helping scientists like Bowling Jr to confirm if the cell is the right fit for their research.

“Right away, we could tell a difference with 91̽»¨,â€� Bowling Jr reflected. “They helped us identify the neuronal population expressing H2; they worked with us to ensure we grew these cells properly; and they helped customise our sample size to ensure we had enough to carry out screening. It was just incredible customer service.â€�

The results | From concept to candidates

Key findings

  • 57 ASOs screened
  • 30 showed desired activity
  • 7 lead candidates identified
  • 4 achieved ≥90% HNRNPH2 knockdown
  • 3 induced HNRNPH1 upregulation
  • 2 lead ASOs selected with strong activity and no toxicity, even at 10× the clinical dose
According to Bowling Jr, “physiologically, 91̽»¨â€™s cells did what they were supposed to do and demonstrated the effect of the ASOs.â€� To Cure a Rose is now advancing both ASO candidates into toxicology studies ahead of a planned clinical trial, bringing Rose and others closer to a potential treatment. 

 â€œHaving access to an absolutely uniform set of cells that do what we need them to has changed our workflow and may greatly accelerate our work.â€� 
Rodney A. Bowling Jr., PhD
V1
2025
91̽»¨ | To Cure a Rose

Related pages

91̽»¨ Learn about our range of human iPSC-derived cells for research and drug discovery
Our platform Discover the cell coding platform behind our cells
Contact us Talk to us to learn more about our team and products