Die Zellkultur spielt eine entscheidende Rolle bei der Herstellung von Biologika. Bei der Einführung von Prozessänderungen im Rahmen eines Versuchsdesigns (Design of Experiments, DOE) ist die präzise Modellierung des Zellkulturprozesses eine Herausforderung, da dieser mehrere voneinander abhängige Wachstums- und Produktionsphasen umfasst, von denen nur einige durch Prozessänderungen beeinflusst werden. Traditionelle parametrische nichtlineare Modelle können diese Komplexität nur schwer abbilden, während nichtparametrische Modelle allein oft unzusammenhängend sind und sich nur schwer mit den DOE-Parametern korrelieren lassen.
Um dieses Problem zu lösen, vereinfacht die funktionale Versuchsplanung (DOE) die Komplexität auf Hauptkomponenten und korreliert die Veränderungen mit den DOE-Parametern. Dieser Ansatz ermöglicht die Erstellung eines Vorhersageprofilers, der Zellkulturparameter anhand von Daten im kleinen Maßstab optimieren und das Verhalten bei der Produktion im größeren Maßstab vorhersagen kann. Der gesamte Prozess kann innerhalb der Functional Data Explorer Platform in JMP Pro durchgeführt werden und bietet einen effizienteren Ansatz zur Optimierung von Zellkulturprozessen.
Heute zeige ich Ihnen einen Anwendungsfall für die Verwendung von funktionalem DOE zur Modellierung komplexer, nichtlinearer Zellkulturprozesse. Zunächst erkläre ich den zu modellierenden Zellkulturprozess, nämlich eine kontinuierliche Produktion. Anschließend gehe ich auf zwei Ziele dieser Modellierung ein: die Aufrechterhaltung eines stationären Zustands und die Untersuchung, ob sich anhand von Daten aus dem kleinen Maßstab großskalige Verhaltensweisen vorhersagen lassen.
Anschließend werde ich auf nichtparametrische Splines eingehen, die die Basisfunktionen für die von mir durchgeführte Modellierung darstellen, und eine Einführung in den Functional Data Explorer geben, die Plattform, die in diesem Fall sowohl Splines als auch Hauptkomponenten zur Modellierung verwendet.
Ich werde zwei verschiedene Lösungsansätze vorstellen, die auf die beiden Ziele abgestimmt sind, sowie verschiedene Spline-Anpassungen und die Einbeziehung von Versuchsbedingungen. Abschließend zeige ich, wie man gemeinsame Profiler erstellt, und fasse die Ergebnisse zusammen, diskutiere sie und gehe gegebenenfalls auf Herausforderungen ein.
Das Ziel unseres Modells ist die kontinuierliche Produktion. In der Biologika-Herstellung ist die Batch-Produktion üblich. Dabei werden Zellen vermehrt, ihre Produktivität maximiert und schließlich metabolisch erschöpft, woraufhin sie absterben. Anschließend wird der gesamte Inhalt des Bioreaktors geerntet, einschließlich der abgestorbenen Zellen und des Wirkstoffs bzw. des gewünschten Moleküls, und entsprechend den erforderlichen Prozessen weiterverarbeitet.
Was wir uns ansehen – und viele andere in der Branche auch – ist die Frage: Können wir, anstatt zu wachsen und zu sterben und nur einmalige Chargen herzustellen, nicht eher wie andere Branchen, beispielsweise die Automobilindustrie, vorgehen, wo wir kontinuierlich Material produzieren?
Dafür müssen wir die Zellen natürlich weiterhin kultivieren, sie dann aber in der stationären Phase (Phase 5 der Wachstumskurve) halten und das Absterben in Phase 6 verhindern. Dazu bräuchte man möglicherweise einen kleineren Bioreaktor, dem ständig frisches Nährmedium zugeführt und gleichzeitig die gleiche Menge Flüssigkeit entnommen wird. Diese Flüssigkeit sollte idealerweise den gewünschten Wirkstoff enthalten. Ziel ist es, einen stetigen Zufluss von Nährmedium zu gewährleisten und so die Permeation des gewünschten Moleküls zu ermöglichen.
Das zweite Ziel, neben der Aufrechterhaltung einer stabilen Produktion, ist die Fähigkeit, auf Basis von Erfahrungen im kleinen Maßstab Vorhersagen für den Großmaßstab zu treffen. Im kleinen Maßstab können wir viele verschiedene Reaktoren betreiben und unterschiedliche Bedingungen simulieren, was im großen Maßstab aufgrund logistischer, zeitlicher und finanzieller Beschränkungen kaum möglich ist. Wir wollen herausfinden, ob wir sowohl den Übergang vom kleinen zum großen Maßstab vorhersagen können als auch die Auswirkungen verschiedener Faktoren und Bedingungen im Großmaßstab abschätzen können.
Ein weiterer interessanter Aspekt betrifft die Produktion, da hier verschiedene Phasen durchlaufen werden und die Bedingungen zu unterschiedlichen Zeitpunkten eingeführt werden können. Die Wachstumsphase kann beispielsweise stets unter denselben Bedingungen erfolgen, etwa unter denselben wie bei der Großproduktion. Anschließend werden dann verschiedene Versuchsplanungsfaktoren (DOE-Faktoren) hinzugefügt, die eine Zeitkomponente enthalten. Wir werden im Folgenden erläutern, wie wir dies mit dem Functional Data Explorer umgesetzt haben.
Ich möchte zunächst Splines vorstellen. Sie bilden die Grundlage unserer Modellierung. Anfangs wollten wir prüfen, ob wir parametrische Modelle verwenden können, was für einige Phasen möglicherweise geeignet gewesen wäre. Für die Wachstumsphase hätten wir beispielsweise eine logistische Exponentialfunktion einsetzen können. Als wir jedoch die Skaleneffekte und die Versuchsplanung (DOE) zu unterschiedlichen Zeitpunkten hinzufügten, konnten wir nicht alle Aspekte erfassen, da manche Produktionen zunächst wachsen und dann wieder absinken, während andere wachsen und konstant bleiben. Mit dem von uns gefundenen parametrischen Modell konnten wir dies nicht adäquat abbilden.
Wir wollten etwas Flexibleres verwenden, in diesem Fall Splines. Im Prinzip wird bei einem Spline eine vereinfachte Funktion zwischen Knotenpunkten in den Daten angepasst. Beim Anpassen eines Splines müssen einige Entscheidungen getroffen werden. Wie viele Knotenpunkte sollen verwendet werden? Generell gilt: Je mehr Knotenpunkte, desto genauer passt das Modell zu den Daten. Dies kann sowohl positiv als auch negativ sein und zu Überanpassung führen. Auch der Grad der Anpassung ist wichtig. Soll der Verlauf zwischen den Knotenpunkten eine Gerade sein? Soll eine Krümmung vorhanden sein? Oder soll es sich um eine Stufenfunktion handeln?
Bei bestimmten Spline-Typen, wie sie beispielsweise im Functional Data Explorer als P-Splines dargestellt werden, lässt sich eine Glättungsfunktion hinzufügen. An jedem Knotenpunkt wird der Übergang zwischen den Splines geglättet, sodass bei Verwendung linearer Splines beispielsweise schnelle, unzusammenhängende Linien vermieden werden.
Im Functional Data Explorer stehen Ihnen zwei Spline-Optionen zur Verfügung: B-Splines und P-Splines. Es gibt zwar auch andere Optionen wie Wellenfunktionen, diese waren hier aber nicht relevant. Generell eignen sich P-Splines, die einfacheren Regressions-Splines, gut zur Modellierung glatter Funktionen. Sie können jedoch bei verrauschten, unregelmäßigen Funktionen besser geeignet sein, da sie einen Teil des Rauschens glätten. Dies ist eine allgemeine Aussage. Natürlich kann es bei P-Splines zu Überanpassung und bei B-Splines zu Unteranpassung kommen, aber das sind nur allgemeine Faustregeln.
In diesem Fall verwenden wir die Plattform Functional Data Explorer. Ich habe einige Bilder, die zeigen, wie die Plattform aussieht. Funktionale Daten sind im Allgemeinen Daten, die über einen kontinuierlichen Bereich aufgezeichnet werden. In diesem Fall wäre das die Zeit, da die Charge über einen bestimmten Zeitraum hinweg erzeugt wird. Es können aber auch andere Datentypen sein. Ich habe die Plattform beispielsweise schon für Spektraldaten verwendet gesehen. Anschließend möchten Sie eine Reihe von Messungen identifizieren. In diesem Fall wären das verschiedene Chargen, die wir als solche kennzeichnen, sodass für jede Charge eine individuelle Anpassung erfolgt.
Ein weiterer Vorteil, auf den ich später noch genauer eingehen werde, ist die Möglichkeit, zusätzliche Faktoren hinzuzufügen. Dabei kann es sich um Ihre Versuchsplanungsfaktoren (DOE-Faktoren) handeln, also um Einflüsse, die die zu erfassenden Formen verändern können. Ich werde später in der Präsentation genauer darauf eingehen, wie das funktioniert.
Anfangs war ich mir nicht sicher, welcher Spline-Typ am besten geeignet wäre, da es keine allgemeingültige Regel gibt. Ich habe zunächst beide Typen verwendet. Im Functional Data Explorer gibt es viele Möglichkeiten, ein optimales Modell zu finden. In diesem Fall habe ich die BIC-Minimierung genutzt. Alternativ kann man auch Kreuzvalidierung anwenden. Da ich zusätzliche Faktoren eingeführt habe, war es etwas schwieriger zu definieren, welche Daten für den Test- und welche für das Training geeignet sind. Wir haben uns daher für die BIC-Minimierung entschieden.
Wir haben hier die Ergebnisse der beiden verschiedenen Spline-Typen. Die rote Linie stellt die mittlere Anpassung beider Typen dar. Man sieht, dass sie sich recht ähnlich sind, aber auf unterschiedlichen Wegen zu diesem Ergebnis gelangen. Der B-Spline empfahl eine geringere Anzahl an Knoten, in diesem Fall 13, und eine kubische Funktion, wodurch die hier sichtbare Krümmung etwas verstärkt wird.
P Spline empfahl im Prinzip, an jedem einzelnen Tag einen Knotenpunkt zu setzen. Es gibt 30 Tage, aber 29 Knotenpunkte zwischen den Tagen. Anschließend wurde an jedem Knotenpunkt eine Glättung vorgenommen, sodass eine lineare Anpassung möglich war, aber durch die Glättung dennoch die Krümmung erhalten wurde. Wir sehen, dass die Kurven anfangs recht ähnlich sind. Am Ende gibt es möglicherweise Unterschiede, da uns in einigen Batches möglicherweise Daten fehlen.
Als Nächstes betrachten wir die einzelnen Anpassungen, um die Ursache für die Unterschiede am Ende zu finden. Hier zeigen wir für denselben Satz von Chargen die tatsächlichen Spline-Anpassungen pro Charge. Auch hier sehen wir ein ähnliches Phänomen wie bei der Mittelwertfunktion: Der Anfang und die Mitte der Berechnungen sind einander sehr ähnlich, aber am Ende der Produktionen der B-Spline-Anpassungen beobachten wir mitunter abrupte Richtungsänderungen, die in der Praxis nicht zu erwarten sind.
Im Allgemeinen erholen sich absterbende Zellen nicht einfach und beginnen erneut zu wachsen. Dies scheint darauf zurückzuführen zu sein, dass uns nicht für alle Chargen Daten von Tag 30 vorlagen. Da der B-Spline eine kubische Funktion verwendete, lieferte er möglicherweise unplausible Vorhersagen. Der P-Spline hingegen, der eine glatte lineare Funktion nutzte, lieferte uns eher die erwarteten Ergebnisse am Ende der Charge, selbst bei fehlenden Daten. Dies deutete darauf hin, dass der P-Spline besser geeignet sein könnte, ich wollte aber dennoch beide Modelle weiterverfolgen, um dies zu bestätigen.
Mit dem Functional Data Explorer wird, sobald alle Anpassungen aller Batches vorliegen, eine Mittelwertfunktion generiert. Dies ist der Mittelwert aller Anpassungen für alle Batches. Anschließend wird analysiert, wo die größten Abweichungen von dieser Mittelwertfunktion auftreten.
Erinnern Sie sich an die vorherigen Folien? Dort sahen wir eine starke Fächerung. Ich zeige sie Ihnen noch einmal. Wir sehen diese starke Fächerung. Anfangs ist die Verteilung recht kompakt, doch dann sehen wir am Ende diese starke Fächerung, die wir untersuchen wollen. Wenn wir uns die erste Formfunktion ansehen, die 70 bis 80 % der Variabilität beschreibt, sehen wir, dass sie zu Beginn der Wachstumsphase recht flach verläuft. Am Ende sehen wir dann diese erwartungsgemäße Variation. Dies ist wahrscheinlich die stabile Phase, die wir modellieren möchten. Die Funktion scheint diese Phase darzustellen, da sie zunächst stabil ist und dann ansteigt, was dem Abfall entgegenwirkt, den wir in der Mittelwertfunktion beobachten.
Wir sehen, dass beide dies hier in der Formfunktion erfassen, aber beim P-Spline steigt die Kurve stetig an, während sie beim B-Spline ebenfalls ansteigt und am Ende wieder diesen kleinen Abfall aufweist, den wir nicht unbedingt wollten.
Die zusätzlichen Formfunktionen erfassen Aspekte, die vielleicht weniger relevant sind, aber dennoch für die Modellierung interessant sein könnten. Beispielsweise kleine Sprünge, etwa beim Übergang zwischen Wachstums- und stationärer Phase, oder Abfälle am Ende. Die ursprüngliche Formfunktion war jedoch mit Sicherheit diejenige, die uns am meisten interessieren würde.
Die Formfunktionen sind manchmal etwas schwer zu interpretieren, da man sie mit der Mittelwertfunktion vergleichen muss. Ein Vorteil des Functional Date Explorer ist, dass er – wie andere Hauptkomponentenanalysen auch – Score-Plots bereitstellt. So wird jeder Datensatz angepasst und erhält einen Score, der angibt, wie hoch oder niedrig die Werte in den einzelnen Hauptkomponenten sind. Dadurch wird deutlich, welcher Datensatz hohe und welcher niedrige Werte in der ersten Formfunktion aufweist.
Dort finden Sie Beispiele, die Ihnen helfen, diese Formänderung zu definieren. Wir sehen hier, dass diese spezielle Charge, deren anfängliche Formfunktion hoch war, einen stabilen Zustand erreicht hat, während wir bei der Charge mit niedrigem Wert diesen Anstieg und dann diesen Abfall beobachten.
Aus Neugier habe ich mir auch angesehen, was die anderen machen. Sie scheinen eher die gelegentlichen Schwankungen zwischen Wachstums- und stationärer Phase aufzufangen, die durch eine Änderung der Bedingungen entstehen. Das kann die Produktion etwas ungleichmäßig machen, was nicht weiter schlimm ist, aber vielleicht etwas, das wir minimieren möchten. Oder vielleicht sind es diese Einbrüche am Ende, die möglicherweise nicht von Bedeutung sind. Sie könnten einfach ein Artefakt des Abschlusses dieser speziellen Charge sein.
Daraus leiteten wir unsere funktionalen Hauptkomponenten ab und identifizierten die Stellen, an denen Formänderungen auftraten. Doch dann wollten wir herausfinden, was diese Formfunktionen tatsächlich verändert. Lässt sich die Formgebung durch die Manipulation von Bedingungen steuern? Hier kommt das funktionale Versuchsdesign (DOE) ins Spiel.
Dazu wird im Wesentlichen eine Regression gegen jede einzelne Hauptkomponente unter Berücksichtigung der zusätzlichen DOE-Bedingungen durchgeführt. Es gibt viele verschiedene Möglichkeiten, dieses Modell zu erstellen. In diesem speziellen Fall habe ich eine optimale Teilmengenbildung mit AIC-Minimierung verwendet, da wir hier nur drei Faktoren einführen. Es bestand keine große Notwendigkeit, die Anzahl der Faktoren und damit die Komplexität zu reduzieren. Außerdem war die optimale Teilmengenbildung nicht zu rechenintensiv. Diese Methode verwende ich für alle diese FPCs. Wie wir hier sehen können – und das ist sehr hilfreich – wird ein Vorhersageausdruck ausgegeben. So lässt sich erkennen, wie sich jeder Faktor auf die einzelnen Formen auswirkt.
Aber auch hier gilt: Das ist nicht immer die beste Interpretationsmethode. Wir könnten beispielsweise sehen, dass Faktor 3 den größten Koeffizienten hat und somit den größten Einfluss hat. Besonders praktisch an JMP finde ich die Profiler. Sie sind ungemein hilfreich, um die Vorgänge zu visualisieren.
In diesem Fall habe ich anhand des Profilers die Maximierung an Tag 30 als Indikator für eine verlängerte stationäre Phase verwendet. Keine perfekte Lösung, aber wir gehen davon aus, dass die Produktion auch an Tag 30 noch hoch sein wird, wenn sie stabil bleibt. Tatsächlich zeigt die Optimierung, dass die Minimierung von Faktor 3 – was aufgrund seines negativen Koeffizienten plausibel ist – zu einer stabileren Produktion führt als ein sehr hoher Faktor 3. Das war für unsere Kunden äußerst hilfreich. Es bot ihnen einen Ansatzpunkt, um zu erkennen: „Hier ist der Zustand, in dem wir eine stabilere Produktion erreichen können.“
Die zweite Fragestellung, nachdem wir den stationären Zustand identifiziert hatten, war, ob wir großflächige Vorhersagen treffen können. Der Datensatz, der uns für diese Fragestellung vorlag, umfasste sowohl großflächige Simulationen unter Kontrollbedingungen als auch kleinflächige Simulationen unter Kontrollbedingungen sowie die Einführung verschiedener Versuchsbedingungen nach dem Wachstum.
Wir wollten dies erfassen, da die Übertragung von Ergebnissen aus dem kleinen auf den großen Maßstab, insbesondere in der Wachstumsphase, nicht perfekt ist. Da die Zellen im großen Maßstab mehr Platz zum Wachsen haben, kann die Durchmischung besser oder schlechter sein, und sie haben möglicherweise besseren Zugang zu Nährstoffen. Wir beobachten tendenziell ein schnelleres Wachstum im großen Maßstab als im kleinen. Wir wollten herausfinden, ob wir ein Vorhersagemodell erstellen können, das dieses beschleunigte Wachstum prognostiziert und ob wir die vom US-Energieministerium (DOE) ermittelten Einflüsse ebenfalls berücksichtigen können.
Ich werde hier nicht erneut ins Detail gehen, aber für Antwort 2 wurde eine sehr ähnliche Anpassung vorgenommen. Auch hier wurde der P-Spline gewählt, da am Ende die gleichen Auffälligkeiten auftraten wie beim B-Spline für Antwort 1. Betrachtet man die Formfunktionen, sieht man diese hier wieder. Dies ist die stationäre Funktion. Im Hinblick auf die Skalierung ist sie in diesem Fall jedoch weniger relevant.
Aufgrund der Skalierung möchten wir sehen, ob sich dies auf diesen Abschnitt auswirkt. Wir haben zusätzliche Formfunktionen, die offenbar Veränderungen zu Beginn der Produktion erfassen, worauf es uns ankommt. Formfunktion 3 scheint in der Tat die deutlichste Veränderung in dieser Wachstumsphase darzustellen.
Auch die Analyse von Profilen bestätigt dies. Betrachtet man die Steigungen hier, sieht man bei hohen FPC3-Werten im Vergleich zu niedrigen FPC3-Werten, dass die Kurve bei hohen Werten etwas flacher verläuft; bei niedrigen Werten hingegen ist der Peak deutlich ausgeprägter.
Dann wollten wir uns dem DOE zuwenden. Können wir die Faktoren und die Skala auf diese Hauptkomponenten anwenden? Erfreulicherweise zeigte sich bei der dritten Hauptkomponente, dass die Skala der einzige signifikante Faktor war. Das ist hilfreich, da wir so den Einfluss der Skala auf diese spezifische Formänderung isolieren konnten. Nicht vollständig, da die Skala auch die anderen Hauptkomponenten beeinflusste, aber wir konnten diese Form isoliert darstellen.
Auch hier hilft die Analyse des Profilers am meisten bei der Interpretation. Wir sehen hier an Tag 30, dass die Skala kaum einen Einfluss hat. Die Werte sind hier ziemlich konstant. Schauen wir uns jedoch Tag 7 während der Wachstumsphase an, erkennen wir diesen Unterschied deutlich: Hier ist der Effekt größerer Skalen höher als der kleiner Skalen. Wir scheinen diesen Unterschied zwischen den Skalen also erfassen zu können.
Wir konnten diese beiden Ziele in den Modellen abbilden. Ein weiterer Vorteil des Functional Data Explorers ist, dass man die Vorhersageformeln in eine Spalte der Datentabelle exportieren kann. Anschließend lässt sich mithilfe der regulären Profiler-Plattform ein Profiler erstellen, mit dem man die beiden Zielgrößen parallel bearbeiten kann, da sie einige gemeinsame Faktoren aufweisen.
Das ist aus mehreren Gründen praktisch. Zum einen ist es übersichtlich, alles zusammen zu sehen. Zum anderen gibt es Kunden oder Modellnutzer, die JMP Pro nicht besitzen und daher keinen Zugriff auf den Functional Data Explorer haben. So können Sie das Modell auch mit Nutzern teilen, die nur die Standardversion von JMP verwenden, und diese können dann damit experimentieren.
Zusammenfassend lässt sich sagen, dass wir mit Functional DOE unsere beiden Modellierungsziele erreicht haben. Es gelang uns, die Komplexität deutlich zu reduzieren und gleichzeitig die relevanten Bereiche zu erfassen, in denen sich die Ergebnisse unter verschiedenen Bedingungen von Charge zu Charge veränderten. Wir konnten bestimmte Funktionen in Bezug auf spezifische Faktoren isolieren. Abschließend entwickelten wir einen Profiler, der sich hervorragend für die Weitergabe an Kunden oder Modellnutzer eignet, da diese ihn letztendlich verwenden werden.
Es gibt einige Einschränkungen. Ich glaube, es wird jedes Jahr auf jeder JMP-Konferenz diskutiert, dass Functional DOE oder Functional Explorer keine Vorhersagefehler liefern. Ich habe etwas experimentiert und überlegt, ob wir durch die Ausgabe der Vorhersageresiduen eine Vorstellung gewinnen können, indem wir versuchen, anhand dieser Residuen ein Modell zu erstellen. Mein Erfolg war dabei eher mäßig, aber ich bin offen für Ideen, wie wir das in Zukunft umsetzen könnten.
Eine weitere wünschenswerte Funktion, die möglicherweise sogar umsetzbar ist, wäre die Optimierung gegen eine bestimmte Formfunktion. Ich habe bisher versucht, Tag 30 als Näherungswert zu maximieren. Ein hoher Wert an Tag 30 deutet auf eine relativ stabile Produktion hin. Das ist jedoch kein perfekter Näherungswert. Wie könnten wir eine ideale Funktion definieren, die eine gleichmäßige Produktion gewährleistet? Wie könnten wir diese Funktion optimieren? Das wäre sehr hilfreich. Vielleicht ist das ja bereits möglich, und ich kenne die Funktion nur noch nicht.
Das andere Risiko besteht natürlich darin, dass man bei flexiblen Modellen sehr verrauschte Daten überanpassen kann. Die Daten waren in diesem Fall jedoch recht gleichmäßig verteilt. Das ist nicht immer der Fall. Um diese Überanpassung auszugleichen, sind Methoden wie Kreuzvalidierung im Allgemeinen sehr hilfreich. Da ich aber nicht alle Simulationen unter denselben Bedingungen durchgeführt habe und dadurch zusätzliche Faktoren hinzukamen, ist die Definition von Test- und Trainingsdaten etwas komplizierter geworden. Ich bin für zukünftige Vorschläge diesbezüglich offen.
Aber insgesamt konnten wir unsere Ziele erreichen. Natürlich war das nicht nur mein Verdienst. Unser präklinisches Team hat viele Daten beigesteuert. Auch einige meiner Koautoren haben dazu beigetragen, die Hintergründe zur kontinuierlichen Datenverarbeitung zu verstehen. Außerdem haben uns andere Statistiker aus unserem Forschungsteam unterstützt. Ich möchte ihnen am Ende noch einmal danken. Weitere Informationen finden Sie hier. Damit ist meine Präsentation zu diesem Thema abgeschlossen.