没有合适的资源?快使用搜索试试~ 我知道了~
≥≥软件X 17(2022)100991原始软件出版物SiLA 2 Manager用于快速器件集成和工作流程自动化Lukas Bromig,David Leiter,Alexandru-Virgil Mardale,Nikolas von den Eichen,Emmeran Bieringer,Dirk Weuster-Botz慕尼黑工业大学生物化学工程研究所,Boltzmannstr。15,85748 Garching,德国ar t i cl e i nf o文章历史记录:2021年3月9日收到2021年8月23日收到修订版,2022年保留字:实验室自动化设备集成SiLA2数据完整性生物技术生命科学软件框架Web应用程序IoTa b st ra ct将实验室设备快速集成到自动化工作流程中仍然是一个艰巨而耗时的过程。硬件供应商之间缺乏接口标准化,导致设备设置不灵活,软件解决方案高度定制且昂贵。因此,现有实验室控制系统(LCS)的实际集成能力在开发小型、快速和具有成本效益的自动化解决方案时是不够的。由于cGMP法规,数据完整性以及软件系统和工作流程文档的重要性日益增加,因此需要结构化,可靠和透明的中间件解决方案。SiLA 2 Manager使用新兴的SiLA 2标准,为设备发现、管理和工作流设计提供了一个精简且可扩展的框架,从而弥合了物理设备和更高软件级别之间的差距。这款物联网(IoT)应用可实现对SiLA 2设备的即时控制,并确保用户友好的实时数据收集和存储。版权所有©2022作者。由爱思唯尔公司出版这是CC BY-NC-ND下的开放获取文章许可证(http://creativecommons.org/licenses/by-nc-nd/4.0/)。代码元数据当前代码版本v1.0指向此代码版本所用代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-21-00051Code Ocean compute capsulen/a法律代码许可证MIT使用Git的代码版本控制系统使用Python、Typescript、Shell、Bash、HTML、Angular、FastAPI、Docker、SiLA 2、PostgreSQL、Redis、InfluxDB、Nginx的软件代码语言、工具和服务编译要求,操作环境依赖性Linux,类Unix,Microsoft Windows,如果可用,链接到开发人员文档/手册Python 3.7,node.js 12https://sila2-manager.readthedocs.io/en/latest/问题支持电子邮件lukas. tum.de软件元数据当前软件版本v.1.0此版本可执行文件的永久链接https://gitlab.com/lukas.bromig/sila2_manager法律软件许可证MIT计算平台/操作系统Linux,类Unix,Microsoft Windows安装要求依赖项请参阅安装文档和requirements.txt如果可用,请链接到用户手册https://sila2-manager.readthedocs.io/en/latest/问题支持电子邮件lukas. tum.de*通讯作者。电子邮件地址:dirk. tum.de(D. Weuster-Botz)。https://doi.org/10.1016/j.softx.2022.1009912352-7110/©2022作者。由爱思唯尔公司出版。这是一篇开放获取的文章,使用CC BY-NC-ND许可证(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxLukas Bromig,David Leiter,Alexandru-Virgil Mardale et al.软件X 17(2022)10099121. 动机和意义在过去的二十年里,生命和化学科学的商业和学术环境中的实验室自动化已经获得了发展势头[1,2]。化学和生物化学实验室的过程并行化和小型化趋势,加上基于软件辅助实验规划的实验设计(DoE),要求越来越多的自动化实验设置和先进的数字设备交互能力[3主要的驱动力不仅是提高效率和吞吐量,而且是自动化文档和减少人为错误。监管机构已扩展其指南,以跟上实验室自动化的技术进步,不仅包括审计跟踪文件,还包括软件和计算机化系统的文件和验证(cGMP,EudraLex)。越来越详细的文件要求只能通过数字化系统有效地满足[7背景和问题说明实验室环境中的计算机化系统是由若干子系统组成的系统结构。它们的范围从企业或实验室级的信息管理系统(LIMS)到实验室或过程控制软件,再到设备级的所谓中间件。在大多数情况下,过程控制软件直接集成必要的设备,而不使用指定的中间件。突出的例子是液体处理站,其与几个外围设备一起操作,并且需要专用软件来操作。访问相应的外围设备只能通过供应商的软件接口。新设备的集成是困难的,并且由于软件的封闭源特性,需要应用专家。此外,这样的软件解决方案通常缺乏适当的应用编程接口(API),用于与其它过程控制软件进一步集成或集成到更高级别的组织系统(例如LIMS)中。对于独立的实验室设备,存在各种供应商特定的专有软件和硬件接口。结合多种设备来创建自动化工作流程的定制解决方案具有较长的开发时间,并且需要编程和软件工程专业知识。这使得将单个设备集成到自动化工作流程中成为一项艰巨的任务。各种独立设备的相互组合,如带有机械臂的数字秤或将不受支持的第三方设备集成到液体处理站(LHS)中,可以实现更高效的操作模式。然而,缺乏标准化的设备接口和适当的中间件仍然阻碍了自动化工作流程的发展[10,11]。因此,大型自动化系统在软件和硬件复杂性方面都在增长单个设备的更换或升级并不简单,最常用的闭源、非模块化软件解决方案导致代码可重用性低和长期维护成本高[12,13]。由于缺乏硬件接口标准化,大多数商业自动化解决方案关注于工作流和审计跟踪文档或数据和用户管理,而不是用于硬件集成的基本中间件。尽管最近在高通量系统技术方面取得了进步,自动化产品范围不断扩大,但实验室自动化仍然经常局限于定制的孤岛解决方案[2,7]。这些解决方案,无论是作为封闭式系统还是开放式系统实现,都是高度不灵活的,并且开发成本很高。自动化任务所产生的成本与相应的手工劳动的成本相比,即,一重复次数与任务复杂性之间的权衡直到今天仍然定义了这种折衷是一种旧的范例,它可能适用于高通量站,但在考虑整个实验室环境时却不适用。在实验室自动化中有许多方面需要考虑,例如获得灵活性,可替换性,集成到现有系统中,节省时间并因此具有竞争优势,最大限度地减少人为错误,减少样品量和数据完整性[12,14,15]。通过使用创新软件直接进行设备集成来降低开发成本,将使实验室自动化更加经济实惠,并带来上述好处。实验室数字化可能是压倒性的,分布式计算(REST,SOAP,JSON-/XML-RPC,gRPC),编程语言和数据库类型的架构解决方案的组合数量是巨大的开发集成所有类型设备的定制解决方案是可能的,并已由Porr等人(2020)[11]证明。然而,这样的解决方案在复杂性和维护工作方面迅速增加,使得快速集成变得困难。实验室自动化不应该是问题,而是解决方案。根据简约法则,减少上述复杂性,任何自动化解决方案的首要任务。融合最少数量的网络协议、编程语言、数据库和整体软件依赖性是该软件提案的一个关键目标。实验室自动化标准化-SiLA 2设备集成需要关于所使用的通信协议的复杂知识。从用户的角度来看,这将像'' Start_pump ''这样的简单命令变成了一个编程挑战,例如字符串解析、校验和计算、数字系统转换以及线程安全或缓冲区队列大小的问题。此外,一个设备的集成解决方案可以转移到具有相同功能但来自不同供应商的另一个设备的直观假设立即失败 如果对文档的第一眼就发现使用了两种完全不同的通信协议,那么开发工作量就会加倍。在理想情况下,最终用户不应该担心这种集成复杂性,为特定任务编写的工作流脚本应该只关心设备类型,而与设备品牌无关。然而,现有接口的时间和结构行为有很大的不同,错误消息和错误处理功能通常与第三方产品不兼容。引入标准化设备接口作为额外的抽象级别解决了这些问题,并将用户的工作量减少到简单的标 准 化 接 口 的 应 用 , 如 非 营 利 会 员 组 织 SiLA ( SiLA ,Rapperswil-Jona,Switzerland)所建议的,可以大大降低自动化解决方案的复杂性和开发时间。SiLA 2提供了快速集成工具,并为具有即插即用功能的新一代实验室设备提供了与设备无关的综合中间件平台根据该标准,每个设备都被实现为SiLA服务器,该服务器将其服务作为一组功能在网络每个功能都包括一组功能相关的命令和属性,可供客户端调用。SiLA设备是SiLA服务器的特殊情况网络通信基于gRPC通过HTTP/2。客户端可以合并到更高级别的软件中,例如LIMS或PCS,或者在所提出的中间件软件的情况下,简单的工作流脚本[14,17Lukas Bromig,David Leiter,Alexandru-Virgil Mardale et al.软件X 17(2022)1009913嵌入式SiLA 2兼容设备的数量正在稳步增加,但由于硬件供应商尚未完全投入资源进行内部实现,因此采用仍处于起步阶段。然而,由于SiLA是硬件接口问题的软件解决方案,因此任何传统器件都可以以快速且具有成本效益的方式转换为SiLA 2器件,如Porr等人(2020)[20]所示。这使得实验室硬件的每一部分都成为自动化工作流程的潜在补充。向前移动,实现实验室设备的SiLA服务器将被称为服务。目前正在努力指定基于OPC-UA的标准,该标准广泛用于密切相关的过程工业。OPC-UA实验室不可知设备标准(LADS)可能在未来与SiLA 2竞争[21]。期望和与现有工具的一个现代化的过程控制软件框架应该是模块化的,并基于行业标准。所使用的技术必须被广泛采用,以确保长期支持,并且作为软件本身,必须是开源的,以确保透明度并减少对第三方公司的依赖。开源软件-成功的开源软件的突出例子是Linux或数据库MySQL和InfluxDB。限制设备访问已安装软件的教条在本地电脑上是过时的。本地网络应以设备即服务的方式访问设备。因此,控制软件应该容易从任何合格的终端用户设备访问。这种基于Web的概念的另一个主要优点是操作系统或平台的独立性。在信息时代,所有数据都很重要,数据记录应该从最低级别开始:设备级别。原始数据和元数据不仅应在受监管的环境中收集,还应在学术界和研究中收集[15]。收集全面的数据集非常耗时,并且容易出现人为错误。因此,任何实验室软件都应该能够将某些数据流链接到可以连接到实验室或公司LIMS的选定数据库。SiLA浏览器(UniteLabs AG,Basel,Switzerland)是一款免费使用的闭源物联网应用程序,可发现和直接控制SiLA 2设备。然而,由于缺乏脚本环境或工作流编辑器,它不适合工作流自动化 。 其 他 著 名 的 闭 源 软 件 解 决 方 案 是 niceLab ( EQUICONSoftwareGmbH,Jena,德国)和zenLab®( InfoteamSoftwareAG ,Bubenreuth ,德国 ), iLab 的 继任者[23],而zenLa b®,一个可扩展的中间件自动化框架,如下的核心原则与建议的软件相似,但附带专有供应商软件的限制。SiLA 2 Manager为研究人员、工程师、教育工作者和小型实验室提供了一个免费的开源替代方案,以自动化他们的工作流程。与SiLA浏览器相比,该软件是一个功能开源的替代方案和巨大的扩展。由于计算机和编程技能水平低,实验室环境中与新软件解决方案有关的劳动力变革管理这进一步提高了标准化的、即插即用的设备界面和直观的图形用户界面的重要性需要直观的、基于浏览器的解决方案,提供易于访问的设备即服务功能,以将实验室环境转变为自动化工作空间[24]。2. 软件描述2.1. 软件构架SiLA 2 Manager基于客户端-服务器架构,具有python后端和typescript前端。用户通过基于Web的前端与软件交互,前端通过HTTP 和 WebSockets 与 后 端 API 通 信 。 前 端 使 用 开 放 授 权 协 议OAuth2进行保护。授权用户的身份验证通过发布JSON Web令牌来管理。可以配置自动令牌超时和续订策略以满足所需的安全级别。图1示出了用户与所涉及的软件系统之间的关系。用户通过使用基于web的图形界面来与应用交互,以发现和控制可用的服务或执行实验脚本。SiLA 2 Manager依赖于多播DNS服务发现(zeroconf),发现默认情况下组播其服务的SiLA服务器。一个通用的SiLA 2python客户端使用提供的信息连接到任何发现的服务。连接后,用户可以探索设备功能,执行命令并将设备集成到实验工作流脚本中。此外,委员会还认为,SiLA2服务可以被链接关于InfluxDB数据库(v.1.7)[25]自动存储实验期间选定的过程信息。该存储的服务数据(例如来自设备)可以从具有相应python数据库客户端的脚本环境存储的信息也可以通过基于Web的数据库浏览器chronochrome访问和可视化,这是influxdata堆栈的一部分。为了允许进一步的扩展和定制,前端和后端已经严格分离。python后端使用FastApi web框架通过HTTP和WebSocket将数据传输到Angular前端。图图2显示了系统的不同组成部分以及它们之间的相互作用。每个组件都是一个容器,例如模块,可以独立执行。为了存储持久的应用程序数据,例如服务或预订信息,使用关系SQL数据库,因为它具有高可靠性,保证数据一致性和易用性。除此之外,关系数据模型能够有效地连接不同表中的行,因此非常适合SiLA 2 Manager的持久应用程序数据。开源数据库PostgreSQL(v.13)之所以被选中,是因为它速度快,并且具有出色的SQL一致性[26]。大多数No-SQL数据库替代方案受益于高水平可扩展性,即它们可以将数据分布在许多服务器上并对访问进行负载平衡。然而,这并没有为所提出的用例提供任何真正的好处,因为没有大型分布式数据集。更难以确保精确的数据一致性的缺点将超过NoSQL数据库类型的水平可扩展性所提供的优势此外,具有非常松散定义的非结构化数据结构的能力是没有益处的,因此不是所呈现的应用的相关决策标准。该应用程序由几个子流程组成,如图所示图二、内存数据库Redis(v.6.0.9)被用作消息代理来实现进程间通信。选择内存中的No-SQL数据库而不是SQL数据库,因为需要系统的两个组件之间的信息传输,而不是持久存储。Redis是一个完善的高性能数据库[27]。与其他消息传递库相比,Redis的一个主要优势是可以用于其他复杂操作,例如快速内存存储或缓存。用户提供了一个Angular客户端,可以轻松访问通过HTTP公开的系统功能Lukas Bromig,David Leiter,Alexandru-Virgil Mardale et al.软件X 17(2022)1009914Fig. 1. 显示软件范围及其与用户和其他软件系统的关系的上下文图。用户通过以下方式与软件交互:并且可以通过数据库的web前端查看过程数据。SiLA 2管理器通过SiLA服务器的mDNS多播服务器注册发现网络中的新服务,并使用通用SiLA客户端通过gRPC连接到服务。记录的过程数据从SiLA 2 Manager到选定的InfluxDB数据库。图二. S i L A 2管理器的容器图是图1中介绍的软件系统的详细说明。1.一、Web前端对后端API。API将这些调用转发到主要的子系统,即服务管理器。PostgreSQL数据库用于存储与应用程序相关的数据。临时快速变化的数据存储,如设备状态和日志数据,由内存数据库Redis通过使用发布和订阅(PUBERRY)通道来处理。调度器是一个独立的服务,它控制Docker容器中的实验,并通过数据处理程序启动数据传输Lukas Bromig,David Leiter,Alexandru-Virgil Mardale et al.软件X 17(2022)1009915图三. 主页显示已注册的服务和服务树的顶层,顶层包含有关服务功能、命令和其他信息的详细信息。及特性.通过FastAPI Python框架实现类似REST的API。服务管理器处理网络上的服务的检测、与服务的通信、以及去往和来自PostgreSQL数据库的持久信息(例如,服务、实验和时间序列数据库连接细节)的存储和检索。角度前端由nginx提供[28],它也被用作FastApi后端的反向代理。选择Angular是因为它是一种经过验证的创建现代单页Web应用程序的技术。调度程序是一个独立的子进程,负责实验的执行以及数据处理程序和Docker容器的初始化。调度程序定期检查PostgreSQL数据库中的新实验预订条目,并将其在内存调度列表中排队。通过提供的启动和停止实验的按钮,用户可以通过到后端的WebSocket连接直接与调度器交互,后端本身通过内存数据库Redis与独立的当一个实验准备好被调度时,调度器从PostgreSQL数据库加载相应的数据和脚本,并启动一个Docker容器和一个相关的数据处理进程。用户提供的脚本包含一个预定义的入口点,该入口点使用实例化设备对象的字典及其名称作为参数进行调用。Docker容器用于执行Python脚本。SiLA服务可以整合到该用户脚本中以控制实验室设备。实验相关的脚本和服务数据从SQL数据库加载,并在实验开始时作为tar存档文件复制到docker容器中。Docker允许单独执行Python脚本;因此,脚本不能相互干扰或危害主机系统。容器也可以独立于主机操作系统运行。这对于保证服务器的安全性和稳定性至关重要。使用默认的python docker镜像(Python 3.8.3-alpine),因为它是大多数用例的适当基础镜像,并且基于精益Alpine Linux发行版。与此同时,数据处理程序启动,并定期将用户指定的数据从服务保存到InfluxDB时间序列数据库中。轮询间隔和要存储的数据的选择在数据处理程序中配置。有关软件架构、初始化过程和几个应用程序示例的详细文档,请参见Git存储库中的软件文档或readthedocs.io(https://sila2-manager.readthedocs.io/en/latest/)上的在线文档。2.2. 软件功能显示SiLA 2 Manager软件的主页图3,登录后可通过输入IP在任何现代浏览器的URL地址栏中,主机计算机的默认端口后跟默认端口,例如本地主机的127.0.0.1:4200。有六个主要选项卡,每个专用于一个核心功能,以及一个包含说明和其他信息的关于页面。核心组件包括:服务、日历、实验、日志、数据库和日 志 。 用 户 管 理 和 用 户 身 份 验 证 在 选 项 卡 Admin Area 和Login/Logout中处理。主页面是服务选项卡,其中显示了所有已注册的服务和各自的重要信息。新的服务被发现并添加到这个视图中,服务的扩展卡将打开更详细的服务树视图和交互式命令执行环境。服务管理器和浏览器-服务该软件的核心功能是服务发现、控制和管理。所有这些都可以在主页上找到可以通过使用发现模式或手动指定服务器地址和IP来添加SiLA服务。先前添加的SiLA服务如图所示。3 .第三章。添加新服务时,服务发现会启动对本地网络的扫描,并返回其中已注册的SiLA服务器。SiLA服务在单播域名系统(DNS)服务器上注册,并且可以通过它们的主机名来标识,该主机服务被分配了服务器名称,但可以在添加时重命名。此外,服务被分配了一个内部通用唯一标识符(UUID),服务详细信息存储在PostreSQL数据库中。动态SiLA 2 python客户端用于与服务建立连接,并访问有关已实现特性和功能的信息。根据SiLA标准,SiLA服务的特征用基于扩展标记语言XML的特征定义语言(FDL)几个FDL文件描述了服务的全部功能。在与SiLA 2服务器的初始连接期间,通 过 调 用 SiLAService 功 能 的 标 准 函 数 来 查 询 这 些 文 件 ,SiLAService功能与SiLA 2服务器的所有进一步通信都由动态客户端实现,该客户端是SiLA 2 python库的一部分其他实现,如C#和C++,也提供了一个通用(动态)客户端作为分发的一部分Lukas Bromig,David Leiter,Alexandru-Virgil Mardale et al.软件X 17(2022)1009916见图4。服务树的底层允许直接执行命令和属性调用。如果没有为命令调用提供参数,则将使用默认参数。对于设备服务,意外执行可能会产生严重的不良后果;因此,必须确认执行新设备将出现在服务列表中,如果成功建立连接,将显示为联机。单击服务名称或信息图标,服务详细信息树将展开,如图所示。四、 服务树显示了服务的所有已实现的功能以及它们所包含的功能。根据SiLA规范,SiLA服务必须实现包含功能相关的命令和属性的功能,这些命令和属性可以是可观察的或不可观察的。默认情况下实现标准功能,而自定义功能则是特定于设备的。每个功能都可以进一步扩展以显示命令和属性调用信息。虽然服务属性是静态的(例如设备序列号)或动态值(例如设备时间或状态),但命令需要随命令调用提供参数。需要特殊安全考虑的设备可以通过在该设备的SiLA服务器中强制纳入SiLA标准功能“AuthenticationFea-ture”和“LockFeature "来进一步保护脚本编写环境-Linux脚本环境使用户能够编写自动化脚本,其中包含注册的服务,如图所示。五、与设备特定供应商软件相比,脚本环境的功能是非限制性的。可以使用嵌入式python编辑器上传、创建和编辑每个用户只能访问自己的脚本,以避免不必要的访问或脚本执行不合格的用户。该编辑器基于开源的monaco代码编辑器,并支持类型提示,自动完成和基于python的脚本的语法控制。设备会自动实例化,并且可以使用通用客户端的SiLA python语法调用命令和属性。 为了便于使用,在每个调用的服务详细信息视图中明确说明了各自的用法语法。外部数据源和非标准python包可以导入,但必须在dockerfile中指定。工作流程创建-实验进程可以通过调度实验来执行。实验由实验名称、开始和结束日期、工作流脚本和服务选择组成。可以添加新的实验,这将打开实验定义窗口(图1)。6)。在此窗口中,选择要执行的所需脚本以及所需的服务。指定进程的开始时间和预期结束时间使用的服务将是为所请求的时隙预留和阻塞。在执行时,指定的脚本在Docker容器中运行,服务在服务列表概述中标记为自动化实验工作流程需要访问设备服务、协调设备操作的脚本以及存储相关信息的数据库。实验视图使用户能够设置这样的工作流并安排其执行。在商业环境中,工作流程的每个部分,即设备的SiLA 2服务器和工作流脚本将需要进行验证,并且通过使用内置的用户管理和认证系统来限制对这些工作流的访问。Experiments选项卡的主视图显示计划的实验列表,并附有最重要的信息,如实验的开始和结束时间、预订的服务、用户脚本和实验的当前状态。预定的实验会在日历视图中自动创建一个预订条目。可以通过按下播放图标在预定的开始时间之前开始实验。运行中的实验可能会过早中止。嵌入式终端显示Docker容器的输出,以观察脚本执行的当前预订和日历概述-日历如果一项服务被分配给一个特定的实验,是为整个实验时间段自动创建的。只有在整个实验开始和结束时间都可用的情况下,才能将服务分配给实验。计算页面将这些预订可视化,并为用户提供有关预订的其他信息,例如相应的实验、脚本和创建它的用户。此外,可以手动创建预订。在未来的版本中,共享或兼职服务访问也将可用于预订。可以手动删除预订。即使是自动创建的预订也可以删除。然而,这将绕过内置的安全机制,并可能导致多个实验脚本同时访问服务,因为脚本一旦启动就不再与预订系统通信。如果SiLA服务实现虚拟设备或某个其他软件解决方案(诸如DoE或数据分析软件),则这可能是期望的数据库连接-数据处理程序默认情况下启用数据收集,但用户应指定收集哪些数据。 这个配置是在数据处理器页面上完成的,如图所示。7 .第一次会议。InfluxDB数据库可以Lukas Bromig,David Leiter,Alexandru-Virgil Mardale et al.软件X 17(2022)1009917图五. 交互式代码编辑器用于查看、创建和编辑工作流脚本。可以上传和保存图片。 设备服务被自动实例化并作为属性传递给run()函数。它们可以按分配顺序通过键索引访问(顺序见实验概述)或按密钥名称,该名称与服务列表概述中列出的设备服务的名称相同。在这个示例代码片段中,蠕动泵是导入执行get和set命令以演示接口语法。命令语法显示在详细的服务列表视图中(见图1)。(4)对于每个命令都可以进一步简化过程。见图6。 通过选择工作流脚本、使用的服务以及指定执行的开始时间和预期的结束时间来定义示例实验时间脚本的日志输出被转发到前端,当实验扩展时,可以在终端中查看注册并链接到服务。InfluxDB是一个时间序列数据库,非常适合实验时间序列数据[29,30]。要使用此功能,InfluxDB服务器必须在网络中运行。向SiLA 2 Manager提供连接详细信息就足够了可以选择添加用户名和密码以增加安全性。通过单击链接符号,可以将已注册的数据库链接到服务以设置自动数据传输。当服务预订开始时,即开始使用服务的实验时,开始数据传输。数据处理程序将在用户指定的轮询间隔内重复执行SiLA调用,并将响应存储在链接数据库中,并将实验名称、服务名称和用户名作为标签。有几个选项可用于配置数据调用、数据类型和轮询间隔。SiLA 2 Manager与服务无关,单个调用的功能响应未知。因此,用户必须指定应定期执行的呼叫,并且必须停用不需要的呼叫,例如某些设置命令。如果要调用设置命令,可以提供一个参数。大多数类型的数据可以分为元数据或测量数据。通常,元数据不需要频繁查询。在大多数情况下,请求Meta数据(设备ID、校准数据等)每小时一次或一开始就一次一个实验就足够了。测量数据(温度、压力等)相反,通常会更频繁地询问。数据处理程序区分这两种数据类型。由于无法以可靠的方式自动区分调用查询的数据类型,因此用户可以使用元复选框指定每个命令的类型。根据选择,执行默认值(元数据为1 h,测量数据为30 s)。不同的用户对轮询间隔有不同的需求因此,可以覆盖默认值以根据自定义轮询间隔传输数据Lukas Bromig,David Leiter,Alexandru-Virgil Mardale et al.软件X 17(2022)1009918见图7。数据处理程序配置的服务树。可以为每个属性和命令停用/激活数据传输。用户分配一个元数据或测量数据标志,用于确定所使用的轮询间隔。如果未提供自定义轮询间隔,则使用默认轮询间隔。一些命令与大多数set命令一样,调用可能需要附加参数。上面的示例显示了链接到InfluxDB的已配置废气分析设备。与气体浓度、压力和湿度相关的传感器结果以30秒的默认非元数据间隔进行轮询数据处理程序配置存储在PostgreSQL数据库中。图7中示出了数据处理程序服务树的较低级别。自定义配置对于禁用不希望执行的设置命令或存储不必要的数据至关重要。数据处理程序简化了数据采集,并鼓励收集所有数据和元数据,以提高数据完整性。将数据采集与实验中使用的用户脚本分离有几个优点:1. 查询调用不是用户脚本的一部分,这提高了可读性并使脚本更短。2. 减少操作员需要编写的代码量。3. 数据采集外包给一个单独的过程。通过这种方式,可以保证在实验崩溃的情况下继续进行数据采集。4. 数据可以通过相应的python客户端库从用户脚本中轻松访问。在应用程序的“”部分中提供了一个示例脚本2.3. 示例和应用用例示例用例用例可以从非常简单的常规任务扩展到高度复杂的事件驱动的过程控制工作流。一个简单的用例是预定的设备校准(例如,数字秤)或自我维护/清洁任务,或收集基本的感官实验室数据,如室温和压力。设置后者将是最简单的用例。将传感器设备添加到SiLA 2 Manager,自定义要收集的数据,将设备链接到数据库,使用空脚本安排实验数据处理程序现在将收集设备的数据和元数据并将其存储在数据库中。应用用例间歇补料对微生物发酵过程的影响是成功放大的关键因素在生物过程开发中,仍然是一个活跃的研究领域[31,32]。经常变化的营养物质可利用性导致快速变化的代谢状态,并可能导致种群异质性[33]。可以在实验室规模的平行反应器系统中研究间歇底物进料对微生物工艺性能的影响,以模拟由于非理想混合引起的营养物梯度而在大规模反应器中的准间歇进料。使用由LHS(Hamilton STARLet,Hamilton Bonaduz AG,Bonaduz,Switzerland)自动化的具有48个mL规模的单次使用搅 拌 罐 反 应 器 ( BioREACTOR 48 , 2mag AG , Munich ,Germany)的并行化和小型化生物反应器系统能够快速分析工艺参数空间,从而量化底物进料策略对产物形成和群体异质性的影响。在该应用实施例中,针对底物进料间隔的选择进行放大实验,以确保观察到的对微生物蛋白质表达的影响是变化的进料间隔长度的影响,并且该影响与反应器尺寸无关。为了实现这一点,必须尽可能在L尺度上模拟衬底馈送策略。通过移液机器人的脉冲添加实现mL规模的底物添加。动态调度算法协调该进料事件与其他任务,例如采样、在线测量或pH控制,导致进料间隔持续时间的微小变化目前的挑战是将这些不规则事件直接转化为L尺度上的泵作用实验装置由具有四个生物反应器的平行搅拌罐生物反应器系统( DASGIP 平 行 生 物 反 应 器 系 统 , Eppendorf , Hamburg ,Germany)组成,其连接到专有控制计算机和废气分析装置。供应 商 软 件 DASware®control ( DASware®control , Eppendorf ,Hamburg,Germany)及其集成的OPC-UA接口用作DASGIP生物反应器的SiLA服务器的接入点Lukas Bromig,David Leiter,Alexandru-Virgil Mardale et al.软件X 17(2022)1009919±±系统用于底物添加、pH控制和消泡剂添加的蠕动泵Porr等人(2020)[20]提供的基于BeagleBone Green微型计算机的网关模块通过RS-232连接到尾气分析装置相应的SiLA服务器由微型计算机托管,并使用串行接口进行设备控制。这两个SiLA服务器都基于开源SiLA python存储库的sila2lib 0.2.5版本,代码是使用pythonsila2codegenerator 0.2.0版本生成的。L规模反应器系统的供应商软件仅提供有限的脚本能力。不可能安排重要的底物添加事件,特别是如果基于外部文件。此外,所使用的废气分析来自不同的供应商(BlueVary,BlueSens,Herten,Germany)。尽管在该特定使用情况下废气浓度不主动用于过程控制,但期望将所有生成的数据存储在单个源中并监测来自单个源的所有生成的数据,所述单个源即实验室数据库(InfluxDB,Influxdata,San Francisco,USA)。 在此设置中,SiLA管理器用于两台设备的数据和元数据采集以及进料泵事件 的 高 级 编 排 , 而 pH 、 DO 和 温 度 控 制 等 简 单 任 务 则 由DASware®控制执行。使用SiLA 2 Manager建立完全控制是可能的,但没有实现以保持应用示例尽可能简单。生成的工作流以python脚本的形式编写,并上传到SiLA2Manager。启动DASware®控制,建立并验证设备连接。在预定的实验开始时间,Docker容器被创建,用户脚本被自动执行。在mL规模的48个前述实验期间由液体处理站进行的底物添加被存储在相同的数据库中,用于这个实验。因此,可以使用用户脚本内的influxdb客户端从数据库中容易地提取离散进料事件的时间戳和添加的基质体积。出于简单性和可重复性的原因,选择了不同的方法来利用Docker环境中所需的数据。在BioRE-ACTOR 48中的实验期间,从数据库中以csv文件格式提取关于底物进料事件和体积的实验数据,并手动移动到docker环境目录的数据文件夹中。csv文件作为Git存储库中的用例示例的一部分提供。此目录中的文件会自动移动到docker容器中。此功能使用户能够从脚本环境中访问任何类型的文件。控制上的底物添加事件所需的任何逻辑L-scale基于提供的数据,并在python用户脚本中先验定义根据数据处理器设置中选择的标准,两个设备(反应器系统和废气分析设备)的数据采集自动启动。因此,无需在工作流脚本中指定与数据采集相关的通过嵌入式终端在实验页面上监控工作流程进度所有与过程相关的数据都与相应的实验和用户标签一起存储,以实现快速和快速的数据选择。关于设备和数据库集成的更多工作流脚本示例以及上述用例的简化版本可以在项目Git存储库的example文件夹中找到。图 8显示了在用E. 大肠杆菌在培养的短窗口期间,并在mL和L尺度上比较了对葡萄糖喂养事件的即时分解代谢反应。可以看出不规则的葡萄糖供给事件可以彼此同步见图8。间歇性葡萄糖补料事件对溶解氧水平的影响显示为E. 大肠杆菌中的浓度。新闻动态()在mL尺度上分布不均匀(由于动态特性,移液机器人的任务调度算法。使用蠕动泵尽可能接近L-规模(EXP)模拟进料模式,以研究规模扩大的限制/标准。产生的DO偏移是由不同的氧转移速率引起的。设定mL和L规模的搅拌器速度分别在3000 rpm和1100 rpm反应,即溶解氧浓度。剩余的干细胞质量浓度在估计范围错误(14. 30 的情况。4gL-1的mL-和15。80 的情况。9gL−1,L规模,培养时间为24.3小时)。本用例仅涉及两种器械。一个更复杂的例子,包括更多的设备、基于事件的操作和主动使用流入数据进行流程控制,已经超出了本文的范围然而,所提出的例子清楚地表明了简单的集成和自动化,集中的数据采集的优势。3. 影响所提出的软件能够自动化和数据采集的共同任务和复杂的科学实验。基于SiLA 2标准,它减少了实验室设备的集成工作。其直观的GUI设计和可扩展的软件框架减少了从长远来看自动化实验设置所需的经验。设备集成与开发自动化工作流程分离。此外,它是一个有益的开发工具,用于测试自写的SiLA服务器。该软件在MIT许可下发布,允许在科学和工业中持续应用。解决一个共同的实验室挑战的结果在生物技术,生命和化学科学学科以外的广泛的应用4. 结论和未来发展申报的软件主要(但不限于)针对生命科学、生物化学科学和化学科学的实验室,这些实验室正在进行研究和开发,计划对其实验室基础设施进行升级,并创建自动化的、基于SiLA的工作流程,包括来自多个供应商的设备。编程无关的用户可以使用基本的SiLA浏览器功能及其服务发现和直接控制功能,而工作流创建需要Python编程语言的基本脚本经验。强大的脚本环境允许将实验室设备和数据库快速集成到自动化工作流程中,Lukas Bromig,David Leiter,Alexandru-Virgil Mardale et al.软件X 17(2022)10099110使用户能够使用全方位的python包。数据处理器组件支持数据库连接的简单
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 利用迪杰斯特拉算法的全国交通咨询系统设计与实现
- 全国交通咨询系统C++实现源码解析
- DFT与FFT应用:信号频谱分析实验
- MATLAB图论算法实现:最小费用最大流
- MATLAB常用命令完全指南
- 共创智慧灯杆数据运营公司——抢占5G市场
- 中山农情统计分析系统项目实施与管理策略
- XX省中小学智慧校园建设实施方案
- 中山农情统计分析系统项目实施方案
- MATLAB函数详解:从Text到Size的实用指南
- 考虑速度与加速度限制的工业机器人轨迹规划与实时补偿算法
- Matlab进行统计回归分析:从单因素到双因素方差分析
- 智慧灯杆数据运营公司策划书:抢占5G市场,打造智慧城市新载体
- Photoshop基础与色彩知识:信息时代的PS认证考试全攻略
- Photoshop技能测试:核心概念与操作
- Photoshop试题与答案详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功