nanoporetech / minknow_api

Protobuf and gRPC specifications for the MinKNOW API
Other
55 stars 12 forks source link

Monitor device heat sink temperature during a run? #55

Closed thalljiscience closed 1 year ago

thalljiscience commented 1 year ago

Is it possible to use the API to query the device heat sink temperature? We've had a MinION apparently lose its thermistor function while running and the run goes wonky, presumably overheating, translocation speed goes way up but sequence numbers throughput and quality drop. This is not an API issue, of course, but I want to be able to monitor the temperature programmatically during a run and have software send an email to the the operator informing them their run is out of temperature spec in time to switch the flowcell to a different device. It's inefficient to have to manually monitor it by physically going to the lab, so I was wondering if there is an API function that can query the current heat sink temperature?

Thanks for any help.

-Tom

thalljiscience commented 1 year ago

Never mind - it turns out to be pretty easy to figure using get_run_info as a template and looking into device_pb2.py for the command:

position_connection.device.get_temperature() appears to work and the heat sink temperature does fluctuate in real time, so I assume I am reading the correct information. Just converted get_run_info.py into a file called read_temperature.py and feed it the MinION position the same as get_run_info.py

Question though: is the asic_temperature being returned in kelvins? It is reading between 545 and 552, whereas the heat sink is reading in Celcius at 34-35.

thalljiscience commented 1 year ago

Actually, the asic temperature looks like it is probably in Rankine? Is that correct?

Thanks,

-Tom

thalljiscience commented 1 year ago

I guess I can probably close this without having to bother you.

0x55555555 commented 1 year ago

Hi @thalljiscience ,

asic temperature is reported in degrees Celcius, but will only work when the asic is in use on the device during sequencing.

Hope that helps.

thalljiscience commented 1 year ago

Hi George,

The asic_temperature is being returned whenever a flow cell is inserted into the MinION, whether actively sequencing or not, and it is being returned with values that hover close to around 550 or so. Definitely not celsius. This looks like the rankine scale, which would correspond to 32.4C. Currently, I am monitoring the heatsink and asic temps, and converting the asic from rankine to ceclius. I’ll check today and see if the scale changes once active sequencing starts. I’m assuming what is shown during a run on the MinKNOW Kingfisher interface is the heatsink temperature?

Thanks,

-Tom

0x55555555 commented 1 year ago

Hi @thalljiscience

The MinION asic temperature is only valid for query when a sequencing run is active, the values are nonsence when the asic is not powered - which it isn't at flowcell insertion. I would not recommend you read or use these figures.

The temperature shown in the UI is the heatsink temperature yes.

Thanks,

thalljiscience commented 1 year ago

Interesting. I’ll hide the value when sequencing is not in progress.

Thanks.

thalljiscience commented 1 year ago

Hi again @jorj1988

Well, sure enough, the asic_temperature dropped down to quite close to the heatsink temp as soon as an active sequencing run was started, lol. Goes to show what happens when assumptions are made. Pretty coincidental that the nonsense numbers coming out were so close to the actual temperature when assumed to be rankine.

Thanks again for the information.

-Tom