gP2S 是跟踪低温实验的网络应用程序。其主要功能被描述,安装和配置应用程序所需的步骤也被描述。一旦配置,应用程序允许准确记录与负污渍和低温EM实验相关的元数据。
低温电子显微镜(低温显微镜)已成为许多药物发现项目不可或缺的一部分,因为蛋白质靶点的晶体学并不总是可以实现的,低温电子显微镜为支持基于结构的配体设计提供了替代手段。当处理大量不同的项目时,在每个项目中,潜在的大量配体蛋白共构,准确记录的保存会很快变得具有挑战性。许多实验参数针对每个目标进行调整,包括样品准备、网格准备和显微镜阶段。因此,准确记录保存对于实现长期可重复性以及促进高效团队合作至关重要,尤其是在不同操作员执行低温EM工作流程步骤时。为了帮助应对这一挑战,我们开发了一个基于网络的低温信息管理系统,称为gP2S。
该应用程序跟踪每个实验,从样品到最终原子模型,在项目的背景下,在应用中或外部在一个单独的系统中保留一个列表。用户定义的消耗品、设备、协议和软件的受控词汇有助于以结构化的方式描述低温EM工作流程的每一步。gP2S 可广泛配置,根据团队的需求,可能作为独立产品存在,或成为更广泛的科学应用生态系统的一部分,通过 REST API 与项目管理工具集成,跟踪蛋白质或小分子配体生产的应用程序,或自动收集和存储数据的应用程序。用户可以注册每个网格和显微镜会话的详细信息,包括关键实验元数据和参数值,并记录每个实验物的血统(示例、网格、显微镜会话、地图等)。gP2S 是一个低温EM 实验工作流组织者,可为团队提供准确的记录保存,并可在开源许可证下获得。
冷冻机设施的信息管理
从2014年开始,低温电子显微镜(低温EM)1 设施的数量呈爆炸式增长,全球至少安装了300个高端系统2个,其中包括制药公司的一些系统,反映出低温电子显微镜在药物发现3中的作用日益增强。这些设施的任务及其对数据跟踪和管理的要求各有不同。例如,一些国家的低温中心负责接收 EM 网格、收集数据集以及将数据返回给用户进行结构确定,也许在经过一些自动图像处理之后。在此类设施中,跟踪网格的来源、网格与用户建议或授予的关联以及从网格到数据集的血统至关重要,但其他因素(如蛋白质样本的纯化方法或最终结构确定过程)则不太相关,或者根本不相关。在其他设施(如当地学术设施)中,每个最终用户负责准备自己的样品和网格、进行显微镜检查、管理原始数据及其处理和公布结果。此类设施没有严格的元数据跟踪需求,因为此角色由最终用户或其首席调查员履行。
在我们的低温EM设施中,样品、网格、数据收集和处理协议以及结果(地图、模型)的处理和优化将集中在许多项目中,并集中到一小群从业者身上。这给实验(元)数据管理带来了挑战。必须通过网格制备参数和数据收集协议,准确捕获和保存结构的实验系,从原子模型一直到蛋白质和配体的确切身份。这些元数据必须提供给一些人工操作员。例如,进行图像处理的人可能需要知道使用了蛋白质的哪个构造以及成像参数是什么,即使他们既没有纯化蛋白质,也没有自己收集低温EM数据:信息学系统,如自动数据管理,需要识别显微镜目前正在收集数据的项目,以便正确和系统地分配目录名称。
有几个信息管理系统可用于支持低温EM设施。其中最完整的可能是EMEN25,它结合了电子实验室笔记本、信息管理系统和业务流程管理工具的某些元素。ISPyB6用于许多同步加速器,最初用于支持用于晶体学的 X 射线光束线,现在也支持低温图像数据收集。Scipion7 是围绕图像处理包的丰富而强大的包装,允许用户记录图像处理工作流程并共享它们,例如通过公共存储库 EMPIAR8、9,并且还与 ISPyB 集成,以便进行即时低温EM 数据处理。
在这里,我们描述了gP2S(Genentech蛋白质到结构),这是一个现代和轻量级的低温EM信息管理系统,用于支持从纯化蛋白和小分子配体到最终原子模型的工作流程。
gP2S 概述
gP2S 是一种用户友好型网络低温信息管理系统,为低温实验室和多用户、多项目设施提供准确的记录保存。跟踪以下实体、它们的关系和相关元数据:项目、设备、消耗品、协议、样品、网格、显微镜会话、图像处理会话、地图和原子模型。用户还可以添加免费文本评论,可选地包括文件附件,允许对在 gP2S 中注册的任何实体进行丰富的注释。前端设计用于触摸屏设备,并在 12.9″ iPad Pros 上进行了广泛的测试,因此在准备样品和网格(图 1)时,以及在计算机操作显微镜、处理图像或沉积模型时,可以在实验室的长凳上使用 gP2S。前端的每一页都旨在尽可能通过预先设置参数来将手动数据输入降低到合理的默认值。
gP2S 的后端具有多个 REST API(REpentent 国家传输应用程序编程接口)端点,因此能够将 gP2S 集成到现有工作流程和脚本中。数据模型旨在准确捕获负污渍和低温EM工作流程,例如,在多个网格上使用一个示例、多个显微镜会话的数据合并为单个数据处理会话,或生成多个地图的一个数据处理会话。
系统架构
gP2S 是一个经典的三层应用程序 (图 2)。在此模块化架构中,系统被分成三个独立的层,每个层负责执行不同的职责,每个层可替换或可修改,独立于其他层。(1) 演示层(或前端)通过 Web 浏览器(使用 Chrome 和 Safari 进行广泛测试)提供用户访问权限,允许创建和修改工作流元素(包括数据验证),并将实验数据显示为单个实体、基于项目的列表和完整的工作流程报告。(2) 服务层(或后端)是用户界面和存储系统之间的中间层 – 它具有核心业务逻辑,暴露了前端使用的服务 API,与数据存储和 LDAP(轻量级目录访问协议)系统集成,用于用户身份验证,并为与外部系统进行额外集成提供了基础。(3) 持久性层(数据访问)负责存储实验数据、用户评论和文件附件。
关键技术和框架
为了促进gP2S应用的开发、建设和维护,该项目使用了若干技术和框架。最重要的是: Vue .js 2.4.210 前端和 Springboot 1.311 与嵌入式 Tomcat 8 服务器为后端。该应用程序使用 MySQL 5.7 和蒙哥德布 4.0.6 数据库进行存储,使用 LDAP12 进行身份验证。默认情况下,所有这些组件都作为一个应用程序进行发货和部署。
该应用程序总共直接或间接地使用数百个不同的库。最突出的列在 表1中。
数据模型
在 gP2S 数据模型(图 3)中可以区分三种类型的实体:与实验期间收集的数据相关的工作流实体(例如样本或显微镜会话):描述所有项目中常见的数据(例如显微镜或玻璃化协议)的设备和协议实体;在系统中发挥支持性或技术作用的其他实体(例如评论或默认值)。
工作流数据树的根源是项目实体。每个项目都包含一些蛋白质和/或利甘德,它们是创建示例实体的构建基块。每个示例可用于创建多个网格,这些网格又用于显微镜会话(每个显微镜会话一个网格)。后者被分配到可以生成一张或多张地图的处理会话。树上的最后一个实体是原子模型,使用一个或多个地图创建。因此,从蛋白质到模型,每个与工作流程相关的实体总是通过其祖先受制于特定的项目。这种设计可创建数据聚合,这些聚合体可以通过前端模块或使用 API 的外部系统轻松处理。
除了工作流程数据之外,还有一些实体描述在准备网格时遵循的实验或协议中使用的设备。定义这些实体是创建实验工作流实体(如网格、显微镜和处理会话)的先决条件。
最后一种类型的数据实体,统称为”其他”,用于技术目的(例如,文件附件或默认值)。此类别包括可链接到任何工作流程或设备/协议实体的评论实体。
软件可用性
gP2S 的开源版本可在阿帕奇许可证版本 2.026下提供,从 https://github.com/arohou/gP2S。运行gP2S的码头图像可从 https://hub.docker.com/r/arohou/gp2s。gP2S的一个封闭源分支机构正在罗氏和基因科技继续开发中。
运行gP2S应用程序
运行 gP2S 有两种方法:作为码头容器或独立 Java 应用程序。最佳选择将取决于目标部署环境。例如,如果需要自定义或增强代码以适应用户特定需求的能力,则必须首先重新构建整个应用程序。在这种情况下,可能会建议将 gP2S 作为独立应用程序运行。
码头集装箱
开始使用 gP2S 应用程序的最简单方法是将其作为码头服务运行。为此,在 Docker Hub 存储库(”https://hub.docker.com/r/arohou/gp2s”)中编写并发布了专用的 Docker 图像。运行 gP2S 图像取决于对 MySQL 和蒙哥德布数据库的访问以及 LDAP 服务器的访问。对于非生产环境,建议将所有这些依赖项与 gP2S 应用程序一起作为多容器 Docker 应用程序运行。为了实现此无缝,在 gP2S GitHub 存储库(https://github.com/arohou/gP2S)中已准备并提供了包含最终环境所有所需配置的码头工人组合文件(https://github.com/arohou/gP2S/blob/master/docker-compose.yml)。以下码头工人图像是依赖性:mysql27,蒙戈德布28,阿帕切德29。
在默认配置中,删除码头容器后,将删除所有存储的数据、实体和文件附件。为了保留数据,应使用码头工人卷,或者应将 gP2S 应用程序连接到专用数据库实例 (MySQL 和 MongoDB)。ApacheDS LDAP 服务器容器附带预配置的管理员用户(密码:密)。这些凭据应用于登录 gP2S 应用程序,当它作为码头服务运行。对于生产环境,可以使用相同的码头工人组合文件来部署 gP2S(如果需要的话,还有其他容器)作为服务到 Docker Swarm 容器编排平台。
将 gP2S 作为 Docker 容器运行的完整过程,包括有关正确配置的所有详细信息,在 gP2S GitHub 存储库中进行了描述,并涵盖以下主题:
•运行与所有依赖的码头化gP2S应用程序。
• 访问gP2S应用程序、数据库和LDAP。
•使用新版本更新gP2S服务。
•删除gP2S应用程序。
•配置数据持久性。
•将焊接的gP2S应用程序连接到专用数据库或LDAP服务器。
• 配置详细信息
独立爪哇应用程序
运行 gP2S 应用程序的另一个选项是构建一个自成一体的 Java 包。如果无法运行 Docker 容器,则应采用此方法。构建 gP2S 应用程序需要安装 Java 开发套件版本 8 或以上。整个构建过程由 Maven 工具管理,该工具在 GitHub 存储库中的代码库中提供。构建配置准备先构建前端部分,然后将其复制到后端源,然后将其构建为最终应用程序。这样,就无需安装任何其他工具或库,以便准备功能齐全的 gP2S 包。默认情况下,生成的结果是 JAR 包(本地存储)和 Docker 图像(推送到配置在 Maven pom .xml 文件中的存储库)。重要的是要记住,连接到外部系统(数据库和LDAP服务器)所需的信息需要在构建包之前以适当的配置文件提供。
创建 gP2S JAR 封装后,它将包含运行应用程序所需的所有依赖关系和配置信息,包括托管系统的 Tomcat 应用程序服务器。如果包是用多个配置文件构建的,则可以在不同模式下运行,而无需重建。
gP2S GitHub 存储库包括构建和运行 gP2S 作为独立应用程序的过程的完整描述,并涵盖以下主题:
•使用马文工具构建gP2S
• 使用嵌入式数据库构建和运行
• 以码头集装箱部署的依赖关系构建和运行
• 使用专用数据库进行构建和运行
• 配置身份验证
如果正确和一致地使用,gP2S 通过使用结构化的数据模型和定义的词汇强制执行关键实验元数据的记录,从而有助于实现高质量元数据的正确记录保存,但只有在实验室中实现高水平合规性时,才能完全实现该数据的附加值。上述协议不包括如何实现此目标。我们发现,有效的执法技术是让显微镜操作员拒绝收集未在 gP2S 中注册的网格上的数据。这迅速推动了合规性的发展,并为在接下来的几个月中出现大量详细准确的实验细节和企业记忆奠定了基础。经过几个月的使用,gP2S 中存储的元数据语料库的价值对大多数用户来说非常明显,以至于在没有明确干预的情况下,合规性仍然很高。
充分利用这种集体存储器,需要存储在 gP2S 中的元数据可供外部系统访问,并且容易与实验数据(微图)和结果(地图和模型)相关联。上述协议没有描述如何将 gP2S 与其他信息学和数据处理系统集成。最直接的是通过gP2S的后端 REST API 进行的潜在集成,不需要对 gP2S 进行任何修改。例如,控制我们数据收集探测器的每台计算机都运行一个脚本,定期在显微镜会话管理 REST 控制器下查询 gP2S 的端点”getItemBy显微镜”,以检查显微镜会话是否在其显微镜上进行。如果是这样,脚本从 gP2S 检索到适当的数据存储目录名称(如”设置”页面中配置的,见上文),并使用此名称在本地数据存储设备上创建目录。这确保了数据存储目录的系统命名,并降低了因拼写错误而出错的风险。
虽然在 gP2S 的公共版本源中已对此进行了评论,但还需要进一步集成 gP2S 消耗外部系统的数据。在我们的实验室中,我们部署的 gP2S 与 (i) 项目管理系统集成,以便配置在 gP2S 中的每个项目都可以链接到全公司范围的投资组合项目,并且投资组合中的元数据可以在 gP2S 中显示:(二) 蛋白质登记系统,以便通过当地储存的身份识别器将添加到gP2S中的每一种蛋白质与一整套详细记录联系起来,详细说明蛋白质的来源,包括相关分子生物学、表达系统和纯化的细节:(iii) 一个小分子化合物管理系统,允许gP2S显示有关每个配体的关键信息,如其化学结构。启用这些集成所需的代码修改在从 gP2S 存储库 (https://github.com/arohou/gP2S) 提供的 README-BUILD.md 文档的”集成”部分中进行了描述。
当前版本的 gP2S 有局限性,首先是过于简单化的数据模型和结构(模型)沉积的前端。这是故意留在”裸骨”状态在发布的版本的gP2S,因为一个成熟的结构沉积和验证功能目前正在开发中,同时支持X射线晶体学。另一个设计决定是不实施任何特权或权限系统:gP2S 中的所有用户都可以平等地访问其功能和数据。对于为具有竞争利益和保密要求的用户群体提供服务的设施来说,这可能是一个糟糕的选择,但这不是我们设施所关心的问题。
我们内部版本的 gP2S 正在开发中,我们希望此处描述的开源版本将对其他低温EM组有所帮助,并且一些版本将来可能会提出建议或代码改进。例如,未来的高价值发展可以侧重于与实验室设备(玻璃化机器人、电子显微镜)、软件(例如收集图像处理元数据)和外部公共存储库(例如促进结构沉积)的集成。
通过在实验室和低温EM设施中常规使用 gP2S 实现的高质量元数据的系统收集,可对多年来同时起诉多个项目的能力产生重大而积极的影响。随着越来越多的共享和集中的低温组和设施的建立,我们预计对 gP2S 等信息管理系统的需求将继续增长。
The authors have nothing to disclose.
作者感谢自项目启动以来一直从事该项目的 gP2S 开发团队的所有其他成员:拉法·乌齐埃拉, 塞扎里·克日尼亚诺夫斯基、普热米索夫·斯坦科夫斯基、雅切克·齐姆斯基、皮奥特·苏奇基、卡罗琳娜·Pająk、埃瓦特·范登·艾登、达米安·米尔兹维斯基、米查·沃伊特科夫斯基、皮奥特·皮库萨、安娜·苏尔达卡卡、卡米尔·乌恰克和阿图尔·库萨克。我们还感谢雷蒙德·哈和克劳迪奥·西费里帮助组建团队并塑造项目。