Perfusion culture has long been used in mammalian bioprocessing, with several therapeutic proteins produced this way since the 1990s. The industry later favored fed-batch for its simplicity and yield, but advances in cell retention and control over the last decade have renewed interest in perfusion as a route to higher productivity and stability at very high cell densities. (Reference: Perfusion mammalian cell culture for recombinant protein manufacturing – A critical review, 2018).
Perfusion has a dual role: removing metabolic waste, while at the same time providing fresh nutrients. The nutrients must be supplied in a predetermined quantity and rate, requiring high accuracy (stoichiometric feeding). This creates a contradiction between the need for precise feeding and the limited measurement resolution of high-capacity balances. In other words, an accurate amount of nutrients must be delivered within large volumes of medium required for the removal of metabolic by-products — a fundamental challenge of perfusion control.
To resolve this and achieve the desired control performance, the process logic must include built-in compensation for inherent inaccuracies. The application of gravimetric feed corrections is an effective way to enable such compensation. In the Application Note “Precision in every drop – perfect gravimetric feeding with Lucullus® software”, published by Securecell in September 2025, the gravimetric feed principle was explained in detail. A brief summary of this explanation follows below here.
This approach relies on real-time mass measurements to directly quantify the amount of liquid delivered and helps to overcome the inherent variability introduced by tubing deformation and time-dependent changes in pump performance. Gravimetric feeding is used in those cases where a high degree of accuracy is required for feeding the bioreactor. The accuracy and precision of the balance are critical, as the measurements of the weight of the feed solution by the balance are the basis for correcting the feed pump setpoint. Such a setup is commonly referred to as a gravimetrically corrected feed, or in short, a gravimetric feed. The following is required to set up a gravimetric feed (Figure 1):
The Lucullus® Operations team at Securecell specializes in process automation and has successfully implemented gravimetric feed correction solutions at various customer sites in the past, such as recently for Octarine Bio (reference: Application Note “Precision in every drop – perfect gravimetric feeding with Lucullus® software”).
In the past months, a gravimetric feed correction solution was developed for a perfusion process, designed and optimized by Safi Biotherapeutics (Safi), a biotech company with locations in the United States and the United Kingdom (UK).
Safi Biotherapeutics develops allogeneic, ex-vivo-manufactured blood cell therapies — including red blood cells (RBCs) for transfusion — at scale and with viable economics. At the UK site, work focuses on cultivating human RBCs from hematopoietic stem cells in bench-scale suspension bioreactors.
Safi’s process development builds on decades of industrial experience in recombinant protein manufacturing using mammalian hosts. However, unlike those production systems where secreted molecules are the product, in the case of Safi, the cells themselves are the product. This distinction imposes unique requirements on process design: exceptionally high cell counts, high viability, physical integrity, and the desired cell phenotype are all essential. Seen through this lens, it became evident that high-throughput perfusion is not optional, but fundamental (Figure 2).
As continuous medium inflow is required in a perfusion process, one might assume this could be achieved simply with an accurately calibrated peristaltic pump. Although peristaltic pumps can achieve high accuracy when tested in open bench conditions — approximately 99% accuracy from beaker to beaker when tested at Safi — their performance in an enclosed bioreactor environment is markedly less reliable. At Safi, errors were observed of 15–20 % during actual cultivation runs, which were attributed to back-pressure effects and long-term deformation of the pump tubing under continuous operation.
To ensure accuracy, repeatability, and consistency, a more robust feeding control was required. Gravimetric feeding offers this stability by relying on direct mass measurements rather than assumed pump displacement, thus eliminating systematic drift due to mechanical or pressure-related changes. Conveniently, the Lucullus® software was already in place at Safi, as the complexity of the bioprocess performed at Safi necessitated an agnostic SCADA platform to coordinate multiple control loops and data streams.
In this article, it is described how the Securecell and Safi teams developed a Gravimetric Feeding Operation for Lucullus®, in close collaboration. During this work, it was realized that rather than chasing the slope — that is, constantly correcting the instantaneous feed rate — it is more effective to chase the integral, ensuring the correct total medium delivery over a defined time period. This change in perspective reshaped our understanding of what accurate feeding control means in a perfusion process.
The following equipment was used for executing the processes with a gravimetric feed at Safi (Figure 3):
Process control software:
Lucullus® (version 24.1.1, Basic + Control license)
Bioreactor process controller:
Benchtop bioreactor process controller for local execution of process control functions
Bioreactor vessels:
1 L and 10 L stainless-steel and glass vessels, as well as custom single-use bioreactor vessels; vessel type and scale selected according to experimental design
Feed and waste pumping:
Free-standing, cased laboratory peristaltic pumps for medium addition and spent medium removal
Feed mass measurement:
Mass balance integrated with Lucullus® for gravimetric feed control
Cell retention system:
Alternating Tangential Flow (ATF) or Tangential Flow Filtration (TFF)–based cell retention systems, selected according to experimental requirements
The operational logic applied at Safi distinguishes itself from Securecell’s approach in previous projects, where gravimetric feeding was applied mainly for accurate feeding control in fed-batch processes. In those cases, feeding was volume-limited and designed to follow a calculated feed curve (reference Application Note “Precision in every drop – perfect gravimetric feeding with Lucullus® software”).
In contrast, Safi’s process must maintain a relatively high-volume continuous inflow and outflow, while retaining the cells within the bioreactor. The shift from feed correction to perfusion control requires the programming of additional logic elements, such as continuous medium removal triggered by a level sensor, when a certain liquid level is reached in the bioreactor. It is important to note that the presence of the cell retention device, where the permeate is routed through an HFF (Hollow Fiber Filtration) cartridge, introduces additional and variable hydraulic resistance.
Given the larger working volumes and the need for flexibility across bioreactor scales (950 mL – 30 L), high-capacity balances (up to 35 kg) are required, which typically offer lower resolution: 5 g in the case of Safi. This poses a challenge for effectively applying gravimetric corrections to the bioreactor feed, for which scales with a high resolution are particularly suitable.
Another distinction from previous work is that, instead of operating a robust, production-oriented process optimized for reproducibility and throughput, Safi’s system remains in the R&D phase of a complex, variable, and biologically sensitive process. To support this, greater flexibility must be built into the Lucullus logic to accommodate frequent process modifications and daily bioreactor operation, such as frequent feed bottle and feed setpoint changes.
In the processes currently performed by Safi the set feed rate is kept constant for a prolonged duration of time. The set feed rate may be changed at some point during the process by the operator. The feed rates are not always predefined at the start of the process, reflecting the exploratory and adaptive nature of R&D work.
In principle, it should be rather easy to apply gravimetric corrections to the feed pump, when a fixed rate is set; doing so for a dynamic feed rate (increasing linearly, exponentially or according to a pre-set profile) poses more challenges (reference: Application Note “Precision in every drop – perfect gravimetric feeding with Lucullus® software”).
However, in the case of Safi, the equipment available (balances with a relatively low accuracy of 5 g) made it impossible to effectively implement the same strategy for applying gravimetric corrections, as in prior cases. The principle applied in these cases was to correct the rate of the feed pump directly at a relatively high frequency, by calculating the actual feed rate based on two consecutive balance measurements and using the error (difference with the desired feed rate) to correct the feed pump setpoint.
When this principle was implemented at Safi, the combination of relatively low feed rates, very inaccurate balance readings and relatively short cycles (in the order of magnitude of a few minutes) led to a very poor performance, with the gravimetric corrections doing more harm than good. It was therefore decided to take a different approach for Safi’s processes: instead of calculating corrections based on the current feed rate, doing so based on the total amount of feed dosed since the feed pump was started (and maintained at the same target rate).
To this end, the measurement of the feed weight is captured at the time the feed pump is started (parameter weight_start). Subsequent weight measurements are then subtracted from the start weight, yielding the total amount of feed solution dosed at a given time. This amount is then divided by the time that has passed since the feed pump is started, resulting in the actual feed rate over that duration (parameter feed_rate_av). The latter is subtracted from the desired feed rate (parameter feed_rate_target); the difference (parameter feed_error) is then used to calculate the gravimetric correction factor (parameter FCF), which is based on a proportional component (parameter PCF) and an integral component (parameter ICF).
The poor accuracy of the feed balance complicated a stable regulation in several ways:
The first increment recorded by the balance proved to be systematically unreliable. Although the balance reading would go down by a discrete step of 5 grams, the actual amount of feed added to the bioreactor could have been anything between 0 and 5 grams.
Particularly at low feed rates, the measurements of the balance had a tendency to wobble, i.e. despite liquid being removed from the feed bottle, the weight measurements could fluctuate up and down with steps of 5 grams. This made capturing any particular balance reading to be used for further calculations an uncertain factor.
Capturing balance measurements at a fixed time period (feed cycle), as in earlier, comparable work, also did not work out well. The balance reading incrementing by 5 grams just after the measurement was captured for subsequent calculations, would result in an additional inaccuracy introduced to the gravimetric correction factor FCF.
These three phenomena were especially deleterious in the early stages of the feeding. As time would progress, their effects on the gravimetric corrections would increasingly become less significant. The main aim of Safi was to have a very accurate dosage of feed at the end of the feeding period, which would allow for periods of overfeeding and underfeeding, as long as these balanced out in the end. Nonetheless, steps were taken to minimize (temporary) overfeeding and underfeeding as much as possible.
To avoid the issue with the first increment of the balance reading, Lucullus® was programmed to only capture the starting weight (parameter weight_start) after the second increment was recorded.
To deal with the balance readings’ wobbling, the Lucullus® Logical Device NSA was used to calculate the average feed weight (parameter weight_av), based on the last 10 recorded balance measurements. Subsequent calculations were thereafter performed exclusively with this averaged weight, instead of the last recorded weight measurement. This not only helped smooth out the wobbling, but in addition provided extra resolution to the weight values, i.e., the average weight changing with steps smaller than 5 grams.
Instead of imposing a fixed frequency on the feed cycle, Lucullus® was programmed to wait for a significant change of the feed weight (parameter DBSI), with a default value of 5 grams or more, before calculating a new gravimetric correction factor. For this purpose, the (averaged) feed weight was captured at the start of each new feed cycle (parameter weight_cyc_init).
The entire mechanism for applying gravimetric corrections to the feed pump setpoint is further highlighted below here in Figure 4, Figure 5, Figure 6, and Figure 7.
One of the first features that was introduced to make the Operation more robust, was a parameter named abort_flag. The main purpose of this parameter is to override the automatic control of the feed pump by Lucullus®, in case there is a need for a manual intervention. When this parameter is assigned a value of 1 by the operator, the gravimetrically corrected feed rate (parameter feed_rate_corr) is ignored and instead a user-defined, fixed feed rate is assigned to the setpoint of the feed pump (parameter feed_rate_target). In Figure 7 the control logic for the feed pump regulation is shown in detail.
One of the things that sets apart the solution programmed for Safi compared to previous solutions, is applying corrections to the feed pump based on the measured total amount of feed solution dosed by that pump over an extended period of time, instead of the calculated feed rate over a relatively short time period. The main advantage of this method is that two requirements, mentioned in the Introduction of this article, no longer need to be met:
The balance for measuring the feed weight does not require high accuracy, and good results can be obtained even if the balance has low accuracy.
It is not necessary to collect the balance measurements and correct the pump setpoint at a relatively high frequency. In fact, correcting at a low frequency will help dampen the effects of poor balance accuracy at the start of the feed, when this is most detrimental.
As mentioned, an inherent weakness of this method is that when a balance with low accuracy is utilized, at the early stages of the feeding the calculated amount of dosed feed tends to deviate a lot from the actual dosed amount. Correcting the feed pump based on the calculated amount of dosed feed at that stage will do more harm than good. To cope with that, it is best to let the feed pump run for some time without applying gravimetric corrections. As time passes, the difference between the starting weight and the current weight on the feed balance will continuously grow larger, until the point is reached that the inaccuracy of the balance is insignificant compared to the weight difference. At this point, it would be safe to enable gravimetric corrections for the feed pump.
It can therefore take some time before the feed starts to get corrected. Fortunately, the algorithm is then able to correct the feed to compensate for underfeeding or overfeeding during the period preceding the activation of the gravimetric corrections. How much time needs to be reserved for waiting with the gravimetric corrections, is dependent on the equipment used (balance accuracy) and particular process conditions (feed rate) and should therefore be determined for each unique situation individually.
Another disadvantage of this method is susceptibility to disturbances, in particular disturbances to the weight indicated by the feed balance. Consider the following scenarios:
The balance is only briefly disturbed and the weight temporarily shifts, but then returns to more or less the same value as before the disturbance. In some cases the balance may temporarily read 0 due to a communication glitch or the triggering of an inbuilt function, such as “auto-tare”.
The balance is briefly disturbed, the weight shifts, and does not return to (more or less) the same value as before, but rather a significantly higher or lower value.
The balance is disturbed for a longer period of time, for example because the feed container is exchanged.
The feed rate target is changed at some point during the process.
Note that in all these scenarios a protective mechanism was introduced, which moderates the influence relatively large disturbances have on the calculation of the gravimetric correction factor FCF. This is achieved by applying the control output limits (parameters co_lim_p and co_lim_i) in the equations as a hard cut-off for calculating parameters PCF and ICF, respectively (Step “Calculate corrections”).
In scenario 1 the impact on the feed accuracy is limited. In most cases, the disturbance will first appear and then disappear in the middle of the feed cycle, before the correction factor for the feed pump setpoint FCF is calculated. By the time this does happen, the disturbance no longer has an effect on the calculation. In case the disturbance takes places just before the correction of the feed pump setpoint is calculated, it will have an undesired effect on that calculation and the feed pump setpoint will be adjusted too much or too little.
However, this would eventually be corrected during subsequent feed cycles, provided no further disturbances directly affect the calculation of the gravimetric correction during that time. In the gravimetric feed Operation programmed for Safi this is avoided altogether. This is accomplished by tracking the standard deviation of the averaged feed weight (parameter weight_dev) and comparing this to a user-defined limit (parameter DBDW). When this limit is exceeded, Lucullus® pauses the gravimetric corrections, until the deviation drops below the limit. At this point Lucullus® resets the starting weight (parameter weight_start) and the gravimetric corrections are started from scratch (Figure 8 and Figure 9).
In scenarios 2 and 3 the impact on the feed accuracy is more severe, with the degree of the severity depending on how much the feed weight measurement was shifted by the disturbance. Although the gravimetric correction factor FCF is limited by the control output limits co_lim_p and co_lim_i during each round of calculations, Lucullus® will eventually manage to fully correct for the shift of the feed weight on the balance. If no measures are taken, this will lead to an error in the actual dosed amount of feed, e.g., the total amount of feed to be dosed either falls short of the target or overshoots it. To avoid this from happening, the following would be required:
In the case of scenario 2, Lucullus® would need to be programmed to detect the shift of the feed weight and act accordingly to correct for the shift. The mechanism based on the standard deviation of the averaged feed weight described for scenario 1 is also capable of dealing effectively with the shift of the feed weight described in scenario 2.
In the case of scenario 3, the shift of the feed weight is anticipated and Lucullus® has been programmed to cope with this (Figure 10). A dedicated branch in the Parallel Block, consisting of 4 Steps, enables the operator to indicate that a bottle exchange is about to take place and to indicate when the exchange has been completed. During the bottle exchange, the gravimetric corrections are paused. Once the exchange is completed, the starting weight used for the feed correction calculationis reset. The gravimetric corrections then make a fresh start.
In the case of scenario 4, no shift of the feed weight is anticipated, but the starting weight used for the feed correction calculation does need to be reset. If this does not happen, Lucullus® will start to correct the feed pump setpoint based on the history of the feed dosed with the previous, different feed rate target. This will result in unjustified and unneeded corrections. To cope with this, another dedicated branch in the Parallel Block, consisting of 4 Steps, has been introduced in the Operation for Safi (Figure 11). It is very similar to the branch programmed for the bottle exchange, with the main difference being that the feed pump is not temporarily stopped in this scenario. Note that in the case of Safi the feed rate is kept constant for an extended period of time, both before and after the target feed rate is changed, which allows for the particular strategy described here to be used.
Figure 9: in the Step “Gravimetric feeding”, the parameter feed_count is incremented each feed cycle (feed_count = feed_count +1), unless parameter corr_flag is 0. If such is the case, feed_count is reset to 0 (feed_count - @if(corr_flag = 0; 0; feed_count)). This typically happens as a result of an unplanned disturbance of the feed weight, a planned bottle exchange, or a planned change of the feed rate target. Once corr_flag changes from 0 back to a value of 1, feed_count will start incrementing again. When it has reached a value of 2, the start weight will acquire a new value, based on the current calculated averaged feed weight (weight_start = @if(feed_count = 2 AND corr_flag = 1; weight_av; weight_start)). During the next feed cycle, gravimetric corrections are then resumed.
Figure 10: The branch in the Parallel Block of the Operation responsible for dealing with a bottle exchange. The blue Steps indicate so-called Manual Steps, i.e., Steps dedicated to interactions with the Operator. Upon execution of the first Step, Lucullus® asks the operator to confirm that the bottle needs to be exchanged. When this has happened, Lucullus® stops the feed pump (pmp_feed_md = 0), resets gravimetric corrections (feed_count = 0), and freezes the feed cycle by assigning a value of 1 to parameter chng_feed_flag. The third Step is then executed, and Lucullus® asks the operator to confirm that the bottle has been exchanged. When this has happened, Lucullus® restarts the feed pump and un-freezes the feed cycle by assigning a value of 0 to chng_feed_flag. At this point, Lucullus® makes a fresh start applying the gravimetric corrections. At the same time, the last Step in this branch loops back to the first Step and waits for the Operator to notify Lucullus® of another bottle exchange at a later time.
Figure 11: The branch in the Parallel Block of the Operation responsible for dealing with a change of the target feed rate. The blue Steps indicate so-called Manual Steps, i.e. Steps dedicated to interactions with the Operator. Upon execution of the first Step, Lucullus® asks the operator to confirm that the target feed rate needs to be changed. When this has happened, Lucullus® resets gravimetric corrections (feed_count = 0) and freezes the feed cycle by assigning a value of 1 to parameter chng_feed_flag. The third Step is then executed, and Lucullus® asks the operator to confirm that the target feed rate has been changed. When this has happened, Lucullus® un-freezes the feed cycle by assigning a value of 0 to chng_feed_flag. At this point, Lucullus® makes a fresh start applying the gravimetric corrections. At the same time, the last Step in this branch loops back to the first Step and waits for the Operator to notify Lucullus® of another change of the target feed rate at a later time.
The Operation developed for Safi contains more functionality than was discussed in this article so far. Amongst other functions, it includes a user-friendly option for selecting the desired pumps for feeding and bleeding (3 options possible, in both cases). Another parallelly executed function is responsible for maintaining a stable working volume in the reactor by enabling a bleed pump, whenever the liquid in the reactor makes contact with the level sensor. The Operation in its entirety can be seen in Figure 12.
Figure 12: Overview of the final version of the complete gravimetric feed Operation. Steps with yellow headers are executed automatically by Lucullus®, whereas those with blue headers require an input from the operator before Lucullus® can proceed to the next Step. On top of the Step Chain, the blue colored Steps “Choose feed pump” and “Choose bleed pump” allow the operator to select for both the feed and bleed pumps one particular pump out of a selection of three available pumps, providing extra flexibility to the user (the different pumps have different capacities). When the operator has confirmed inoculation, Lucullus proceeds to the Parallel Block called “Perfusion” and then executes the 5 branches in that Parallel Block simultaneously. From left to right these branches have the following functions: executing feeding and gravimetric corrections, changing the target feed rate, exchanging the feed bottle, removing excess liquid (bleed) and tracking the progression of the feed weight on the balance.
Performance of the final version of the Operation was tested during live cultivations at Safi, and the following was achieved: stable and robust regulation of the cumulative amount of feed medium dosed. The algorithm is capable of dealing effectively with exchanges of the feed bottle, feed setpoint changes, and temporary balance disturbances. Following the initial start of the feeding, a feed bottle exchange or a feed setpoint change, it takes a few hours for the actual (averaged) feed rate to stabilize at the desired target feed rate. This time period typically is shorter at higher feed pump setpoints. The fluctuations of the actual (averaged) feed rate compared to the target feed rate are the largest immediately after the initial start of the feeding, a feed bottle exchange or a feed setpoint change, when balance reading inaccuracies have a relatively high impact on the calculations of the actual (averaged) feed rate. These fluctuations diminish over time, as long as the conditions stay stable (no feed bottle exchange, feed setpoint change or balance disturbances). Utilizing this Lucullus® Operation enabled Safi to feed with a deviation of 0.5% or even less during these cultivations. This is further highlighted in Figure 13, Figure 14, Figure 15, and Figure 16.
During the preparation of this paper, several new ideas began to take shape. One promising direction is the decoupling of perfusion and nutrient feeding. In this concept, plain medium exchange would be controlled separately, to maintain environmental stability and remove metabolic by-products, while nutrient feeding would follow an independent gravimetric control profile aligned with metabolic demand. This separation could greatly simplify control logic while improving both accuracy and robustness. Future work will explore how such decoupling could be implemented in Lucullus® logic and tested experimentally across different scales of bioreactors.
Another improvement would be to include other feeding strategies than a constant feed, such as a linearly increasing or exponentially increasing feed. This would also require a different approach for calculating the gravimetric corrections to be applied on the feed pump setpoint: it would be necessary to integrate (over a given time period) the mathematical function used for the target feed rate, to obtain the desired amount of feed solution dosed (over that time period).
The difference between this desired amount and the actual dosed amount can then be used as a basis for the gravimetric corrections. As for the constant feed applied in Safi’s processes, balance disturbances, feed bottle exchanges and changes to (a) parameter(s) involved in the feed equation would necessitate resetting the gravimetric correction calculations.
The gravimetric perfusion logic developed through the Safi–Securecell collaboration extends beyond this specific application. The approach directly addresses common challenges in high-volume perfusion — such as limited balance resolution, variable back pressure, and dynamic process scaling — which are shared by many Lucullus users. Once implemented, this logic can be readily adapted by other laboratories and companies operating similar SCADA-controlled bioreactor systems, enabling more accurate and stable perfusion control across diverse setups.
The innate flexibility of Lucullus® enables successful process automation of processes, even if some of the key requirements for automation are at odds with each other.
Performing gravimetric corrections based on the integrated flow rate offers advantages over corrections based on the current flow rate, including higher precision of the amount of feed dosed over a long duration and the ability to so even with low resolution scales.
A drawback of employing gravimetric corrections based on the integrated flow rate is the sensitivity to disturbances of the scale measuring the feed weight, in particular when the disturbance causes a permanent shift of the recorded weight. Including protective mechanisms in the algorithm makes it possible to effectively cope with this.
The gravimetric feed control regulation was developed and optimized by Lucullus® Application Specialists, Manuel Cantero, and Rowin Timmermans from Securecell, based on process requirements and iterative feedback from the Safi Biotherapeutics research team, including Laura Erdos, Cathy Beltran-Rendon, Polina Vikhreva, and Lee Berry.