gP2S является веб-приложение для отслеживания криоэм-экспериментов. Его основные особенности описаны, как и шаги, необходимые для установки и настройки приложения. После настройки приложение позволяет точно записывать метаданные, связанные с негативными пятнами и криоэм-экспериментами.
Криогенная электронная микроскопия (криоЭМ) стала неотъемлемой частью многих проектов по открытию лекарственных средств, поскольку кристаллография белковой цели не всегда достижима, а криоЭМ является альтернативным средством поддержки конструкции лиганда на основе структуры. При работе с большим количеством различных проектов, и в рамках каждого проекта потенциально большое количество лиганд-белковых со-структур, точное ведение записей быстро становится сложной задачей. Для каждой цели настроено множество экспериментальных параметров, в том числе на стадии подготовки образца, подготовки сетки и микроскопии. Таким образом, точное ведение записей может иметь решающее значение для обеспечения долгосрочной воспроизводимости и содействия эффективной командной работе, особенно когда этапы криоэм-процесса выполняются различными операторами. Чтобы помочь справиться с этой проблемой, мы разработали веб-систему управления информацией для криоЭМ, называемую gP2S.
Приложение отслеживает каждый эксперимент, от образца до окончательной атомной модели, в контексте проектов, список которых поддерживается в приложении, или внешне в отдельной системе. Определяемые пользователем словари расходных материалов, оборудования, протоколов и программного обеспечения помогают описать каждый шаг криоэм-рабочего процесса структурированным образом. gP2S широко настраивается и, в зависимости от потребностей команды, может существовать как самостоятельный продукт или быть частью более широкой экосистемы научных приложений, интегрируя через API REST с инструментами управления проектами, приложениями, отслеживающие производство белков или небольших лигандов молекул, или приложениями, автоматизующих сбор и хранение данных. Пользователи могут регистрировать детали каждой сессии сетки и микроскопии, включая ключевые экспериментальные метаданные и значения параметров, и линия каждого экспериментального артефакта (образец, сетка, сеанс микроскопии, карта и т.д.) записывается. gP2S служит организатором экспериментального рабочего процесса cryoEM, который обеспечивает точное ведение записей для групп и доступен под лицензией с открытым исходным кодом.
Управление информацией на криоэм-объектах
Начиная с 2014 года примерно, количество криогенной электронной микроскопии (криоЭМ)1 объектов выросло взрывно, по крайней мере 300 высококачественных систем, установленных повсему миру 2, в том числе в ряде фармацевтических компаний, что отражает растущую роль криоэма воткрытии лекарств 3. Миссии этих объектов, а также их требования к отслеживанию и управлению данными отличаются4. Некоторые из них, например национальные криоэм-центры, обвиняются в получении сеток EM, сборе наборов данных и возвращении данных пользователям для определения структуры, возможно, после некоторой автоматизированной обработки изображений. В таких учреждениях отслеживание происхождения сетки, ее связи с предложением пользователя или грантом, а также линия от сетки к набору данных имеет решающее значение, но другие факторы, такие как метод очистки образца белка или возможный процесс определения структуры, менее актуальны или вообще не актуальны. В других учреждениях, таких, как местные учебные заведения, каждый конечный пользователь несет ответственность за подготовку своих собственных образцов и сетей, проведение микроскопии, управление необработанными данными и их обработку и публикацию результатов. Существует нет строгой необходимости для отслеживания метаданных со стороны такого объекта, потому что эта роль выполняется конечный пользователь или их главный следователь.
В нашем криоэм-центре обработка и оптимизация образцов, сеток, протоколов сбора и обработки данных, а также результатов (карты, модели) централизована во многих проектах на небольшую группу практиков. Это создает проблемы в экспериментальном (мета)управлении данными. Экспериментальная линия структур, от атомной модели до точной идентичности белков и лигандов, с помощью параметров подготовки сетки и протоколов сбора данных, должна быть точно захвачена и сохранена. Эти метаданные должны быть доступны ряду операторов-человеков. Например, человеку, который делает обработку изображений, возможно, потребуется знать, какая конструкция белка была использована и каковы параметры изображения, даже если они не очищали белок и не собирали данные криоЭМ сами; информационные системы, такие как автоматизированные daemons управления данными необходимо определить проект, для которого микроскоп в настоящее время сбора данных для того, чтобы правильно и систематически присваивать имена каталогов.
Имеется несколько систем управления информацией для поддержки криоэм-объектов. Пожалуй, наиболее полным среди них является EMEN25, который сочетает в себе функции электронного лабораторного ноутбука, системы управления информацией, а также некоторые элементы инструмента управления бизнес-процессами. Используется на многих синхротронов, ISPyB6, первоначально построенный для поддержки рентгеновских лучей для кристаллографии, в настоящее время также поддерживает сбор данных криоЭМ. Scipion7 является богатой и мощной оберткой вокруг пакетов обработки изображений, которая позволяет пользователям записывать рабочие процессы обработки изображений и делиться ими, например, через общедоступныйрепозиторийEMPIAR 8,9, а также интегрирован с ISPyB, чтобы включить на лету обработку криоэм данных.
Здесь мы описываем gP2S (для Genentech Protein to Structure), современную и легкую систему управления информацией криоЭМ, построенную для поддержки рабочего процесса от очищенного белка и мелкого молекулы до окончательной атомной модели.
Обзор gP2S
gP2S является удобной веб-системой управления информацией cryoEM, которая облегчает точное ведение записей для криоэм-лабораторий и многопользовательских многопроектных объектов. Отслеживаются следующие сущности, их взаимосвязи и связанные с ними метаданные: проекты, оборудование, расходные материалов, протоколы, образцы, сетки, сеансы микроскопии, сеансы обработки изображений, карты и атомные модели. Пользователи также могут добавлять бесплатные текстовые комментарии, по желанию включая файл вложения, что позволяет богатую аннотацию любой организации, зарегистрированной в gP2S. Передний конец был разработан для облегчения использования с сенсорными устройствами и широко протестирован на 12,9 “iPad Pros, что позволяет использовать gP2S на лабораторной скамейке при подготовке образцов и сеток(рисунок 1), а также на компьютере при работе микроскопа, обработки изображений или депонирования моделей. Каждая страница в переднем конце направлена на сокращение ручного ввода данных за счет предварительных параметров до разумных значений по умолчанию, когда это возможно.
Бэкэнд gP2S имеет ряд конечных точек REST API (REpresentational State Transfer Application Programming Interface), что позволяет интегрировать gP2S в существующие рабочие процессы и скрипты. Модель данных была разработана таким образом, чтобы обеспечить точное улавливание отрицательных рабочих процессов пятна и криоЭМ, включая ветвление, например, с одним образцом, используемым в нескольких сетках, данные нескольких сеансов микроскопии, объединенных в один сеанс обработки данных, или один сеанс обработки данных, еющий несколько карт.
Архитектурная архитектура системы
gP2S является классическим трехуровневым приложением(рисунок 2). В этой модульной архитектуре система разбита на три отдельных слоя, каждый из которых отвечает за выполнение различных обязанностей, и каждый из них заменяется или модификируем независимо от других. (1) Уровень презентации (или интерфейс) обеспечивает доступ пользователей через веб-браузер (широко протестированный с помощью Chrome и Safari), позволяет создавать и изменять элементы рабочего процесса (включая проверку данных) и отображает экспериментальные данные в качестве отдельных сущностей, списков проектов и полных отчетов о рабочем процессе. (2) Уровень обслуживания (или бэкэнд) служит промежуточным слоем между пользовательским интерфейсом и системой хранения данных – он содержит основную бизнес-логику, предоставляет API службы, используемый интерфейсом, интегрируется с системой хранения данных и LDAP (Lightweight Directory Access Protocol) для проверки подлинности пользователей и обеспечивает основу для дополнительной интеграции с внешними системами. (3) Уровень сохранения (доступ к данным) отвечает за хранение экспериментальных данных, комментариев пользователей и вложений файлов.
Ключевые технологии и рамки
В целях содействия разработке, созданию и обслуживанию применения gP2S в проекте было использовано несколько технологий и рамок. Наиболее важными из них являются: Vue.js 2.4.210 для интерфейса и SpringBoot 1.311 со встроенным сервером Tomcat 8 для бэкэнда. Приложение использует базы данных MyS’L 5.7 и MongoDB 4.0.6 для хранения и LDAP12 для проверки подлинности. По умолчанию все эти компоненты поставляются и развертываются в одном приложении.
В общей сложности приложение использует сотни различных библиотек прямо или косвенно. Наиболее известные из них перечислены в таблице 1.
Модель данных
Три типа сущностей можно выделить в модели данных gP2S(рисунок 3): объектырабочего процесса, связанные с данными, собранными в ходе экспериментов (например, образцы или сеансы микроскопии); оборудование и протокольные сущности, описывающих данные, общие для всех проектов (например, микроскопы или протоколы витрификации); другие организации, которые играют поддерживающую или техническую роль в системе (например, комментарии или значения по умолчанию).
Корень дерева данных рабочего процесса является сущностью проекта. Каждый проект состоит из ряда белков и/или лигандов, которые являются строительными блоками для создания образцов сущностей. Каждый образец может быть использован для создания нескольких сеток, которые, в свою очередь, используются в сеансах микроскопии (одна сетка на сеанс микроскопии). Последние назначаются для обработки сессий, которые могут дать одну или несколько карт. Последней сущностью дерева является атомная модель, созданная с помощью одной или нескольких карт. Вследствие этого каждая связанная с рабочим процессом сущность, от белка до модели, всегда связана с конкретным проектом через своих предков. Такая конструкция создает агрегаты данных, которые легко обрабатывать либо с помощью интерфейсного модуля, либо с помощью внешних систем с помощью API.
В дополнение к данным рабочего процесса есть сущности, которые описывают оборудование, используемое в экспериментах или протоколах, которые следовали при подготовке сеток. Определение этих сущностей является необходимым условием для создания экспериментальных сущностей рабочего процесса, таких как сетки, микроскопия и обработки сессий.
Последний тип сущности данных, коллективно названный как “Другой”, используется в технических целях (например, вложения файлов или значения по умолчанию). Эта категория включает в себя комментарии лиц, которые могут быть связаны с любым рабочим процессом или оборудования / протокола лиц.
Доступность программного обеспечения
Версия с открытым исходным кодом gP2S доступна под лицензионой версией Apache 2.026,с https://github.com/arohou/gP2S. Изображение Docker для запуска gP2S доступно в https://hub.docker.com/r/arohou/gp2s. В Roche и Genentech продолжается разработка филиала gP2S с закрытым исходным кодом.
Запуск приложения gP2S
Существует два способа запуска gP2S: в качестве контейнера докера или в качестве автономного Java-приложения. Оптимальный выбор будет зависеть от среды развертывания цели. Например, если требуется возможность настройки или улучшения кода в соответствии с конкретными потребностями пользователей, то сначала необходимо перестроили все приложение. В этом случае может быть рекомендован запуск gP2S в качестве автономного приложения.
Контейнер докера
Самый простой способ начать работу с приложением gP2S — запустить его как службу Docker. Для этого было подготовлено и опубликовано специальное изображение Docker в репозитории Docker Hub (“https://hub.docker.com/r/arohou/gp2s”). Запуск изображения gP2S зависит от доступа к базам данных MyS’L и MongoDB, а также к серверу LDAP. Для непроизводства рекомендуется запускать все эти зависимости в качестве многоконтейнных приложений Docker вместе с приложением gP2S. Чтобы сделать это бесшовным, был подготовлен и предоставлен файл docker-compose (https://github.com/arohou/gP2S/blob/master/docker-compose.yml), который включает в себя все необходимые конфигурации окончательной среды и предоставлен в репозитории gP2S GitHub (https://github.com/arohou/gP2S). Следующие изображения докера являются зависимостями: mysql27, mongodb28, apacheds29.
В конфигурации по умолчанию все сохраненные данные, как сущности, так и вложения файлов будут удалены после удаления контейнеров докеров. Для хранения данных следует использовать либо объемы докеров, либо приложение gP2S должно быть подключено к выделенным экземплярам баз данных (MyS’L и MongoDB). Контейнер сервера ApacheDS LDAP поставляется с заранее настроенным пользователем администратора (пароль: секрет). Эти учетные данные должны использоваться для входа в приложение gP2S при запуске в качестве службы Docker. Для производственных сред тот же файл docker-compose может быть использован для развертывания gP2S (и других контейнеров, если это необходимо), как услуги для платформы оркестровки контейнера Docker Swarm.
Полный процесс работы gP2S в качестве контейнера Docker, включая все сведения о надлежащей конфигурации, описан в репозитории gP2S GitHub и охватывает следующие темы:
Запуск докеризированного приложения gP2S со всеми зависимостями.
Доступ к приложению gP2S, базе данных и LDAP.
Обновление сервиса gP2S с новой версией.
Удаление приложения gP2S.
Настройка настойчивости данных.
Подключение докерного приложения gP2S к выделенным базам данных или серверу LDAP.
Детали конфигурации
Автономное java-приложение
Другим вариантом запуска приложения gP2S является создание самостоятельного пакета Java. Такой подход следует использовать, если запуск контейнеров Docker не возможен. Создание приложения gP2S требует установки версии Java Development Kit 8 или выше. Весь процесс сборки управляется инструментом Maven, который предоставляется в кодовой базе в репозитории GitHub. Конфигурация сборки подготовлена сначала для построения передней части, затем для копирования в источники бэкэнда, а затем для создания ее в качестве окончательного приложения. Таким образом, нет необходимости устанавливать какие-либо другие инструменты или библиотеки для подготовки полностью функционирующего пакета gP2S. По умолчанию результатом сборки является пакет JAR (хранится локально) и изображение Docker (нажатое на репозиторий, настроенный в файле Maven pom.xml). Важно помнить, что информация, необходимая для подключения к внешним системам (базам данных и серверу LDAP), должна быть предоставлена в надлежащем файле конфигурации до того, как пакет будет построен.
После создания пакета gP2S JAR он содержит всю информацию о зависимостях и конфигурации, необходимую для запуска приложения, включая сервер приложений Tomcat, на котором размещается система. Если пакет был построен с несколькими файлами конфигурации, он может работать в разных режимах без восстановления.
Репозиторий gP2S GitHub включает в себя полное описание процесса создания и запуска gP2S в качестве отдельного приложения и охватывает следующие темы:
Строительство gP2S с использованием инструмента Maven
Строительство и запуск со встроенными базами данных
Строительство и запуск с зависимостями, развернутыми в качестве контейнеров докеров
Строительство и запуск с выделенными базами данных
Настройка аутентификации
При правильном использовании gP2S помогает добиться надлежащего учета высококачественных метаданных путем обеспечения записи критических экспериментальных метаданных с использованием структурированных моделей данных и определенных словарей, но добавленная стоимость этого полностью реализуется только тогда, когда высокий уровень соответствия достигается в лаборатории. Вышеупомянутый протокол не охватывает, как этого достичь. Мы обнаружили, что эффективным методом правоприменения было за то, чтобы операторы микроскопов отказывались собирать данные о сетках, не зарегистрированных в gP2S. Это привело к очень быстрому соблюдению и заложило основу для появления в течение следующих месяцев большого количества подробных и точных экспериментальных деталей и корпоративной памяти. После нескольких месяцев использования значение корпуса метаданных, хранящихся в gP2S, стало настолько очевидным для большинства пользователей, что соответствие требованиям оставалось высоким без явного вмешательства.
Полное использование этой коллективной памяти требует, чтобы метаданные, хранящиеся в gP2S, были доступны внешним системам и легко связаны с экспериментальными данными (микрографами) и результатами (карты и модели). В вышеупомянутом протоколе не описывается, как интегрировать gP2S с другими системами информатики и обработки данных. Наиболее простыми являются потенциальные интеграции через бэкэнд REST API gP2S, которые не требуют каких-либо изменений gP2S. Например, каждый компьютер, контролирующий наши детекторы сбора данных, запускает скрипт, который периодически запрашивает конечную точку gP2S “getItemByMicroscope” под микроскопическим контроллером REST, чтобы проверить, продолжается ли сеанс микроскопии на микроскопии. Если это так, скрипт получает из gP2S соответствующее имя каталога хранения данных (как это настроено на странице Настройки, см. выше) и создает каталог на локальном устройстве хранения данных с помощью этого имени. Это обеспечивает систематическое наименование каталогов хранения данных и снижает риск ошибки из-за опечаток.
Хотя они были прокомментировано в источнике публичной версии gP2S, возможны также дальнейшие интеграции с использованием данных gP2S, потребляющих данные внешних систем. В нашей лаборатории развертывание gP2S интегрируется с системой управления проектами (i) так, чтобы каждый проект, настроенный в gP2S, мог быть связан с портфельным проектом всей компании, а метаданные из портфеля могли отображаться в gP2S; ii) система регистрации белка, с тем чтобы каждый белок, добавленный в gP2S, был связан с помощью идентификатора, хранящегося на месте, с полным набором записей, подробно описывающий происхождение белка, включаемые детали соответствующей молекулярной биологии, системы выражения и очистки; iii) небольшая система управления соединениями молекул, позволяющая gP2S отображать ключевую информацию о каждом лиганде, такую как его химическая структура. Изменения кода, необходимые для обеспечения этих интеграций, описаны в разделе “Интеграция” README-BUILD.md документа, доступного из репозитория gP2S (https://github.com/arohou/gP2S).
Текущая версия gP2S имеет ограничения, в первую очередь это чрезмерно упрощенная модель данных и интерфейс для осаждения структуры (модели). Это было намеренно оставлено в состоянии «голых кости» в выпущенной версии gP2S, потому что в настоящее время разрабатывается полноценная функция осаждения и проверки структуры вместе с поддержкой рентгеновской кристаллографии. Другим дизайнерским решением было не внедрять какие-либо привилегии или системы разрешений: все пользователи в gP2S имеют равный доступ к его функциям и данным. Это может сделать его плохим выбором для объектов, которые обслуживают группы пользователей с конкурирующими интересами и требованиями конфиденциальности, но не были проблемой для нашего объекта.
Разработка нашей собственной версии gP2S продолжается, и мы надеемся, что описанная здесь версия с открытым исходным кодом будет полезна другим криоэм-группам и что некоторые из них могут внести свой вклад в предложения или улучшения кода в будущем. Будущие высокомерные разработки могли бы, например, сосредоточиться на интеграции с лабораторным оборудованием (роботы для витрификации, электронные микроскопы), программным обеспечением (например, для сбора метаданных обработки изображений) и внешними общественными хранилищами (например, для облегчения осаждения структуры).
Систематический сбор высококачественных метаданных, включенный в результате регулярного использования gP2S в лаборатории и криоЭМ-центре, может оказать значительное положительное влияние на способность преследовать в судебном порядке несколько проектов параллельно в течение нескольких лет. По мере создания все большего общего и централизованного криоэм-групп и объектов мы ожидаем, что потребность в системах управления информацией, таких как gP2S, будет продолжать расти.
The authors have nothing to disclose.
Авторы благодарят всех остальных членов команды разработчиков gP2S, которые работали над проектом с момента его создания: Рафал Удзиэла, Сезари Кржижановски, Пшемыслав Станковский, Яцек Зимский, Петр Сучински, Каролина Пайюк, Эвут Ванден Эйден, Дамиан Мерзвински, Михал Войтковский, Петр Пикуса, Анна Сурдацка, Камиль Зучак и Артур Кусак. Мы также благодарим Раймонда Ха и Клаудио Сиферри за помощь в сборке команды и формировании проекта.