gP2S 是一个用于追踪冷冻电镜实验的网络应用程序。本文介绍了其主要功能以及安装和配置该应用程序所需的步骤。配置完成后,该应用程序可准确记录与负染色和冷冻电镜实验相关的元数据。
gP2S 是一个用于追踪冷冻电镜实验的网络应用程序。本文介绍了其主要功能以及安装和配置该应用程序所需的步骤。配置完成后,该应用程序可准确记录与负染色和冷冻电镜实验相关的元数据。
冷冻电子显微镜技术(cryoEM)已成为许多药物发现项目的重要组成部分,因为蛋白质靶标的晶体结构解析并不总能实现,而cryoEM为基于结构的配体设计提供了替代手段。当面对大量不同的项目,且每个项目中可能包含大量配体-蛋白质复合物结构时,准确的实验记录迅速变得具有挑战性。针对每个靶标,多个实验参数均需优化,包括样品制备、载网制备以及显微镜观察等各个阶段。因此,准确的实验记录对于实现长期可重复性以及促进高效团队协作至关重要,尤其是在cryoEM工作流程的不同步骤由不同操作人员完成的情况下。为应对这一挑战,我们开发了一套名为gP2S的基于网络的cryoEM信息管理系统。
该应用程序以项目为背景,跟踪记录从样品到最终原子模型的每一个实验步骤,项目列表可在应用程序内部维护,也可在外部独立系统中维护。用户自定义的耗材、设备、实验方案和软件受控词汇表有助于以结构化方式描述冷冻电镜工作流程的每一步。gP2S 具有高度可配置性,可根据团队需求作为独立产品运行,或作为更广泛的科学应用生态系统的一部分,通过 REST API 与项目管理工具、蛋白质或小分子配体生产追踪应用,以及自动化数据采集与存储应用集成。用户可登记每张载网和显微镜使用会话的详细信息,包括关键实验元数据和参数值,并记录每个实验产物(样品、载网、显微镜会话、三维重构图等)的谱系信息。gP2S 作为冷冻电镜实验工作流程的组织工具,可帮助科研团队实现精确的实验记录管理,且本软件采用开源许可证发布。
冷冻电镜设施中的信息管理
自2014年左右以来,冷冻电子显微镜(cryoEM)1 设施的数量呈爆炸式增长,全球已安装至少300套高端系统2,其中包括多家制药公司的设备,反映出冷冻电镜在药物发现中日益重要的作用3。这些设施的使命及其对数据追踪与管理的需求各不相同4。例如,一些国家级冷冻电镜中心的任务是接收电镜载网,采集数据集,并在可能经过一定程度的自动化图像处理后,将数据返还给用户用于结构解析。在这些设施中,追踪载网的来源、其与用户项目申请或资助之间的关联,以及从载网到数据集的谱系至关重要,而其他因素(如蛋白质样品的纯化方法或最终的结构解析过程)则相对不重要,甚至完全无关。而在另一些设施中,例如本地学术机构的设施,每位终端用户需自行准备样品和载网,完成显微成像,管理原始数据及其处理流程,并发表研究成果。此类设施本身对元数据追踪并无严格要求,因为该职责由终端用户或其课题负责人(Principal Investigator)承担。
在我们的冷冻电镜设施中,样品、载网、数据采集与处理流程以及结果(图谱、模型)的处理和优化工作集中由少数实践人员负责,涉及多个项目。这给实验(元)数据管理带来了挑战。从原子模型一直回溯到蛋白质和配体的确切身份,再到载网制备参数和数据采集流程,结构的实验谱系必须被准确记录并保存。这些元数据必须对多位操作人员开放。例如,进行图像处理的人员可能需要了解使用的是哪种蛋白质构建体以及成像参数是什么,即使他们并未亲自纯化蛋白质或采集冷冻电镜数据;信息学系统(如自动化的数据管理守护进程)则需要识别当前显微镜正在采集数据的项目,以便正确且系统地分配目录名称。
目前有多种信息管理系统可用于支持冷冻电镜(cryoEM)设施。其中功能最全面的或许是EMEN25,它集成了电子实验记录本、信息管理系统以及部分业务流程管理工具的功能。ISPyB6被广泛应用于多个同步辐射光源设施,最初为支持晶体学X射线光束线而开发,现已扩展支持冷冻电镜数据采集。Scipion7是一个功能丰富且强大的图像处理软件集成平台,可帮助用户记录图像处理工作流程,并通过公共数据库EMPIAR8,9等途径共享,同时还与ISPyB集成,实现冷冻电镜数据的实时处理。
本文介绍了gP2S(Genentech Protein to Structure),这是一种现代化且轻量级的冷冻电镜信息管理系统,旨在支持从纯化蛋白和小分子配体到最终原子模型的全流程工作。
gP2S 概述
gP2S 是一个用户友好的基于网络的冷冻电镜(cryoEM)信息管理系统,可为冷冻电镜实验室以及多用户、多项目的设施提供准确的记录管理。系统跟踪以下实体及其相互关系和相关元数据:项目、设备、耗材、实验方案、样品、载网、显微镜使用时段、图像处理时段、三维密度图和原子模型。用户还可以添加自由文本注释,并可选择性地附加文件,从而对 gP2S 中注册的任何实体进行丰富的注解。前端界面设计支持触屏设备操作,并已在 12.9" iPad Pro 上进行了广泛测试,使得研究人员在制备样品和载网时可在实验台旁使用 gP2S(图 1),在操作显微镜、处理图像或提交模型时也可在计算机上使用。前端的每个页面均致力于尽可能通过将参数预设为合理的默认值,以减少手动数据录入。
gP2S 的后端包含多个 REST API(表述性状态转移应用程序编程接口)端点,使其能够集成到现有的工作流程和脚本中。该数据模型的设计旨在精确记录负染色和冷冻电镜工作流程中的各个环节,包括分支情况,例如同一个样品用于多张载网、多次显微镜成像会话的数据合并至单次数据处理会话,或单次数据处理会话生成多个三维重构图谱。
系统架构
gP2S 是一个经典的三层应用程序(图2)。在这种模块化架构中,系统被划分为三个独立的层次,每一层负责执行不同的职责,并且可以独立于其他层进行替换或修改。(1)表示层(或前端)通过网页浏览器为用户提供访问(已在 Chrome 和 Safari 中进行了充分测试),支持创建和修改工作流元素(包括数据验证),并以独立实体、基于项目的列表以及完整工作流报告的形式展示实验数据。(2)服务层(或后端)作为用户界面与存储系统之间的中间层,承载核心业务逻辑,向前端提供所使用的服务 API,集成数据存储系统和用于用户认证的 LDAP(轻型目录访问协议)系统,并为与外部系统的进一步集成提供基础。(3)持久层(数据访问)负责存储实验数据、用户评论和文件附件。
关键技术与框架
为了便于 gP2S 应用程序的开发、构建和维护,项目中采用了多种技术和框架。其中最重要的包括:前端使用 Vue.js 2.4.210,后端使用 SpringBoot 1.311 并集成 Tomcat 8 服务器。应用程序使用 MySQL 5.7 和 MongoDB 4.0.6 数据库存储数据,并通过 LDAP12 实现身份验证。默认情况下,所有这些组件均作为一个应用程序进行打包和部署。
该应用程序直接或间接使用了数百种不同的库。最主要的库列在表1中。
数据模型
在 gP2S 数据模型中可以区分出三类实体(图3):与实验过程中收集的数据相关的流程实体(例如样本或显微镜成像会话);描述在所有项目中通用数据的设备和方案实体(例如显微镜或玻璃化冷冻方案);以及其他在系统中起支持或技术作用的实体(例如注释或默认值)。
工作流数据树的根节点是“项目”实体。每个项目均由若干“蛋白质”和/或“配体”组成,这些是创建“样本”实体的构建单元。每个“样本”可用于生成多个“网格”,而这些“网格”将用于显微成像会话(每次显微成像会话使用一个“网格”)。显微成像会话被分配至“处理会话”,可产生一个或多个“三维密度图”。数据树中的最后一个实体是“原子模型”,它由一个或多个“三维密度图”构建而成。因此,从“蛋白质”到“原子模型”等所有与工作流相关的实体,均通过其祖先节点始终归属于某一特定“项目”。这种设计形成了易于处理的数据聚合结构,前端模块或通过API接入的外部系统均可高效处理这些数据。
除了工作流程数据外,还包含描述实验中所用设备或制样过程中遵循的实验方案的实体。定义这些实体是创建网格、显微成像和处理会话等实验工作流程实体的前提条件。
最后一类数据实体统称为"其他",用于技术目的(例如文件附件或默认值)。该类别包括可链接到任何工作流程或设备/协议实体的注释实体。
软件可用性
gP2S 的开源版本根据 Apache 许可证第 2.0 版提供26,获取地址为 https://github.com/arohou/gP2S。用于运行 gP2S 的 Docker 镜像可从 https://hub.docker.com/r/arohou/gp2s 获取。gP2S 的闭源分支正在 Roche & Genentech 持续开发中。
运行 gP2S 应用程序
运行 gP2S 有两种方式:作为 Docker 容器运行,或作为独立的 Java 应用程序运行。最佳选择取决于目标部署环境。例如,如果需要自定义或增强代码以满足用户的特定需求,则必须首先重新构建整个应用程序。在这种情况下,建议将 gP2S 作为独立应用程序运行。
Docker 容器
使用 gP2S 应用程序最简便的方法是将其作为 Docker 服务运行。为此,已准备并发布了一个专用的 Docker 镜像,存放于 Docker Hub 仓库中("https://hub.docker.com/r/arohou/gp2s")。 运行 gP2S 镜像需要访问 MySQL 和 MongoDB 数据库,以及一个 LDAP 服务器。对于非生产环境,建议将所有这些依赖项与 gP2S 应用程序一起作为多容器 Docker 应用程序运行。为了实现无缝集成,gP2S GitHub 仓库(https://github.com/arohou/gP2S)中已提供了一个 docker-compose 文件(https://github.com/arohou/gP2S/blob/master/docker-compose.yml),其中包含了最终环境所需的全部配置。以下 Docker 镜像是必需的依赖项:mysql27, mongodb28, apacheds29。
在默认配置下,删除 Docker 容器时,所有存储的数据(包括实体和文件附件)都将被清除。为了保留数据,应使用 Docker 卷,或将 gP2S 应用程序连接到专用的数据库实例(MySQL 和 MongoDB)。ApacheDS LDAP 服务器容器预配置了一个管理员用户(密码:secret)。当 gP2S 应用程序作为 Docker 服务运行时,应使用这些凭据登录。对于生产环境,可使用相同的 docker-compose 文件将 gP2S(以及根据需要的其他容器)作为服务部署到 Docker Swarm 容器编排平台。
运行 gP2S Docker 容器的完整过程(包括有关正确配置的所有详细信息)在 gP2S GitHub 仓库中有详细说明,涵盖以下主题:
• 运行包含所有依赖项的容器化 gP2S 应用程序。
• 访问 gP2S 应用程序、数据库和 LDAP。
• 使用新版本更新 gP2S 服务。
• 移除 gP2S 应用程序。
• 配置数据持久化。
• 将容器化的 gP2S 应用程序连接到专用数据库或 LDAP 服务器。
• 配置详情
独立 Java 应用程序
运行 gP2S 应用程序的另一种方式是构建一个独立的 Java 软件包。如果无法运行 Docker 容器,则应采用此方法。构建 gP2S 应用程序需要安装 Java 开发工具包(JDK)版本 8 或更高版本。整个构建过程由 Maven 工具管理,该工具已在 GitHub 代码仓库中提供。构建配置会先构建前端部分,然后将其复制到后端源码中,最后将其构建成最终的应用程序。通过这种方式,无需安装任何其他工具或库即可生成一个功能完整的 gP2S 软件包。默认情况下,构建结果包括一个 JAR 软件包(存储在本地)和一个 Docker 镜像(推送至 Maven pom.xml 文件中配置的仓库)。需要注意的是,在构建软件包之前,必须在适当的配置文件中提供连接外部系统(数据库和 LDAP 服务器)所需的信息。
一旦创建了gP2S JAR包,它就包含了运行应用程序所需的所有依赖项和配置信息,包括用于托管系统的Tomcat应用服务器。如果该包是使用多个配置文件构建的,则可以在不重新构建的情况下以不同模式运行。
gP2S GitHub 仓库包含了构建和运行 gP2S 作为独立应用程序的完整说明,涵盖以下主题:
• 使用 Maven 工具构建 gP2S
• 使用嵌入式数据库进行构建和运行
• 将依赖项以 Docker 容器形式部署进行构建和运行
• 使用专用数据库进行构建和运行
• 配置身份验证
1. 设置 gP2S 以进行工作
2. 配置至少一个项目
3. 配置至少一台表面处理设备。
注意:表面处理仪用于修饰电镜载网的表面特性——最常见的是辉光放电器或等离子清洗仪。
4. 至少注册一种网格类型。
注意:网格类型用于标识网格的型号(例如,"300目铜网上带2-µm孔洞的碳膜"),而非特定批次或 批号的网格
5. 至少注册一台玻璃化冷冻仪
6. 至少注册一张印迹纸
7. 至少注册一个冷冻存储设备
8. 至少注册一项表面处理方案
9. 建立至少一种负染色方案
10. 至少注册一种无网格冷冻方案
11. 注册至少一台显微镜
12. 至少注册一个电子探测器
13. 如果有一台或多台显微镜需要侧向进样样品台,请在 gP2S 中登记可用的样品台。
14. 指定 gP2S 在设置与每个 Microcopy 会话相关联的目录名称时所遵循的模式。
注意:让 gP2S 为显微成像过程中记录的图像数据自动生成存储目录名称可能非常有用。这可确保存储目录的命名具有系统性且包含丰富信息。请指定 gP2S 在为每次显微成像会话设置关联目录名称时所遵循的命名模式。
15. 登记用户可使用的图像处理软件。
注意:这将启用处理会话以及后续实体类型(地图和模型)的注册。
整体设计与导航模式
gP2S 应用程序以项目为核心,所有实体必须在特定项目的上下文中创建。用户首先从应用程序左上角附近的下拉菜单中选择相应项目。为方便使用,项目列表支持筛选,并按最近使用顺序排序,最近使用的项目显示在列表顶部。选择项目后,左侧导航栏的工作流程部分将显示该项目关联的各类实体的数量。用户可点击任一工作流程实体类型(例如:显微成像会话),以查看所选项目中该类实体的列表(图4)。每个实体在列表中包含以下信息:标签、创建日期与时间、创建者用户名、是否有针对该实体的评论,以及最多六个关键元数据字段(例如,对于每次显微成像会话:网格编号、图像数量、开始与结束时间,以及所使用的显微镜和探测器)。点击列表中的任一实体,将打开其详情页面,展示该项目的所有可用信息,包括所有祖先实体的摘要列表(例如,对于一次显微成像会话,其父级网格和样本将被列出)。此功能支持用户快速浏览实体的“谱系”,例如,可实现从原子模型一键跳转至样本详情(图5)。此外,gP2S 中的任何实体均可添加评论:在其实体详情页面右上角点击“评论”,输入自由文本内容,并可选择性地附加一个或多个文件。
样品制备
在工作流程的第一步中描述样品。为此,首先定义至少一个组分:蛋白质或配体。
添加新蛋白质时仅需提供蛋白质标签,但为了更准确地描述该蛋白质,建议同时添加PUR ID(纯化标识符)。该字段可接受任意文本,例如可包含货号/批号,或用作条形码标签的填写位置。如果gP2S已自定义为与蛋白质注册系统集成(参见讨论部分),则可自动验证PUR ID,并用于检索和显示该批次蛋白质的详细信息。对于配体,必须填写标签和储存浓度。其余所有字段均为可选,包括:概念标识(条形码、通用名称或其他配体标识符)以及批号/批次标识符。同样,如果gP2S已配置为与配体注册系统集成,则可利用概念标识和批次标识来获取并显示外部存储的配体相关信息(例如其化学结构、检测结果)。
样品由蛋白质和配体的任意组合及其最终浓度定义。可选择性地注明样品的其他实验细节,例如孵育时间与温度、缓冲液以及自由文本形式的实验方案描述。
载网制备
当样品准备就绪后,进入“载网”页面。在列表中,每个载网标签下方会有一个或两个彩色标签,用于指示载网类型(冷冻或染色)以及该载网是否可供使用。要创建新的载网,请选择新建载网。输入标签名称,选择载网类型和所用的表面处理方案(例如辉光放电)。然后,指明是制备冷冻载网还是负染载网,并从下拉列表中选择一个预设的制备方案;该列表内容根据之前选择的载网制备类型,显示为负染方案或玻璃化方案。接下来,从下拉列表中选择相应的样品,并使用切换开关指明样品是否仍可继续使用(下文将详细说明)。如果需要对所选样品进行稀释或浓缩,请使用“已稀释/浓缩?”切换开关进行标注,并注明相应的稀释倍数或浓缩因子。填写施加到载网上的样品体积(单位为 µL),并可选择性地记录孵育时间。最后,定义载网的存储位置。对于负染载网,需记录储存盒的标签/编号以及载网在盒中的具体位置。对于冷冻载网,首先从列表中选择一个储存设备,然后根据该冷冻储存设备在“设置”中预先定义的属性,填写相应且适用的字段信息(如筒、管和/或盒)。
上述描述的工作流程中的“样品”和“载网”部分属于库存管理系统。该功能可追踪各组分是否仍可供使用。
数据采集
网格注册完成后,通过在 gP2S 中创建显微镜会话来登记数据采集实验。显微镜会话是该应用程序所跟踪的最复杂的实验实体,其结构分为四个部分:基本信息、显微镜设置、曝光设置和显微镜控制。
第一部分包含基本信息:显微成像会话标签、开始和结束的日期与时间、所成像的网格、使用的显微镜、探测器和样品 holder(如适用),以及采集的图像数量。创建新的显微成像会话时,系统会自动填写开始日期和时间。结束日期和时间是可选的,因为实验可能仍在进行中,此时会话可在系统中先行注册,而结束时间尚不明确。如果结束日期和时间未知,可手动输入,或使用“现在”按钮填入当前日期和时间。另一种方法是利用 gP2S 系统不允许同一台显微镜同时存在多个未完成显微成像会话的特性:在相同显微镜上启动新的显微成像会话时,系统将自动标记此前已启动的会话为已完成。
下一步,选择网格。下拉列表将显示当前项目中所有可用的网格。选择网格后,将看到其一些基本信息:创建者及创建时间,以及应用了哪个样本。根据所选网格的类型,显微镜会话在列表视图中将被标记为“染色”或“冷冻”。
默认情况下,系统会预选当前项目中最近使用过的显微镜。如果某台显微镜已将样本插入机制定义为自动进样器,则该信息将显示为样本 holder。然而,如果所选显微镜需要使用侧向插入式 holder,则应从已配置为与该显微镜配合使用的样本 holder 列表中选择相应的 holder(如果所选载网为冷冻载网,则仅列出支持冷冻功能的 holder)。
显微镜使用记录表的第二部分包含显微镜参数设置的相关信息,例如抽取电压和加速电压、枪透镜、C2光阑直径、物镜光阑以及能量滤波器狭缝宽度。在常规使用过程中,这些参数通常很少更改,因为用户一般无需偏离默认值。
显微镜会话的第三部分包含有关曝光设置的信息。在此部分中记录以下元数据:放大倍数(像素大小)、光斑尺寸、照明区域直径、曝光时间,以及是否使用了纳米探针、计数模式、剂量分次和超分辨率成像(计数模式、剂量分次和超分辨率设置仅在所选探测器具备这些功能时才可启用)。如果使用了剂量分次,则还会记录帧数和曝光速率。
为方便起见,表单中会实时计算并显示若干实验关键参数:最终图像像素尺寸(Å)、曝光速率(电子/Å2/s)、总曝光量(电子/Å2)、帧持续时间(s)以及每帧曝光量(电子/Å2)。
显微成像实验的第四部分也是最后一部分可用于记录目标欠焦的最小值和最大值,以及每个孔的曝光次数。
尽管在 gP2S 中的显微成像会话可用于登记任何类型的显微成像工作,无论是用于筛选还是数据采集,但我们发现,要求用户仅专注于登记数据采集会话已足够且更为高效;而对于仅短暂检查载网质量以进行质量控制的筛选会话,则无需作为显微成像会话进行登记。
图像处理
图像处理工作在 gP2S 中以“处理会话”实体的形式记录。每个“处理会话”关联一个或多个显微镜会话,后者必须从下拉列表中选择。请注明所使用的软件包(程序及版本)、微图数量以及挑选出的颗粒数量。可选择性地记录处理数据所在目录的名称。
图谱提交
获得一个或多个三维重构结果后,可将图谱提交至 gP2S。每个图谱与一个处理会话相关联,包含实际的图谱文件(通常为 MRC 格式文件,但 gP2S 支持任意文件类型)以及关键元数据:像素尺寸(Å)、表面渲染推荐的等值面水平、应用的对称性、用于生成该图谱的图像数量,以及分辨率估计值:包括最佳和最差区域的分辨率,以及平均全局分辨率。图谱之间可通过以下关系类型相互关联:过滤、掩膜、重采样或精修版本。注册此类关联时,需选择相应的关系类型(例如“是……的过滤版本”或“具有过滤版本”)。
模型提交
获得原子模型后,可将其提交至 gP2S 中相应项目的“模型”(Model)部分。gP2S 首个版本中的模型功能较为基础:除模型文件本身(通常为 PDB 或 mmCIF 文件)外,仅需提供分辨率(单位:Å)以及用于构建该模型的电子密度图(或多个图的列表)。此外,还可以指明某个模型是此前已提交模型的优化版本。其他功能(包括模型验证等)正在开发中,未来可能会添加到 gP2S 的开源版本中。
报告
可能需要生成摘要文档,以分发给无法访问 gP2S 的合作者,或归档到文件系统中。为此,gP2S 提供了报告功能,可通过每个实体详情页面右上角的打印机图标访问。该功能将生成一个可打印的 PDF 文件,其中包含描述该实体及其所有祖先实体的全部元数据,以及所有相关评论。此功能在模型提交后尤为有用,因为通过显微镜会话和载网,从最终原子模型一直追溯到特定蛋白质和小分子配体批次的全部数据和元数据都将在单个文档中提供。

图1.在玻璃化冷冻实验室工作台上运行 gP2S 的 iPad 界面。该用户界面专为触屏操作设计,便于在实验室内使用并准确录入元数据。请点击此处查看此图的放大版本。

图 2:gP2S 系统架构。 gP2S 采用经典的三层架构,依赖两个数据库服务器进行数据存储,并使用 LDAP 服务器进行用户身份验证。 请点击此处查看此图的放大版本。

图3:gP2S数据模型。 实体以矩形表示(深橙色代表工作流程实体,橙色代表设备和方案,黄色代表其他类型的实体),它们之间的关系(一对一、一对多、多对多)用实线表示。请点击此处查看该图的放大版本。

图 4.显微镜会话列表视图。 在此视图中,列出了在选定项目(本截图中为“CARD9”)下注册的所有显微镜会话。绿色或紫色标签用于区分室温(负染)与低温显微镜会话,并列出描述每次会话的一些关键元数据(例如最右侧注册该会话的用户)。单击显微镜会话的名称将打开该会话的详细视图(图 5 展示了模型的详细视图)。请点击此处查看此图的放大版本。

图5模型详细视图。 页面顶部显示所选模型的可用元数据。右侧的注释窗格可通过点击右上角的叉号或其左侧的“注释 (1)”来隐藏。下方的一组图标可用于生成 PDF 报告(打印机图标,参见正文)、编辑条目(铅笔图标)或复制该条目(两个矩形图标)。页面底部包含该模型所源自的所有实体的结构列表,从样本到图谱。 请点击此处以查看此图的放大版本。
| 库或框架名称 | 类型 | 版本 |
| ApacheDS | LDAP 服务器 | 0.7.0 |
| Docker | 开发工具 | n/a |
| Element | 库 | 1.4.10 |
| Hibernate | 库 | 5.0.12 |
| Java | 编程语言 | 1.8+ |
| JavaScript | 编程语言 | EcmaScript 2017 |
| JUnit | 库 | 4.12 |
| Karma | 库 | 1.4.1 |
| Maven | 开发工具 | 3+ |
| MongoDB | 数据库服务器 | 4.0.6 |
| MySQL Database | 数据库服务器 | 5.7 |
| Node.js | 框架 | 6.9.1 |
| SASS (node-sass) | 库 | 4.5.3 |
| SpringBoot | 框架 | 1.3 |
| Swagger UI | 库 | 2.6.1 |
| Tomcat | 应用服务器 | 8.5.15 |
| Vue.js | 框架 | 2.4.2 |
| vue-cli | 开发工具 | 2.6.12 |
表1. gP2S 使用的库和框架
如果正确且持续地使用,gP2S 可通过结构化数据模型和定义的词汇表强制记录关键实验元数据,从而帮助实现高质量元数据的规范记录。然而,只有在实验室达到较高合规水平时,这种优势才能得到充分体现。上述方案并未涵盖如何实现高合规性。我们发现,一种有效的执行方法是要求显微镜操作人员拒绝采集未在 gP2S 中注册的载网数据。这一措施迅速提高了合规率,并为随后数月内大量详细、准确的实验信息和机构记忆的形成奠定了基础。在使用数月后,gP2S 中存储的元数据集合的价值对大多数用户而言已显而易见,因此无需明确干预,合规性仍能长期保持在较高水平。
充分利用这一集体记忆,需要确保存储在 gP2S 中的元数据能够被外部系统访问,并能轻松地与实验数据(显微图像)和结果(图谱和模型)相关联。上述方案并未描述如何将 gP2S 与其他信息学和数据处理系统进行整合。最直接的方式是通过 gP2S 的后端 REST API 实现集成,这种方式无需对 gP2S 本身进行任何修改。例如,每台控制数据采集探测器的计算机都运行一个脚本,该脚本定期查询 gP2S 在显微镜会话管理 REST 控制器下的 "getItemByMicroscope" 接口端点,以检查其显微镜上是否正在进行显微镜会话。如果是,脚本将从 gP2S 获取相应的数据存储目录名称(如“设置”页面中所配置,见上文),并在本地数据存储设备上使用该名称创建目录。这可确保数据存储目录的系统化命名,并降低因输入错误导致问题的风险。
尽管在gP2S公开版本的源代码中已被注释掉,但gP2S进一步集成并使用外部系统数据也是可行的。在我们实验室的gP2S部署中,已实现以下集成:(i)与项目管理系统集成,使得在gP2S中配置的每个项目均可关联至公司范围内的组合项目,并可在gP2S中显示来自该组合项目的元数据;(ii)与蛋白质注册系统集成,使得添加到gP2S中的每种蛋白质均可通过本地存储的标识符,关联到一套完整的记录,详细描述该蛋白质的来源信息,包括相关的分子生物学信息、表达系统及纯化过程;(iii)与小分子化合物管理系统集成,使gP2S能够显示每种配体的关键信息,例如其化学结构。实现这些集成所需代码修改的详细说明,参见gP2S代码仓库(https://github.com/arohou/gP2S)中README-BUILD.md文档的"集成"部分。
当前版本的 gP2S 存在一些局限性,其中最主要的是结构(模型)提交所用的数据模型和前端功能过于简化。在发布的 gP2S 版本中,这一部分被有意保持为"基础形态",因为完整的结构提交与验证功能目前正在开发中,并将与 X 射线晶体学支持一并推出。另一个设计决策是未实现任何权限或访问控制机制:gP2S 中的所有用户均可平等地访问其功能和数据。这可能使其不适合服务于具有竞争性利益关系或保密需求用户群体的机构,但这一点对我们的设施而言并非问题。
我们正在持续开发内部版本的 gP2S,希望本文所述的开源版本能对其他冷冻电镜团队有所帮助,并期待未来有人能够提出建议或改进代码。未来值得关注的发展方向可能包括与实验室设备(玻璃化冷冻机器人、电子显微镜)、软件(例如获取图像处理元数据)以及外部公共数据库(例如促进结构数据的提交)的集成。
在实验室和冷冻电镜平台中常规使用 gP2S 系统,可系统性地收集高质量的元数据,从而在多年时间内显著提升并行推进多个项目的能力。随着越来越多的共享型和集中式冷冻电镜团队及平台的建立,我们预计对 gP2S 这类信息管理系统的需要将持续增长。
所有作者均为罗氏或其子公司基因泰克的合同方或雇员。
作者感谢自项目启动以来参与gP2S开发团队工作的所有其他成员:Rafał Udziela、Cezary Krzyżanowski、Przemysław Stankowski、Jacek Ziemski、Piotr Suchcicki、Karolina Pająk、Ewout Vanden Eyden、Damian Mierzwiński、Michał Wojtkowski、Piotr Pikusa、Anna Surdacka、Kamil Łuczak 和 Artur Kusak。我们还感谢 Raymond Ha 和 Claudio Ciferri 在团队组建和项目规划过程中提供的帮助。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| n/a | n/a | n/a | n/a |