OD Reading Error

Hello!

When running my cultures as of late, when I begin the OD reading after inoculation, I immediately receive an OD_reading encountered an error. No other information is provided as to what the error may be though.

I ran a self test prior to beginning the experiments and there were no errors there. Additionally, I can see the LED intensity increase when taking the OD reading and that is when the error message occurs. This Pioreactor does have an active calibration too.

Has anyone encountered these issues too or have any ideas what’s going on?

Thanks!

Hi @HillsLaura

That’s strange that there is not information. Can you use the Event Logs view (under Pioreactors), with the Detailed selection on to see if there is any error information there?

Hi Cam,

Here is what the detailed log states:

That helps, thanks. I’ve made the error message more clear for the next release. For your specific problem, does this error keep coming up in the same OD reading job, or only once (or a few times) when you start?

The error is related to their not being a proper solution for the calibrated signal. Can you share your calibration curve for this Pioreactor (either the fit polynomial, or the raw yaml is fine)?

The error message occurred every time an OD reading was attempted throughout the experiment (17 hours), and no OD graph or readings occurred so no data was collected for the experiment.

Here is the raw yaml file for this specific worker:

calibration_type: od
calibration_name: od-cal-2025-02-21
calibrated_on_pioreactor_unit: pioreactor03
created_at: 2025-01-28 19:30:04.923002+00:00
curve_data_:
- 0
curve_type: poly
x: OD600
y: Voltage
recorded_data:
  x:
  - 2.86
  - 1.9066666666666665
  - 2.48
  - 1.6533333333333333
  - 1.76
  - 1.1733333333333333
  - 1.19
  - 0.7933333333333332
  - 0.8
  - 0.5333333333333333
  - 0.53
  - 0.3533333333333334
  - 0.38
  - 0.2533333333333333
  - 0.26
  - 0.17333333333333334
  - 0.0
  y:
  - 0.8191884847769164
  - 0.6237446640735143
  - 0.6241421034350685
  - 0.390913716001387
  - 0.38347069831575964
  - 0.24470417857692278
  - 0.2393754077486614
  - 0.15823027368389875
  - 0.1595720569545051
  - 0.10417919832760797
  - 0.10747323484777566
  - 0.07285006493848155
  - 0.07541552097590794
  - 0.04948791797415603
  - 0.048282745411377184
  - 0.033042181828816915
  - 0.0008333601867348153
ir_led_intensity: 70.0
angle: '90'
pd_channel: '2'

This looks like the problem. The calibration curve is f(x)=0 (when it should be something like, for example, f(x) = 2.3x^2 + 0.1x - 0.03. Users choose the curve, but there may have been a bug / unclear instruction during the calibration.

Try the following on that worker:

pio calibrations analyze --device od --name od-cal-2025-02-21

to create a new calibration curve.

I made that adjustment, and I’m running another overnight culture tonight so I’ll see if that works when I get my data tomorrow.

Thanks so far for the help - it’s much appreciated!

Okay let me know if something doesn’t look right. You should always see OD reading data on the overview page - if not, something is wrong.

Here are the results from my run last night:


When I began my run, I had the OD calibration for this worker as active, but I kept getting a warning message that my the readings were outside the calibration range (i.e. that the voltage readings were too high for my calibration), I wasn’t entirely sure of why that occurred, so I turned the calibration as inactive for the run just to see if I could get some data. The nOD looks fine but the actual OD graph is a bit wonky.

Yea I don’t love it. When you turned set the calibration to inactive, did you restart the OD Reading job? If not, the job will continue to use the calibration. (This isn’t clear to users, and I should make it more clear one needs to do this).

The OD readings are pretty noisy. A few things to help debug:

  • is your stirring RPM high?
  • any “floaties” in your culture (aggregates of cells, or proteins)?
  • is the Pioreactor near a source of lots of EMF? (like a big electrical machine that’s always running)?

I may have just paused the OD reading when I turned off the calibration. I typically run the experiment at 350 RPM but when I began the run yesterday I was having stirring issues with the stereotypical message of RPM is 0 or something along that line, so I ended up changing the use_rpm to 0 to allow the stirring to continue without a “target RPM”. There wasn’t anything floating in my culture when I looked at it this morning, so I’m not sure that’s effecting it. The pioreactor is currently on a counter that is adjacent to a fume hood, but other than that, it isn’t near really any other equipment.

Hi both,

Just to add few other options to

  • Having Pioreactor close to window on a sunny day
  • Having Pioreactor window open and exposed directly to sunlight
  • Having stirring bar thicker than the original Pioreactor bar

Can also introduce additional noise to the OD readings based on our experience.