gP2S는 극저온 방제 실험을 추적하기 위한 웹 응용 프로그램입니다. 응용 프로그램을 설치하고 구성하는 데 필요한 단계와 마찬가지로 주요 기능이 설명되어 있습니다. 일단 구성되면 응용 프로그램을 사용하면 음극 및 극저온 실험과 관련된 메타데이터를 정확하게 기록할 수 있습니다.
극저온 전자 현미경검사(cryoEM)는 단백질 표적의 결정학이 항상 달성가능하지 않고 극저온EM이 구조 기반 리간드 설계를 지원하는 대체 수단을 제공하기 때문에 많은 약물 발견 프로젝트의 필수적인 부분이 되었습니다. 많은 수의 별개의 프로젝트를 처리하고 각 프로젝트 내에서 잠재적으로 많은 수의 리간드 단백질 공동 구조를 다룰 때, 정확한 기록을 빠르게 유지하는 것은 어려워집니다. 샘플 준비, 그리드 준비 및 현미경 단계를 포함하여 각 대상에 대해 많은 실험 파라미터가 조정됩니다. 따라서, 정확한 기록 보관은 장기적인 재현성을 가능하게 하고, 특히 다른 작업자가 cryoEM 워크플로우단계를 수행하는 경우 효율적인 팀워크를 용이하게 하는 데 매우 중요할 수 있습니다. 이러한 과제를 해결하기 위해 당사는 gP2S라고 불리는 극저온을 위한 웹 기반 정보 관리 시스템을 개발했습니다.
응용 프로그램은 샘플에서 최종 원자 모델에 이르기까지 프로젝트의 컨텍스트, 응용 프로그램에서 유지 관리되는 목록 또는 별도의 시스템에서 외부적으로 각 실험을 추적합니다. 소모품, 장비, 프로토콜 및 소프트웨어의 사용자 정의 제어 어휘는 cryoEM 워크플로우의 각 단계를 구조화된 방식으로 설명합니다. gP2S는 팀의 요구에 따라 독립형 제품으로 존재하거나 REST API를 프로젝트 관리 도구와 통합하거나, 단백질 또는 소분자 리간드의 생산을 추적하는 응용 프로그램 또는 데이터 수집 및 저장을 자동화하는 애플리케이션과 함께 더 광범위한 과학적 응용 분야의 일부가 될 수 있습니다. 사용자는 주요 실험 메타데이터 및 매개 변수 값을 포함하여 각 그리드 및 현미경 세션의 세부 정보를 등록할 수 있으며 각 실험 아티팩트(샘플, 그리드, 현미경 세션, 지도 등)의 계보가 기록됩니다. gP2S는 팀에 대한 정확한 기록 보관을 가능하게 하는 cryoEM 실험 워크플로 오거나이저 역할을 하며 오픈 소스 라이선스로 사용할 수 있습니다.
극저온EM 시설의 정보 관리
2014년부터 약 3개 제약회사를 포함한 전 세계2개첨단 시스템을 설치하여 전 세계 2개 에 설치된 냉동성 전자 현미경(cryoEM)1시설의 수가 폭발적으로 증가하고 있으며, 이는 신약 개발3에서극저온에 대한 역할이 증가하고 있음을 반영하고 있다. 이러한 시설의 임무와 데이터 추적 및 관리에 대한 요구 사항은4가다릅니다. 예를 들어, 일부 국가 cryoEM 센터는 EM 그리드 수신, 데이터 집합 수집 및 일부 자동화된 이미지 처리 후 구조 결정을 위해 사용자에게 데이터를 반환하는 요금이 부과됩니다. 이러한 시설에서는 그리드의 출처를 추적하고, 사용자 제안 또는 보조금과의 연관성, 그리드에서 데이터세트로의 혈통은 매우 중요하지만, 단백질 샘플의 정제 방법 또는 최종 구조 결정 과정과 같은 다른 요인은 관련성이 낮거나 전혀 관련이 있다. 현지 학술 시설과 같은 다른 시설에서는 각 최종 사용자가 자체 샘플 및 그리드를 준비하고, 현미경 검사를 수행하고, 원시 데이터를 관리하고, 결과를 처리하고 게시할 책임이 있습니다. 이 역할은 최종 사용자 또는 주 조사자가 수행하므로 이러한 시설의 메타데이터 추적이 엄격하게 필요하지 않습니다.
CryoEM 시설에서는 샘플, 그리드, 데이터 수집 및 처리 프로토콜의 처리 및 최적화, 결과(지도, 모델)는 많은 프로젝트에서 소수의 실무자 그룹에 중앙 집중화됩니다. 이를 통해 실험(메타) 데이터 관리에 문제가 있습니다. 원자 모델에서 그리드 준비 매개 변수 및 데이터 수집 프로토콜을 통해 단백질과 리간드의 정확한 정체성에 이르기까지 구조의 실험 적 계보를 정확하게 캡처하고 보존해야합니다. 이러한 메타데이터는 여러 인적 운영자가 사용할 수 있어야 합니다. 예를 들어, 이미지 처리를 하는 사람은 단백질의 생성이 사용되었고 이미징 매개 변수가 무엇인지 알아야 할 수도 있습니다. 자동화된 데이터 관리 데몬과 같은 정보학 시스템은 디렉터리 이름을 정확하고 체계적으로 할당하기 위해 현미경이 현재 데이터를 수집하고 있는 프로젝트를 식별해야 합니다.
cryoEM 시설을 지원하기 위해 여러 정보 관리 시스템을 사용할 수 있습니다. 아마도 그 중 가장 완벽한 전자 실험실 노트북의 기능을 결합 EMEN25,정보 관리 시스템, 비즈니스 프로세스 관리 도구의 일부 요소를 결합. 많은 싱크로트론에서 사용되는 ISPyB6은원래 결정예 촬영을 위한 엑스레이 빔라인을 지원하기 위해 제작되었으므로 이제 극저온 데이터 수집도 지원합니다. Scipion7은 이미지 처리 패키지를 중심으로 풍부하고 강력한 래퍼로, 사용자가 이미지 처리 워크플로우를 기록하고 공유 할 수 있습니다(예 : 공용 리포지토리 EMPIAR8,9)를통해, 또한 즉석 냉동 저온 데이터 처리를 가능하게하기 위해 ISPyB와 통합되어 있습니다.
여기서는 정제된 단백질과 소분자 리간드에서 최종 원자 모델에 이르는 워크플로우를 지원하기 위해 구축된 현대적이고 가벼운 극저온 정보 관리 시스템인 gP2S(제넨테크 단백질토렌토 구조)를 설명합니다.
gP2S 개요
gP2S는 cryoEM 랩 및 다중 프로젝트 시설에 대한 정확한 기록 보관을 용이하게 하는 사용자 친화적인 웹 기반 cryoEM 정보 관리 시스템입니다. 프로젝트, 장비, 소모품, 프로토콜, 샘플, 그리드, 현미경 검사세션, 이미지 처리 세션, 지도 및 원자 모델과 같은 관계 및 관련 메타데이터가 추적됩니다. 또한 사용자는 선택적으로 첨부 파일을 포함하여 무료 텍스트 주석을 추가하여 gP2S에 등록된 모든 엔터티의 풍부한 주석을 사용할 수 있습니다. 프런트 엔드는 터치 스크린 장치와 함께 사용을 용이하게하고 12.9″iPad Pros에서 광범위하게 테스트하여 샘플 및 그리드(그림 1)를준비하는 동안 실험실 벤치에서 gP2S를 사용할 수 있도록 설계되었으며 현미경, 이미지 처리 또는 기탁 모델을 작동 할 때 컴퓨터에서 사용할 수 있습니다. 프런트 엔드의 각 페이지는 가능한 경우 매개 변수를 미리 설정하여 수동 데이터 입력을 합리적인 기본 값으로 줄이는 것을 목표로 합니다.
gP2S의 백엔드에는 여러 REST API(RE프레젠 상태 전송 응용 프로그램 프로그래밍 인터페이스) 엔드포인트가 있어 gP2S를 기존 워크플로및 스크립트에 통합할 수 있습니다. 데이터 모델은 여러 그리드에 사용되는 샘플, 여러 현미경 세션의 데이터를 단일 데이터 처리 세션으로 병합하거나 여러 맵을 산출하는 데이터 처리 세션 과 같은 분기를 포함하여 음극 및 극저온 워크플로우를 정확하게 캡처할 수 있도록 설계되었습니다.
시스템 아키텍처
gP2S는 고전적인 3 계층 응용 프로그램(그림2)입니다. 이 모듈식 아키텍처에서 시스템은 각각 고유한 작업을 수행하는 세 개의 개별 계층으로 나뉘며, 각 레이어는 다른 계층과 독립적으로 교체 가능하거나 수정할 수 있습니다. (1) 프레젠테이션 계층(또는 프론트엔드)은 웹 브라우저(Chrome 및 Safari로 광범위하게 테스트됨)를 통해 사용자 액세스를 제공하며 워크플로 요소를 만들고 수정할 수 있으며(데이터 유효성 검사 포함) 실험 데이터를 개별 엔터티, 프로젝트 기반 목록 및 전체 워크플로 보고서로 표시합니다. (2) 서비스 계층(또는 백엔드)은 사용자 인터페이스와 스토리지 시스템 간의 중개 계층역할을 하며- 핵심 비즈니스 논리를 보유하고, 프런트엔드에서 사용하는 서비스 API를 노출하고, 사용자 인증을 위한 데이터 저장 및 LDAP(경량 디렉터리 액세스 프로토콜) 시스템과 통합하며, 외부 시스템과의 추가 통합을 위한 근거를 제공한다. (3) 지속성 계층(데이터 액세스)은 실험 데이터, 사용자 주석 및 파일 첨부 파일을 저장합니다.
핵심 기술 및 프레임워크
gP2S 애플리케이션의 개발, 구축 및 유지 관리를 용이하게 하기 위해 프로젝트에 여러 기술과 프레임워크가 사용되었습니다. 가장 중요한 것 들: Vue.js 2.4.210 프론트 엔드에 대 한 및 스프링 부트 1.311 포함 된 Tomcat 8 백엔드에 대 한 서버. 응용 프로그램은 MySQL 5.7 및 MongoDB 4.0.6 데이터베이스를 저장용으로 사용하고 LDAP12는 인증을 위해 사용합니다. 기본적으로 이러한 모든 구성 요소 부품이 하나의 응용 프로그램으로 배송되고 배포됩니다.
전체적으로 응용 프로그램은 직간접적으로 수백 개의 다른 라이브러리를 사용합니다. 가장 눈에 띄는 것 들은 표 1에나열 됩니다.
데이터 모델
3가지 유형의 엔터티는 gP2S 데이터모델(그림 3)에서구별될 수 있습니다( 예: 실험 중에 수집된 데이터와 관련된 워크플로 엔터티(예: 샘플 또는 현미경 세션); 모든 프로젝트에서 공통되는 데이터를 설명하는 장비 및 프로토콜 엔터티(예: 현미경 또는 진동 프로토콜); 시스템에서 지원 또는 기술적인 역할을 하는 다른 엔터티(예: 주석 또는 기본 값).
워크플로 데이터 트리의 루트는 프로젝트 엔터티입니다. 모든 프로젝트는 샘플 엔터티를 만들기 위한 블록인 여러 단백질 및/또는 리간드로 구성됩니다. 각 샘플은 여러 그리드를 만드는 데 사용할 수 있으며, 이는 현미경 검사법 세션당 하나의 그리드)에서 사용됩니다. 후자는 하나 이상의 맵을 생성할 수 있는 처리 세션에 할당됩니다. 트리의 마지막 엔터티는 하나 또는 여러 맵을 사용하여 만든 원자 모델입니다. 결과적으로 단백질에서 모델에 이르는 모든 워크플로 관련 엔터티는 항상 조상을 통해 특정 프로젝트에 바인딩됩니다. 이러한 설계는 프런트엔드 모듈또는 API를 사용하는 외부 시스템에서 쉽게 처리할 수 있는 데이터 집계를 만듭니다.
워크플로 데이터 외에도 그리드를 준비하는 동안 실험 또는 프로토콜에 사용되는 장비를 설명하는 엔터티가 있습니다. 이러한 엔터티를 정의하는 것은 그리드, 현미경 검사법 및 처리 세션과 같은 실험 워크플로 엔터티를 만들기 위한 전제 조건입니다.
“기타”로 명명된 마지막 데이터 엔터티 유형은 기술적 목적(예: 파일 첨부 파일 또는 기본 값)에 사용됩니다. 이 범주에는 워크플로 또는 장비/프로토콜 엔터티에 연결할 수 있는 주석 엔터티가 포함됩니다.
소프트웨어 가용성
gP2S의 오픈 소스 버전은 https://github.com/arohou/gP2S 아파치 라이센스 버전 2.026에서사용할 수 있습니다. gP2S를 실행하는 Docker 이미지는 https://hub.docker.com/r/arohou/gp2s 사용할 수 있습니다. gP2S의 폐쇄 소스 지점은 로슈 & 제넨테크에서 지속적인 개발 중입니다.
gP2S 응용 프로그램 실행
gP2S를 실행하는 방법에는 docker 컨테이너 또는 독립 실행형 Java 응용 프로그램이라는 두 가지 방법이 있습니다. 최적의 선택은 대상 배포 환경에 따라 달라집니다. 예를 들어 사용자의 특정 요구에 맞게 코드를 사용자 지정하거나 향상시키는 기능이 필요한 경우 전체 응용 프로그램을 먼저 다시 빌드해야 합니다. 이 경우 gP2S를 독립 실행형 응용 프로그램으로 실행하는 것이 좋습니다.
도커 컨테이너
gP2S 응용 프로그램으로 작업을 시작하는 가장 쉬운 방법은 Docker 서비스로 실행하는 것입니다. 이를 위해 전용 Docker 이미지가 Docker Hub 리포지토리(“https://hub.docker.com/r/arohou/gp2s”)에 준비되고 게시되었습니다. gP2S 이미지를 실행하는 것은 MySQL 및 MongoDB 데이터베이스및 LDAP 서버에 대한 액세스에 따라 달라집니다. 비프로덕션 환경의 경우 이러한 모든 종속성을 gP2S 응용 프로그램과 함께 다중 컨테이너 Docker 응용 프로그램으로 실행하는 것이 좋습니다. 이를 원활하게 하기 위해 최종 환경의 모든 필요한 구성을 포함하는 docker-compose 파일(https://github.com/arohou/gP2S/blob/master/docker-compose.yml)이 gP2S GitHub 리포지토리(https://github.com/arohou/gP2S)에 준비되고 제공됩니다. 다음 도커 이미지는 종속성입니다 : mysql27,mongodb28,apacheds29.
기본 구성에서는 Docker 컨테이너를 제거하면 저장된 모든 데이터, 엔터티 및 파일 첨부 파일이 모두 삭제됩니다. 데이터를 유지하려면 도커 볼륨을 사용하거나 gP2S 응용 프로그램을 전용 데이터베이스 인스턴스(MySQL 및 MongoDB)에 연결해야 합니다. 아파치DS LDAP 서버 컨테이너에는 미리 구성된 관리자 사용자(암호: 비밀)가 함께 제공됩니다. 이러한 자격 증명은 Docker 서비스로 실행될 때 gP2S 응용 프로그램에 로그인하는 데 사용해야 합니다. 프로덕션 환경의 경우 동일한 Docker 구성 파일을 사용하여 Docker Swarm 컨테이너 오케스트레이션 플랫폼에 서비스로 gP2S(및 필요한 경우 다른 컨테이너)를 배포할 수 있습니다.
gP2S를 Docker 컨테이너로 실행하는 전체 프로세스는 적절한 구성에 관한 모든 세부 정보를 포함하여 gP2S GitHub 리포지토리에 설명되어 있으며 다음 항목을 다룹니다.
• 모든 종속성을 가진 도커화된 gP2S 응용 프로그램을 실행합니다.
• gP2S 응용 프로그램, 데이터베이스 및 LDAP에 액세스합니다.
• 새로운 버전으로 gP2S 서비스를 업데이트합니다.
• gP2S 응용 프로그램을 제거합니다.
• 데이터 지속성 구성.
• 도커화된 gP2S 응용 프로그램을 전용 데이터베이스 또는 LDAP 서버에 연결합니다.
• 구성 세부 정보
독립 실행형 Java 응용 프로그램
gP2S 응용 프로그램을 실행하는 또 다른 옵션은 독립적 인 Java 패키지를 구축하는 것입니다. 이 방법은 Docker 컨테이너를 실행할 수 없는 경우 수행해야 합니다. gP2S 응용 프로그램을 빌드하려면 Java 개발 키트 버전 8 이상을 설치해야 합니다. 전체 빌드 프로세스는 GitHub 리포지토리의 코드베이스에 제공되는 메이븐 도구에 의해 관리됩니다. 빌드 구성은 프론트 엔드 부품을 먼저 빌드한 다음 백엔드 소스에 복사한 다음 최종 응용 프로그램으로 빌드할 준비가 되어 있습니다. 이렇게 하면 완전히 작동하는 gP2S 패키지를 준비하기 위해 다른 도구 나 라이브러리를 설치할 필요가 없습니다. 기본적으로 빌드 결과는 JAR 패키지(로컬로 저장됨) 및 Docker 이미지(Maven pom.xml 파일에 구성된 리포지토리로 푸시됨)입니다. 패키지를 빌드하기 전에 외부 시스템(데이터베이스 및 LDAP 서버)에 연결하는 데 필요한 정보를 적절한 구성 파일에 제공해야 한다는 점을 기억하는 것이 중요합니다.
gP2S JAR 패키지가 만들어지면 시스템을 호스팅하는 Tomcat 응용 프로그램 서버를 포함하여 응용 프로그램을 실행하는 데 필요한 모든 종속성 및 구성 정보가 포함되어 있습니다. 패키지가 여러 구성 파일로 빌드된 경우 다시 빌드하지 않고 다른 모드에서 실행할 수 있습니다.
gP2S GitHub 리포지토리에는 gP2S를 독립 실행형 응용 프로그램으로 빌드하고 실행하는 프로세스에 대한 완전한 설명이 포함되어 있으며 다음 항목을 다룹니다.
• 메이븐 도구를 사용하여 gP2S 구축
• 임베디드 데이터베이스로 빌드 및 실행
• Docker 컨테이너로 배포된 종속성을 기반으로 빌드 및 실행
• 전용 데이터베이스로 빌드 및 실행
• 인증 구성
gP2S를 적절하고 일관되게 사용하면 구조화 된 데이터 모델과 정의 된 어휘를 사용하여 중요한 실험 메타데이터의 기록을 적용하여 고품질 메타데이터의 적절한 기록을 유지하는 데 도움이되지만 이 것의 부가 가치는 실험실에서 높은 수준의 규정 준수가 달성 될 때만 완전히 실현됩니다. 위의 프로토콜은 이를 달성하는 방법을 다루지 않습니다. 우리는 효과적인 집행 기술이 현미경 운영자가 gP2S에 등록되지 않은 그리드에 대한 데이터를 수집하는 것을 거부하는 것으로 나타났습니다. 이로 인해 규정 준수가 매우 빠르게 향상되었고 다음 달에 걸쳐 상세하고 정확한 실험 세부 사항과 기업 메모리의 큰 몸체가 출현할 수 있는 토대를 마련했습니다. 몇 달 동안 사용하면 gP2S에 저장된 메타데이터 모음의 값이 대부분의 사용자에게 명백해졌기 때문에 명시적 개입 없이 규정 준수가 높게 유지되었습니다.
이 집단 메모리를 완전히 활용하려면 gP2S에 저장된 메타데이터에 외부 시스템에 액세스할 수 있어야 하며 실험 데이터(micrographs) 및 결과(지도 및 모델)와 쉽게 연결될 수 있습니다. 위의 프로토콜은 gP2S를 다른 정보학 및 데이터 처리 시스템과 통합하는 방법을 설명하지 않습니다. 가장 간단하면 gP2S의 백엔드 REST API를 통한 잠재적 통합으로, gP2S를 수정할 필요가 없습니다. 예를 들어, 데이터 수집 감지기를 제어하는 각 컴퓨터는 현미경 세션 관리 REST 컨트롤러에서 gP2S의 끝점 “getItemByMicroscope”를 주기적으로 쿼리하는 스크립트를 실행하여 현미경 검사기 세션이 현미경으로 진행 중인지 확인합니다. 이 경우 스크립트는 gP2S에서 적절한 데이터 저장소 디렉터리 이름(설정 페이지에서 구성된 대로 위 참조)을 검색하고 이 이름을 사용하여 로컬 데이터 저장 장치에 디렉토리를 만듭니다. 이렇게 하면 데이터 저장소 디렉터리의 체계적인 이름을 지정하고 오타로 인한 오류 위험을 줄일 수 있습니다.
공용 버전의 gP2S소스에 주석이 달았지만 외부 시스템의 데이터를 소비하는 gP2S와 관련된 추가 통합도 가능합니다. 당사의 실험실에서 gP2S를 배포하는 것은 (i) 프로젝트 관리 시스템과 통합되어 gP2S로 구성된 각 프로젝트를 회사 전체 포트폴리오 프로젝트에 연결할 수 있으며 포트폴리오의 메타데이터를 gP2S 내에 표시할 수 있습니다. (ii) 단백질 등록 시스템은, gP2S에 추가된 각 단백질이 연결되도록, 국소에 저장된 식별자를 통해, 단백질의 출처를 자세히 설명하는 기록의 완전한 집합에, 관련 분자 생물학, 발현 시스템 및 정제의 세부 사항을 포함한다; (iii) gP2S가 화학 구조와 같은 각 리간드에 대한 주요 정보를 표시할 수 있도록 하는 작은 분자 화합물 관리 시스템. 이러한 통합을 활성화하는 데 필요한 코드 수정은 gP2S 리포지토리(https://github.com/arohou/gP2S)에서 사용할 수 있는 README-BUILD.md 문서의 “통합” 섹션에 설명되어 있습니다.
gP2S의 현재 버전에는 제한이 있으며, 그 중 하나는 지나치게 단순한 데이터 모델과 구조 (모델) 증착을위한 프런트 엔드입니다. 본격적인 구조 증착 및 유효성 검사 기능이 현재 X 선 결정학에 대한 지원과 함께 개발 중이기 때문에 이것은 gP2S의 출시 된 버전에서 “베어본”상태로 의도적으로 남아 있었습니다. 또 다른 설계 결정은 권한 또는 권한 시스템을 구현하지 않는 것이었습니다: gP2S의 모든 사용자는 해당 기능 및 데이터에 대해 동일한 액세스 권한을 갖습니다. 이로 인해 관심 과대 금과 기밀 유지 요구 사항이 있는 사용자 그룹에 서비스를 제공하는 시설에 는 좋지 않은 선택이 될 수 있지만 시설에 대한 우려는 없습니다.
gP2S의 사내 버전의 개발이 진행 중이며 여기에 설명된 오픈 소스 버전이 다른 cryoEM 그룹에 유용할 것이며 일부는 향후 제안 또는 코드 개선에 기여할 수 있기를 바랍니다. 미래의 고부가가치 개발은 예를 들어 실험실 장비(진동 로봇, 전자 현미경), 소프트웨어(예: 이미지 처리 메타데이터 수확) 및 외부 공용 저장소(예: 구조 기탁 촉진)와의 통합에 초점을 맞출 수 있습니다.
실험실 및 cryoEM 시설에서 gP2S를 일상적으로 사용하여 활성화된 고품질 메타데이터를 체계적으로 수집하면 수년 동안 여러 프로젝트를 병렬로 기소하는 기능에 상당한 긍정적인 영향을 미칠 수 있습니다. 점점 더 많은 공유 및 중앙 집중식 극저온 그룹 및 시설이 구축됨에 따라 gP2S와 같은 정보 관리 시스템의 필요성이 계속 커질 것으로 예상됩니다.
The authors have nothing to disclose.
저자는 창립 이래 프로젝트에 참여한 gP2S 개발 팀의 다른 모든 구성원들에게 감사를 표합니다: 라파우 우지엘라, 세질리 크자우아노프스키, 프제미스와프 스탠코프스키, 자크 지엠스키, 피오트르 수시키, 카롤리나 파즈크, 이우트 반덴 에이든, 다미안 미에르즈비엔스키, 미하와우우트코프스키, 피오트르 피쿠사, 안나 수르다카, 카밀 와우자크, 아르투르 쿠사크. 레이몬드 하와 클라우디오 시페리가 팀을 구성하고 프로젝트를 구성할 수 있도록 도와준 것에 대해서도 감사드립니다.