Insights

ERWEITERTE BIOPROZESSÜBERWACHUNG UND -STEUERUNG ÜBER DIE LUCULLUS® REST API SCHNITTSTELLE

Geschrieben von Pascal Vonlanthen | 12.03.2024 10:16:07

 

Die Bedeutung der Interkonnektivität

Die Umstellung der biopharmazeutischen Produktion auf Produktionskonzepte des Bioprocessing 4.0 ist eine Herausforderung und beinhaltet die Integration von intensivierten, kontinuierlichen, vorausschauenden und autonomen Abläufen. Schlüsselelemente von Bioprocessing 4.0 sind Prozessautomatisierung, Digitalisierung und Vernetzung. Papierbasierte Abläufe, Datensilos, manuelle Prozesssteuerung und Geräte sowie Software, die nicht miteinander kommunizieren können, werden überflüssig. In den letzten Jahren wurden mehr und mehr Prozesse und Arbeitsabläufe in Bioprozessumgebungen automatisiert, digitalisiert und miteinander verbunden. Dennoch ist eine durchgängige Integration von Prozessen und Arbeitsabläufen immer noch die Ausnahme. Die Einrichtung integrierter Plattformen hängt von der Bereitschaft der Manager ab, in die IT-Infrastruktur zu investieren, und von der Akzeptanz der Benutzer, sich an neue Technologien anzupassen.

Das Lucullus®-Prozessinformationsmanagementsystem ist eine Softwareplattform, die Geräte integriert und den Datenaustausch zwischen Geräten, Laboren und Unternehmen ermöglicht und somit als Bindeglied zwischen allen Anwendungen dient (Abbildung 1). Lucullus® unterstützt alle Aspekte von Bioprocessing 4.0 Produktionskonzepten und ermöglicht Prozessautomatisierung, Digitalisierung und Vernetzung. Prozessdaten können nahtlos aus der Lucullus®-Datenbank in elektronische Laborjournale (ELNs), Manufacturing Execution Systeme (MESs) oder fortschrittliche Datenanalysetools (Phyton, MATLAB, R, DataHowLab, um nur einige zu nennen) übertragen werden, indem standardisierte Kommunikationsprotokolle wie OPC- oder REST-Schnittstellen genutzt werden.

In dieser Application Note stellen wir ein konkretes Beispiel für ein vernetztes Bioprozess-Ökosystem an der Zürcher Hochschule für Angewandte Wissenschaften (ZHAW) in Wädenswil vor. Die Verbindung von Bioreaktorsteuerungen, Inline-, Online- und Atline-Analysegeräten und Software, die die Lucullus® REST API-Schnittstelle nutzt, ermöglicht eine ununterbrochene und automatisierte Datenerfassung und -analyse. Der beschriebene Bioprozess an der ZHAW zeichnet sich durch vollständige Informationstransparenz aus.

Abbildung 1: Lucullus® integriert mehr als 100 verschiedene Geräte und Gerätemodelle, die in typischen Bioprozessumgebungen zu finden sind. (A) Die Geräte gibt es in einer großen Vielfalt an Versionen, mit unterschiedlichen proprietären Schnittstellen und teilweise nicht aufeinander abgestimmter oder veralteter Technik, was ihre Integration zu einer anspruchsvollen Aufgabe macht. Ihre Integration in Lucullus® erfolgt durch gerätespezifische Treiberentwicklung oder über sogenannte Standardschnittstellen. (B) Über OPC- oder REST-Schnittstellen ermöglicht Lucullus® auch die Übergabe der harmonisierten und strukturierten Daten aus der Lucullus®-Datenbank an die jeweiligen kundenspezifischen Softwarelösungen.
 
 
Abbildung 2: REST-API-Anfrage bestehend aus Basis-IP + Ressource, die alle mit der Lucullus® Process Information Management Software (LPIMS) integrierten Bioreaktoren auffordert.
 

Um zum Beispiel eine Liste aller Reaktoren mit aktiv laufenden Prozessen abzurufen, würde man eine URL mit der Ressource "reactors" erstellen und das Attribut "running" als "true" angeben. Eine einfache Möglichkeit, solche Anfragen zu senden, wäre über den Webbrowser, vorausgesetzt, der Benutzer befindet sich im selben Netzwerk wie der Lucullus®-Server (Abbildung 3).

Abbildung 3: REST-API-Anfrage, bestehend aus Basis-IP + Ressource + Attribute, die alle laufenden Bioreaktoren aufruft, die mit der Lucullus® Process Information Management Software (LPIMS) integriert sind.
 

HTTP/HTTPS-Anfragen können genauso einfach mit der "requests"-Bibliothek in Python durchgeführt werden. Der folgende Codeschnipsel zeigt, wie dies in nur wenigen Zeilen umgesetzt werden könnte. Nachdem die Informationen für alle Reaktoren mit aktiv laufenden Prozessen abgerufen wurden, können die Daten weiterverarbeitet werden, um beispielsweise die Prozessnamen zu ermitteln:

Code 1: Codeschnipsel mit der "requests"-Bibliothek in Python zum Abrufen des Prozessnamens und der Prozess-ID aller laufenden Bioreaktoren, die in die Lucullus® Process Information Management Software (LPIMS) integriert sind.
 
 

Eine weitere häufige Aufgabe kann darin bestehen, die aktuellen Anschlusswerte während eines laufenden Prozesses abzurufen. Im folgenden Codebeispiel wird dies in zwei Schritten erreicht: Die experimentelle Bestimmung des kLa-Parameters ist ein mühsamer Prozess, der die folgenden Aufgaben umfasst:

  1. Abrufen der Kennung der Häfen auf der Grundlage ihres Namens

  2. Abrufen der aktuellen Werte dieser Ports aus dem angegebenen Reaktor

Code 2: Codeschnipsel mit der "requests"-Bibliothek in Python zum Abrufen der aktuellen Portwerte von Bioreaktoren, die in die Lucullus® Process Information Management Software (LPIMS) integriert sind.
 

Schließlich möchten Anwender nicht nur Prozessdaten abrufen, sondern auch Sollwerte während eines laufenden Prozesses ändern. Beachten Sie, dass dies nur für Ports möglich ist, die in der Systemadministration von Lucullus® auf "Ausgabe" eingestellt sind, standardmäßig protokolliert werden und entweder zu einem Hardware- oder logischen Gerät gehören.


Code 3: Codeschnipsel mit der "requests"-Bibliothek in Python zum Abrufen der Signal-ID eines Anschlusses, an dem der Wert geändert werden soll.
 

Nachdem die Signal-ID des zu ändernden Ports erfolgreich abgefragt wurde, kann mit dem "put"-Befehl der "requests"-Bibliothek der aktuelle Wert auf 300 gesetzt werden:

 
Code 4: Codeschnipsel mit der "requests"-Bibliothek in Python, die den Portwert des Ports mit der abgerufenen Signal-ID auf 300 ändert.
 

Prozesssteuerung über die REST-API

Obwohl die mitgelieferten Codebeispiele ausschließlich in Python geschrieben sind, können Daten zwischen Lucullus® und jeder beliebigen Software ausgetauscht werden, solange diese die Übertragung von HTTP/HTTPS-Anfragen unterstützt. Im folgenden Abschnitt zeigen wir, wie die Datenübertragung auf Basis der Lucullus® REST API für die Prozesssteuerung genutzt werden kann.


Abbildung 4: Fortgeschrittenes Prinzip der Prozessüberwachung und -steuerung. (A) Das allgemeine Prozesssteuerungsprinzip umfasst die folgenden Punkte, die nacheinander wiederholt werden: Messung der CPPs, Entscheidung auf der Grundlage von Prozesswissen über die Anpassung der CPPs und Handeln durch Anpassung der jeweiligen CPPs. (B) Das allgemeine Prozesssteuerungsprinzip ist der Rahmen für eine allgemeine Struktur zum Senden und Abrufen von Daten zwischen Lucullus® und einem programmierten Code: Sammeln von Portdaten, Durchführen von Berechnungen zur Analyse des Prozesszustandes und Aktualisieren von Ports auf der Grundlage der gesammelten/berechneten Daten.
 

Jede Form der Prozesssteuerung folgt einem allgemeinen Prozesssteuerungsprinzip (Abbildung 4A):

  1. Messung: Kritische Prozessparameter (CPPs) werden entweder in-line, on-line oder at-line gemessen

  2. Entscheidung: Auf der Grundlage aktueller und historischer Prozessdaten und des Expertenwissens wird eine Entscheidung zur Modulation eines CCP getroffen

  3. Aktion: Der CPP wird angepasst. Danach beginnt der Zyklus von Messung, Entscheidung und Aktion erneut

Ein ähnliches Leitprinzip kann helfen, eine allgemeine Struktur zum Senden und Abrufen von Daten zwischen Lucullus® und einem programmierten Code zu entwickeln. In einem bestimmten Intervall könnte der Steuerungsalgorithmus die folgenden Schritte durchführen (Abbildung 4B):

  1. Abrufen von Daten: Abruf der Daten von den interessierenden Häfen, entweder als aktuelle Werte oder als vollständige Zeitreihen, je nach den Anforderungen der jeweiligen Anwendung

  2. Berechnung: Auf der Grundlage der abgerufenen Daten werden Merkmale von Interesse berechnet, z. B. spezifische und volumetrische Raten oder geschätzte Metaboliten-Konzentrationen

  3. Port-Update: Auf der Grundlage gesammelter oder berechneter Daten werden Lucullus®-Ports aktualisiert, z. B. pH-Regelungssollwerte, Belüftungsrate oder Pumpeneinstellungen

Die Forscher der Zürcher Hochschule für Angewandte Wissenschaften haben sich für einen funktionalen Programmieransatz entschieden, was bedeutet, dass sowohl die Berechnung als auch die Aktualisierung von Ports auf Funktionen basieren. Im Gegensatz zu einem objektorientierten Paradigma, bei dem der Code in Klassen strukturiert ist, ermöglicht dieser Ansatz ein einfacheres Testen, da die Ausgaben nur von den Eingaben und nicht auch von den Klassenattributen und -zuständen abhängig sind. Außerdem ist dieser Ansatz für Benutzer, die keine Erfahrung mit der Codierung haben, einfacher zu handhaben. Im folgenden Pseudocode-Beispiel wird gezeigt, wie eine Rückkopplungsschleife mit speziellen Funktionen für die Datenerfassung und die Aktualisierung der Ports implementiert wird:

Code 5: Codeschnipsel, der zeigt, wie eine spezielle Funktion für die Datenerfassung und die Aktualisierung der Anschlüsse implementiert wird.
 

Da viele Data-Science-Routinen in Python auf Pandas DataFrames aufbauen, gibt die Funktion "collect_ port_data" einen DataFrame der kompletten Zeitreihendaten zurück. Der verwendete Code wird auf GitHub unter dem folgenden Link bereitgestellt. Benutzer sollten in Betracht ziehen, häufig verwendete Anfragen in einfacher zu verwendende Funktionen oder Klassen zu kapseln. Dieser Ansatz könnte die Effizienz und Wartbarkeit der Codebasis verbessern.

 

Ergebnisse

Die Lucullus® REST API und Python wurden eingesetzt, um ein industrielles Scale-Down-Modell eines Lipid-Produktionsprozesses mit einem Hefestamm zu automatisieren. Ein schwieriger Aspekt dieses Produktionsprozesses ist der Stoffwechsel der Hefe, der sich an die wechselnden Prozessbedingungen anpasst. Infolgedessen kann die spezifische Substrataufnahmerate schwanken. Daher können herkömmliche Fütterungstechniken zu einer Überfütterung führen, wenn die Fütterungsrate nicht an die aktuelle Biomassekonzentration und die maximale Substrataufnahmerate angepasst wird, was zu einer geringeren Produktivität oder sogar zu Fehlchargen führen kann (Reichelt, et al., 2017). Eine einfache und häufig angewandte Lösung für dieses Problem ist eine gepulste Fütterungsstrategie: Nachdem die Hefen den verfügbaren Zucker verbraucht haben, wird die Futterlösung in den Reaktor gepulst, um den Substratgehalt zu erhöhen. Die Strategie der gepulsten Fütterung basiert häufig ausschließlich auf Messungen des gelösten Sauerstoffs (Paddon, 2013; Poontawee, 2020; Carsanba, 2021), aber auch andere Prozesssignale wie O2 oder CO2 im Abgas können verwendet werden. Dieser Zyklus aus aufeinanderfolgenden Impulsen und dem Abwarten der Substratverarmung wird bis zum Ende des Prozesses fortgesetzt. Daher kommt es nicht zu einer unkontrollierten Anhäufung des Substrats innerhalb des Bioreaktors.

Abbildung 5: Die schwarze Linie stellt die CO2-Messungen im Abgas dar (Ausreißer entfernt und geglättet), während die blaue Linie den Zustand der Förderpumpe über die Zeit angibt. Die grünen und orangen Balken unter den Prozesssignalen zeigen die Bewertung des Prozesszustandes durch den Algorithmus: Während grün bedeutet, dass noch Substrat im Überschuss in den Medien vorhanden ist, bedeutet orange, dass das Substrat begrenzt ist. Die Kurven stellen einen typischen Prozess im Zeitverlauf dar. Nach der anfänglichen Batch-Phase wird die erste Substratbegrenzung erreicht, deutlich sichtbar durch einen Abfall des CO2-Signals. Auf der Grundlage dieses und anderer Indikatoren wird die Förderpumpe eingeschaltet, um die Substratkonzentration bis zu einem vordefinierten Wert zu erhöhen. Danach beginnt der Zyklus des Wartens und Pulsierens von neuem.
 

Abbildung 5 zeigt einen typischen Produktionsprozess, der über die Pulsfeed-Strategie gesteuert wird. Einmal pro Minute werden dreißig verschiedene Messwerte abgerufen, wie pO2, O2 und CO2. Anschließend werden die interessierenden Variablen wie die Sauerstoffaufnahmerate (OUR) und die Kohlendioxidentwicklungsrate (CER) aus den O2- und CO2-Messungen im Abgas berechnet. Wenn die Sauerstoffaufnahmerate sinkt, interpretiert ein Algorithmus dies als "Substratbegrenzung" und pulsiert die Zufuhrlösung. Mit diesem Ansatz wird die Dauer der Substratbegrenzung effizient minimiert.

Um die Fütterungsimpulse reproduzierbar zu halten, wird das Substratniveau nach jedem Fütterungszyklus immer auf die gleiche Konzentration aufgefüllt. Daher ist die Schätzung des Reaktorvolumens wichtig. Das Reaktorvolumen wird anhand der Reaktorbilanzwerte, der Fütterungsbilanzwerte und der Feuchtigkeit im Abgas geschätzt. Durch die Kombination dieser Parameter können Änderungen des Reaktorvolumens aufgrund von Beschickung, Säure- und Basenzugabe, Probenahme und Verdampfung berücksichtigt werden. Darüber hinaus wird die Redundanz genutzt, um unvorhergesehene Ereignisse zu korrigieren, z. B. wenn Gegenstände versehentlich auf eine Waage gelegt werden.

Schließlich werden auf der Grundlage der Abgasmessungen von O2 und CO2 und der Zeit, die von der Fütterung bis zur Erschöpfung des Substrats vergeht, die volumetrischen Substrataufnahmeraten online geschätzt. Diese Parameter liefern den Betreibern zusätzliche Informationen, die es ihnen ermöglichen, sowohl die Substratkonzentrationen als auch die erwartete Erschöpfung des letzten Substratimpulses zu schätzen.

Schlussfolgerung

Durch den Einsatz des Lucullus®-Prozessinformationsmanagementsystems in Verbindung mit Python wurde ein komplexer Hefefermentationsprozess zur Lipidproduktion vollständig automatisiert. Fortgeschrittene mathematische Analysen wie maschinenlernbasierte Ereigniserkennung und Soft Sensing wurden in Phyton durchgeführt. Die in der übergreifenden Software Lucullus® gesammelten Prozessdaten wurden über die Lucullus® REST API-Schnittstelle nahtlos an Phyton übertragen.

Dadurch wurde die Betriebszeit verkürzt, während gleichzeitig die Reproduzierbarkeit erhöht und die Prozessanpassung an einen komplexen Hefemetabolismus ermöglicht wurde. Generell erweitert die Verwendung der REST-API die Fähigkeiten von Lucullus® auf alle modernen Algorithmen des maschinellen Lernens und ermöglicht eine einfache Online-Integration bereits etablierter Datenanalyseroutinen.

Wichtigste Ergebnisse

Mit der Funktionalität der REST-API können Kunden ihre Datenanalyse- und Steuerungsworkflows nahtlos in Lucullus® integrieren. Das spart Zeit und Aufwand, da die Anwender mit den Tools arbeiten, die sie bereits am besten kennen

Die Leistungsfähigkeit fortschrittlicher mathematischer Methoden wie Kalman-Filter, Stoffwechselflussanalyse oder maschinelles Lernen kann online genutzt werden, um besser informierte Entscheidungen zu treffen.

Zugehöriges Webinar

Dieser Artikel wurde in einem Webinar vorgestellt. Um die aufgezeichnete Version dieses Webinars anzusehen, folgen Sie bitte dieser Link:

In diesem Webinar wurden die folgenden Themen behandelt:

  • Wie Sie Ihre Data-Science-Lösungen über die REST-API mit Lucullus verbinden und dabei die Umgebung nutzen, die Sie und Ihr Team am besten kennen.

  • Wie Sie Ihren Datenwissenschaftlern die Erstellung Ihrer Anwendungen erleichtern können.

Referenzen

  • (2020, May 8). Retrieved from RedHat: https://www.redhat.com/en/topics/api/what-is-a-rest-api
  • Carsanba, E. P. (2021). Fermentation strategies for the production of pharmaceutical terpenoids in engineered
    yeast. Pharmaceuticals.
  • Gupta, L. (2023, December 1). Retrieved from RESTful API: https://restfulapi.net/
  • Paddon, C. J. (2013). High-level semi-synthetic production of the potent antimalarial artemisinin. Nature.
  • Poontawee, R. &. (2020). Feeding strategies of two-stage fed-batch cultivation processes for microbial lipid production from sugarcane top hydrolysate and crude glycerol by the oleaginous red yeast Rhodosporidiobolus fluvialis. Microorganisms.
  • Reichelt, W. N., Brillmann, M., Thurrold, P., Keil, P., Fricke, J., & & Herwig, C. (2017). Physiological capacities decline
    during induced bioprocesses leading to substrate accumulation. Biotechnology journal.