
PyLabRobot 分析設備集成指南Plate Reader 與天平前端的離線驗證、安全接線與數據完整性【免費下載鏈接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.項目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills本指南圍繞當前倉庫skills/pylabrobot/references/analytical-equipment.md的核心內容展開系統講解 PyLabRobot 0.2.1 中**讀板機Plate Reader與電子天平Scale**兩大分析設備前端的穩定 API、離線驗證手段、設備支持范圍、真實運行前檢查清單以及與液體處理器協同工作的安全與數據完整性約定。讀完本文你將能夠基于 0.2.1 版本正確構造分析設備資源、在不連接任何儀器的情況下完成 API 面檢查并在未來執行真實的測量協議前建立一套可審計的安全與數據記錄流程。適用前提本文全部結論基于 PyLabRobot 0.2.1發布于 2026-03-23Python 3.9驗證日期為 2026-07-23。文中描述的是不連接、不指揮儀器的前提下對 API 的核對任何真實接線都必須單獨經過操作人員授權。技能整體約束見 skills/pylabrobot/SKILL.md。讀板機前端Plate Reader frontend讀板機在 PyLabRobot 中是一個**資源resource**對象它既有物理尺寸和坐標又通過一個后端backend與具體廠商協議對接。0.2.1 穩定版可以這樣導入前端from pylabrobot.plate_reading import ( CLARIOstarBackend, Cytation5Backend, PlateReader, PlateReaderChatterboxBackend, )構造一個 PlateReader尺寸是必需的PlateReader是一個資源因此構造時必須同時給出尺寸和 backend簽名如下PlateReader(name, size_x, size_y, size_z, backend, rotationNone, categoryplate_reader, modelNone, child_locationCoordinate(...), preferred_pickup_locationNone)務必注意不要復制過時的構造寫法PlateReader(nameCLARIOstar, backendCLARIOstarBackend())0.2.1 的穩定前端要求顯式提供size_x、size_y、size_z三個尺寸參數——它們決定了該資源在資源樹resource tree中的幾何占位是后續臺面布局、碰撞檢查與機械臂交接的輸入之一。rotation、category、model、child_location、preferred_pickup_location均為可選其中category默認是plate_reader。已驗證的前端方法0.2.1 前端已核驗的方法簽名如下open(**backend_kwargs) close(**backend_kwargs) read_absorbance(wavelength, wellsNone, use_new_return_typeFalse, **backend_kwargs) read_fluorescence(excitation_wavelength, emission_wavelength, focal_height, wellsNone, use_new_return_typeFalse, **backend_kwargs) read_luminescence(focal_height, wellsNone, use_new_return_typeFalse, **backend_kwargs)幾個容易踩坑的細節read_fluorescence必須提供focal_height焦距高度。舊示例曾經省略該參數在 0.2.1 中這是必需的。返回值不是固定的 NumPy8x12數組。0.2.1 的注解返回類型是List[Dict]具體返回的形狀由 backend 與use_new_return_type共同決定。因此在進行任何分析前必須如實記錄方法的確切參數、板位/孔位映射plate/well mapping、儀器設置、原始響應以及包與 backend 的版本。不存在通用的溫度設置方法。0.2.1 已驗證的前端沒有暴露統一的set_temperature。溫度控制、振蕩shaking、注液器injectors、動力學kinetics、光程pathlength、讀取模式與光學optics配置都屬于backend/型號特有能力不能從另一臺讀板機上照搬推斷。從倉庫源碼看本技能的離線檢查腳本 skills/pylabrobot/scripts/inspect_backends.py 對PlateReader做方法存在性檢查時實際核驗的方法集是(setup, stop, open, close, read_absorbance, read_fluorescence)采用hasattr反射判斷、惰性導入且不實例化任何 backend。這從實現上印證了前端方法隨版本演進而變化、必須以安裝包為準的結論——寫代碼前先用腳本核對比憑文檔記憶更可靠。離線接口檢查不碰儀器也能驗證 API軟件專用 backendPlateReaderChatterboxBackend是為純軟件前端測試準備的 backend。它可以驅動方法調用與資源狀態的流轉但不能模擬光學響應、板位就座、熱行為、增益gain、對焦focus、測量噪聲或檢測化學assay chemistry。它適合驗證代碼路徑是否正確、參數是否完整、狀態機是否合法不適合驗證測量結果是否可信。使用 inspect_backends.py 做導入與方法存在性檢查在不構造 backend 的前提下檢查導入與方法是否齊全可以運行python3 skills/pylabrobot/scripts/inspect_backends.py \ --expected-version 0.2.1 --strict關鍵保證來自腳本實現與測試的雙重確認檢查器不調用setup()不做任何串口/USB/網絡連接。它通過importlib.metadata讀取已安裝版本與元數據見 inspect_backends.py用inspect.signature記錄類簽名用hasattr反射核驗方法存在性。輸出 JSON 報告中明確包含connection_attempted: false、serial_usb_network_access: false、backend_instances_created: 0三個字段見 inspect_backends.py作為未發生任何硬件訪問的可審計證據。測試 tests/pylabrobot/test_clis.py 中的test_backend_inspector_never_connects專門斷言了這一行為無論是否安裝了 PyLabRobot檢查器都不產生連接嘗試。--strict模式下當包缺失、版本不匹配或符號導入失敗時以退出碼 4 失敗--expected-version必須使用X.Y.Z數字形式版本號正則見 inspect_backends.py。如果 PyLabRobot 尚未安裝腳本同樣輸出 JSONinstalled: false并給出提示幫助類 CLI 依然可用不會阻塞純規劃的離線流程。這也與本技能離線優先的整體設計一致所有捆綁 CLI 均使用嚴格、有界的 UTF-8 JSON/CSV、本地非符號鏈接路徑、固定允許列表與 JSON 輸出且沒有任何一個 CLI 能選擇實時 backend詳見 SKILL.md 的 Offline-first workflow 一節。穩定版讀板機支持清單0.2.10.2.1 穩定版 supported-machines 頁面記錄的支持情況如下Full完整支持Mostly大部分支持Basics基礎支持廠商與型號支持級別覆蓋能力BMG Labtech CLARIOstar (Plus)Full吸收、熒光、發光Agilent/BioTek Cytation 1 與 Cytation 5Full吸收、熒光、發光、顯微成像Agilent/BioTek Synergy H1Full—Byonoy Absorbance 96 AutomateFull—Byonoy Luminescence 96 與 Luminescence 96 AutomateFull—Molecular Devices SpectraMax M5eFull—Molecular Devices SpectraMax 384plusFull—Molecular Devices ImageXpress PicoBasics—Tecan Infinite 200 PROMostly—需要注意的邊界已安裝的 0.2.1 包還會導出ExperimentalTecanInfinite200ProBackend與ExperimentalSparkBackend兩個符號。Experimental前綴是有含義的0.2.1 的變更日志記錄了 Infinite 200 PRO 與 Spark backend 的新增但這不應被拔高為通用/完整支持的聲明。支持是型號相關的。在具體型號上還需要確認串口/FTDI/USB/SiLA/顯微成像等附加能力、固件版本、儀器選件、板型plate types、光學與檢測方法是否滿足需求——以對應型號在穩定版頁面上的記錄為準。讀板機真實運行檢查清單Live-run checklist任何另行授權的連接或讀取之前必須逐項確認儀器本體型號、序列號/設備 ID、固件、已批準的傳輸方式、獨占控制權以及當前的校準/QC 狀態。板與耗材制造商/目錄號、板型format、材質、底部類型、蓋子/封膜、朝向、條碼以及正確的就座seating。讀取模式與單位波長、焦距高度focal height、增益、閃爍次數flashes、積分時間、振蕩、溫度、動力學、注液器、孔位選擇與讀取方向等按適用情況。物理通路檢查托盤/艙門狀態與機械臂/人工的傳遞路徑防止在有關卡物時關艙門或在設備處于活動狀態時移動板子。質控體系包含空白blanks、標準品standards、對照controls、預期范圍、飽和規則與接受標準。數據先行在派生分析之前保存原始數據與完整的設置記錄。最后一條硬性紅線打開/關閉托盤屬于物理運動絕不能僅僅為了測試連通性而調用。電子天平Scales穩定前端from pylabrobot.scales import Scale0.2.1 已核驗的方法get_weight(**backend_kwargs) - float tare(**backend_kwargs) zero(**backend_kwargs)型號相關 backend 從穩定版 README 中導入from pylabrobot.scales.mettler_toledo import MettlerToledoWXS205SDU規劃階段不要實例化它也不要調用setup()。穩定版 supported-machines 將Mettler Toledo WXS205SDU列為Full支持。倉庫中的后端檢查腳本對Scale核驗的方法集為(setup, stop, get_weight, tare, zero)見 inspect_backends.py與上述已核驗方法一致。真實稱量前的核對項儀器型號、端口、單位、分辨率、量程、校準、水平leveling、預熱時間與環境限制操作環境去皮容器tare container、穩定性/狀態標志、振動、氣流、靜電與蒸發返回值語義返回的是穩定值/凈值/毛重錯誤如何表示物理路徑放置/取出的路徑與碰撞間隙。質量 ≠ 體積質量不會自動等于體積。把克數換算成微升需要在相關溫度下經驗證的密度值 不確定度傳播。不要假設水的密度恰好是1 g/mL。這條提醒同樣適用于任何用天平間接定量體積的流程——先做密度標定再做單位換算。協調液體處理器與分析設備當讀板機、天平與移液工作站共處一個工作單元workcell時把每臺設備當作獨立的狀態機處理除非工作單元有經批準的互鎖interlock與調度器scheduler否則絕不重疊運動顯式轉移板的所有權在臺面deck、機械臂arm、讀板機、天平和操作員之間每一刻都要明確這塊板歸誰管核實門/托盤/料斗處于所需狀態使用唯一板 ID并記錄交接時間戳部分失敗時安全停止不要盲目重試一次測量或移動區分軟件層面的資源分配與物理層面板的實際位置——兩者可能不一致。最后一條安全底線一次 async 的 Python 調用并不會創造物理安全互鎖。任何實時運動都必須由物理裝置、傳感器與操作員流程來保證而不是靠代碼里的協程順序。數據完整性對每一次測量至少保留以下信息協議protocol與清單manifest的修訂版本PyLabRobot/backend 版本、儀器身份與固件版本板/條碼與孔位映射well map完整的采集設置與單位校準/QC 狀態、空白/對照、時間戳與錯誤/狀態字段未經修改的原始輸出及校驗和轉換代碼及其版本、被拒絕的/越界out-of-range的值。在把測量數據與樣本元數據做關聯join之前先驗證維度dimensions與孔位標簽well labels的一致性。從倉庫實現看清單manifest必須是可審計的這一要求在離線規劃 CLI 中體現得非常具體skills/pylabrobot/scripts/_common.py 用object_pairs_hook拒絕重復 JSON 鍵、用parse_constant拒絕非有限數值避免看似合法的壞數據混入輸入文件被限制為當前工作目錄內的普通文件、拒絕符號鏈接與父目錄穿越且不超過 2MB見 _common.pytests/pylabrobot/test_clis.py 的test_duplicate_json_key_is_rejected與test_parent_directory_traversal_is_rejected分別驗證了這兩類數據污染會被拒絕一個可參考的 manifest 結構樣例見 tests/pylabrobot/fixtures/protocol_manifest.json其mode必須為offline、constraints.requires_human_confirmation必須為true這是把規劃與真實執行隔離的強制約束。換句話說數據的可審計性不是靠紀律而是靠工具鏈的強制約束——這與你寫測量記錄時保留原始輸出與校驗和的紀律是同一件事的兩面。結語離線優先、型號相關、安全至上綜合本技能對 PyLabRobot 0.2.1 的核驗結論分析設備前端讀板機與天平API 以資源 backend 為核心構造時必須提供完整尺寸返回值約定、溫度/振蕩/光學等能力均隨 backend 與型號變化不能跨設備推斷在接入任何真實儀器之前用inspect_backends.py與PlateReaderChatterboxBackend完成純軟件驗證用本文的 live-run 清單與數據完整性清單做好記錄然后把物理執行交給經過授權的操作人員與安全互鎖機制。將軟件資源分配與物理板位置區分開、將規劃狀態與傳感事實區分開是安全使用分析設備模塊最核心的工程原則。深入閱讀分析設備參考 —— 本文的原始依據液體處理參考、資源參考 —— 移液與資源樹概念硬件后端參考 —— 各后端支持級別與真實運行門檻可視化參考 —— chatterbox、Visualizer 與仿真邊界離線 CLI 實現inspect_backends.py、_common.py測試證據tests/pylabrobot/test_clis.py、tests/pylabrobot/fixtures/protocol_manifest.json【免費下載鏈接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.項目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考